当前位置: 首页 > article >正文

CANN/ops-cv仿真工具使用指南

简介【免费下载链接】ops-cv本项目是CANN提供的图像处理、目标检测相关的算子库实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-cvCANN Simulator是一款面向算子开发场景的SoC级芯片仿真工具用于分析运行在AI仿真器上的AI任务在各阶段的精度和性能数据如指令执行情况等。该工具有助于用户进行深度性能调优使研发人员在无法获取或芯片资源紧缺的情况下也能获得与真实芯片几乎一致的验证效果和性能反馈。主要功能该工具与板上运行保持二进制兼容同一 kernel可同时在仿真和AI处理器执行主要用途如下精度仿真输出bit级精度结果协助用户完成算子的精度验证。性能仿真输出指令流水图协助用户定位算子性能瓶颈问题。使用前准备使用约束工具推荐环境配置CPU 16核内存32GB以上。本文中举例路径均需要确保运行用户具有读或读写权限。出于安全性和权限最小化考虑建议使用普通用户权限执行本工具避免使用root等高权限账户。本工具依赖CANN软件包在使用前请先安装CANN软件包无需安装驱动和固件并通过source命令执行CANN的set_env.sh环境变量文件。为确保安全执行source命令后请勿修改set_env.sh中涉及的环境变量。用户应遵循最小权限原则例如给工具输入的文件要求other用户不可写在一些对安全要求更严格的功能场景下还需确保输入的文件group用户不可写。本工具为开发工具不建议在生产环境使用。工具的仿真功能仅支持单卡场景无法仿真多卡环境代码中只能设置为0卡。若修改可见卡号将导致仿真失败。仿真环境仅支持AI Core计算类算子不支持MC2和HCCL类型的算子。CANN Simulator工具目前处于尝鲜版本阶段仅支持Ascend950PR芯片建议仿真器运行环境配置为16核CPU和32GB以上内存。目前不支持arm环境仿真。环境准备CANN Simulator集成在CANN toolkit包里参考环境部署完成软件包的安装快速开始下面以add_examples为例对算子仿真进行详细说明算子编译参考算子调用完成add_example的算子编译和安装# 说明进入项目根目录执行如下编译命令命令仅供参考详细可以查看算子调用的说明。 bash build.sh --pkg --socAscend950 --vendor_namecustom --opsadd_example # 安装自定义算子包 ./build_out/cann-ops-cv-${vendor_name}_linux-${arch}.run参考aclnn调用完成test_aclnn_add_example.cpp的编译编出可执行文件test_aclnn_add_example执行仿真命令cannsim record ./test_aclnn_add_example -s Ascend950 --gen-report仿真工具执行日志文件在examples/add_example/examples/build/bin/cannsim_*目录执行日志文件为 cannsim.log。从仿真工具日志文件可以看到示例中的打印信息add_example first input[0] is: 1.000000, second input[0] is: 1.000000, result[0] is: 2.000000 add_example first input[1] is: 1.000000, second input[1] is: 1.000000, result[1] is: 2.000000 add_example first input[2] is: 1.000000, second input[2] is: 1.000000, result[2] is: 2.000000 add_example first input[3] is: 1.000000, second input[3] is: 1.000000, result[3] is: 2.000000 add_example first input[4] is: 1.000000, second input[4] is: 1.000000, result[4] is: 2.000000 add_example first input[5] is: 1.000000, second input[5] is: 1.000000, result[5] is: 2.000000 add_example first input[6] is: 1.000000, second input[6] is: 1.000000, result[6] is: 2.000000查看性能流水仿真性能流水文件在本项目examples/add_example/examples/build/bin/cannsim_*/report目录流水相关文件为trace_core0.json在Chrome浏览器中输入“chrome://tracing”地址并将生成的指令流水图文件trace_core0.json拖到空白处打开具体参数介绍参考“仿真结果解析”章节。仿真执行说明命令功能在仿真环境中执行应用程序。命令格式cannsim record [options] user_app --user-options参数说明表1 仿真执行参数说明参数可选/必选说明-s 或 --soc-version [options]参数必选指定模拟目标芯片版本如Ascend950。-o 或 --output [options]参数可选生成文件所在路径可配置为绝对路径或者相对路径并且执行工具的用户需要具有读写权限。如果未指定路径则默认在当前目录下保存数据。-g 或 --gen-report [options]参数可选启用仿真完成后是否进行自动解析并生成分析报告。默认不自动解析。user_app必选算子可执行文件。--user-options可选算子可执行文件的运行参数。使用示例完成算子开发和编译。执行仿真命令可参考以下使用示例方式一 启用仿真并将输出保存至 ./output 目录/path/to/app 为算子程序 $ cannsim record /path/to/app -o ./output -s Ascend950 方式二启用仿真并生成报告用于后续性能分析 $ cannsim record /path/to/app -o ./output -s Ascend950 --gen-report命令完成后会在默认路径或指定的“output”目录下生成以“cannsim_{timestamp}_${user_app}”命名的文件夹结构示例如下├─cannsim_{timestamp}_${user_app} ├── cannsim.log用户可以获取算子执行结果并进行精度的对比结果展示在cannsim.log示例如下以下输出仅为Ascend C单算子直调精度比较结果举例因版本不同略有差异请以实际输出为准。INFO:root:[INFO] compare data case[ case001] INFO:root:---------------RESULT--------------- INFO:root:[case_name, wrong_num, total_num, result, task_duration] INFO:root:[ case001, 0, 65536, Success]查看算子指令流水图参考仿真结果解析。仿真结果解析说明命令功能生成可视化的指令流水图。命令格式cannsim report [options]参数说明表1 仿真结果解析参数说明参数可选/必选说明-e 或 --export [options]参数必选原始结果文件目录需指定为仿真执行后生成的结果目录指定到cannsim_{timestamp}_${user_app}层可配置为绝对路径或者相对路径并且工具执行用户具有可读写权限。-o 或 --output [options]参数可选解析结果输出目录可配置为绝对路径或者相对路径且执行用户需具有读写权限。若未指定路径默认在当前目录下保存数据。如果生成的结果文件与现有文件同名则会覆盖原有文件。-n 或 --core-id [options]参数可选指定生成指令流水的核ID不指定默认生成0核的指令流水。配置的格式如下生成所有核的流水配置为‘all’。指定核ID的范围如‘0-1’。指定单核ID如‘5’。使用示例参考仿真执行执行算子仿真对比输出示例确保对应的结果执行正确。执行仿真结果解析命令可参考以下执行用例。在当前目录下生成性能分析报告默认仅分析核0 cannsim report -e /path/to/cannsim_{timestamp}_${user_app} 在指定目录下生成核0、核1、核11、核12的性能分析报告 cannsim report -e /path/to/cannsim_{timestamp}_${user_app} -o /path/to/report -n 0-1, 11-12命令执行完后会在output配置的目录下生成对应的流水文件文件格式为json格式输出结果示例如下trace_core0.json trace_core1.json ...仿真结果查看 在Chrome浏览器中输入“chrome://tracing”地址并将生成的指令流水图文件trace.json拖到空白处打开键盘上输入快捷键W放大S缩小A左移D右移可进行查看。表2 关键字段说明字段名字段含义VECTOR向量运算单元。SCALAR标量运算单元。Cube矩阵乘运算单元。MTE1数据搬运流水数据搬运方向为L1 -{L0A/L0B, UBUF}。MTE2数据搬运流水数据搬运方向为{DDR/GM, L2} -{L1, L0A/B, UBUF}。MTE3数据搬运流水数据搬运方向为UBUF - {DDR/GM, L2, L1}、L1-{DDR/L2}。FIXP数据搬运流水数据搬运方向为FIXPIPE L0C - OUT/L1。FLOWCTRL控制流指令。ICACHELOAD查看未命中的ICache。查询帮助信息命令功能查询工具帮助信息。命令格式查询工具帮助信息cannsim --help查询工具 record 子命令的帮助信息cannsim record --help查询工具 report 子命令的帮助信息cannsim report --help参数说明无使用示例登录Host侧服务器。执行以下命令。cannsim --help输出说明usage: cannsim [-h] {record,report} ... Command-line tool for performance simulation analysis on Ascend hardware. positional arguments: {record,report} Available commands record Run user application in AscendOps simulation environment report Generate performance analysis reports options: -h, --help show this help message and exit【免费下载链接】ops-cv本项目是CANN提供的图像处理、目标检测相关的算子库实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-cv创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关文章:

CANN/ops-cv仿真工具使用指南

简介 【免费下载链接】ops-cv 本项目是CANN提供的图像处理、目标检测相关的算子库,实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-cv CANN Simulator是一款面向算子开发场景的SoC级芯片仿真工具,用于分析运行在AI仿真器上的…...

Atom编辑器终极中文汉化指南:告别英文困扰,轻松打造专属编程环境

Atom编辑器终极中文汉化指南:告别英文困扰,轻松打造专属编程环境 【免费下载链接】atom-simplified-chinese-menu Atom 的简体中文汉化扩展,目前最全的汉化包。包含菜单汉化、右键菜单汉化以及设置汉化 项目地址: https://gitcode.com/gh_mirrors/at/a…...

Video DownloadHelper CoApp终极指南:轻松下载网络视频的完整教程

Video DownloadHelper CoApp终极指南:轻松下载网络视频的完整教程 【免费下载链接】vdhcoapp Companion application for Video DownloadHelper browser add-on 项目地址: https://gitcode.com/gh_mirrors/vd/vdhcoapp Video DownloadHelper CoApp是一款功能…...

【Pocket Flow】源码剖析(二):批量与异步——BatchNode、AsyncNode 与并行执行

【Pocket Flow】源码剖析(二):批量与异步——BatchNode、AsyncNode 与并行执行 写在前面:第一篇我们拆解了 Pocket Flow 的三大核心抽象——Node、Flow 和 Shared Store,理解了 100 行代码的骨架。今天,我们…...

CANN ops-nn ELU梯度算子

EluGrad 【免费下载链接】ops-nn 本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-nn 📄 查看源码 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/A…...

从接入到观测Taotoken为开发者提供了完整的使用体验

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 从接入到观测:Taotoken为开发者提供了完整的使用体验 对于开发者而言,选择一个模型服务平台,其…...

多中心COVID-19 CT分类的异构集成方法解析

1. 项目概述:多中心COVID-19 CT分类的异构集成方法在医疗影像分析领域,COVID-19的快速准确诊断一直是临床实践中的关键挑战。传统的RT-PCR检测虽然作为金标准,但其较长的周转时间(通常需要48-72小时)和高达30%的假阴性…...

差分编码在40Gbps光通信中的实现与优化

1. 差分编码的核心原理与工程价值差分编码作为数字通信系统的基石技术,其数学本质是模2加法运算的链式反应。给定输入比特序列d_k,输出编码序列c_k满足递归关系:c_k c_{k-1} ⊕ d_k。这个看似简单的公式却解决了通信工程中的关键难题——相位…...

pi0机器人VLA大模型昇腾推理优化

pi0机器人VLA大模型推理昇腾迁移-性能优化说明 【免费下载链接】cann-recipes-embodied-intelligence 本项目针对具身智能业务中的典型模型、加速算法,提供基于CANN平台的优化样例 项目地址: https://gitcode.com/cann/cann-recipes-embodied-intelligence pi…...

如何用FastbootEnhance轻松管理Android设备:Windows终极图形化工具箱指南

如何用FastbootEnhance轻松管理Android设备:Windows终极图形化工具箱指南 【免费下载链接】FastbootEnhance A user-friendly Fastboot ToolBox & Payload Dumper for Windows 项目地址: https://gitcode.com/gh_mirrors/fa/FastbootEnhance 还在为复杂的…...

3步掌握鼠标键盘自动化神器,彻底告别重复劳动

3步掌握鼠标键盘自动化神器,彻底告别重复劳动 【免费下载链接】KeymouseGo 类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入 | automate mouse clicks and keyboard input 项目地址: https://gitcode.com/gh_mirrors/ke/KeymouseGo 你是否厌倦了每天…...

AI 术语通俗词典:导数

导数是微积分、机器学习、深度学习和人工智能中非常基础的一个术语。它用来描述:当一个输入变量发生微小变化时,函数输出会怎样变化。 换句话说,导数是在回答:如果把输入稍微往前推一点,结果会变大、变小,还…...

深度解析 MCP 协议:如何通过 Model Context Protocol 实现 AI Agent 的工具调用标准化

深度解析 MCP 协议:如何通过 Model Context 协议实现 AI Agent 的工具调用标准化 摘要: 随着大语言模型(LLM)能力的飞速提升,如何让 AI 能够更安全、更高效地访问外部工具和数据成为了 AI Agent 领域的核心挑战。Model…...

开源AI智能眼镜开发实战:OpenVision项目架构与集成指南

1. 项目概述:当智能眼镜遇见开源AI大脑如果你和我一样,对Meta Ray-Ban智能眼镜的硬件设计爱不释手,却又对Meta AI的封闭生态和功能限制感到束手束脚,那么OpenVision这个项目,可能就是你在寻找的“终极解药”。简单来说…...

市场热门的台式离子风机公司

开篇:定下基调随着半导体、电子制造、生物医药等行业对生产环境静电控制要求日益严苛,台式离子风机作为桌面工位、小型生产线核心的静电消除设备,其性能直接影响产品良品率与生产效率。为帮助消费者精准选择适合的产品,我们针对市…...

5分钟快速上手:Windows离线实时字幕工具TMSpeech完全指南

5分钟快速上手:Windows离线实时字幕工具TMSpeech完全指南 【免费下载链接】TMSpeech 腾讯会议摸鱼工具 项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech 还在为会议记录而烦恼吗?是否经常因为网络不稳定而无法使用云语音识别服务&#xff…...

Hermes Agent工具接入Taotoken聚合平台的具体配置步骤详解

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Hermes Agent工具接入Taotoken聚合平台的具体配置步骤详解 本教程将逐步演示如何将 Hermes Agent 工具的后端切换至 Taotoken 平台…...

一键切换Claude Code AI引擎:GLM、订阅版、API与本地模型自由切换

1. 项目概述:一键切换Claude Code的四种AI引擎 如果你和我一样,日常重度依赖Cursor或者VSCode的Claude Code插件来写代码,那你肯定遇到过这个痛点:有时候想用Claude官方订阅版,有时候想用更便宜的GLM代理,…...

从1982年智能仪器到现代数字万用表:设计演进与选型实践

1. 项目概述:一次关于智能仪器与数字万用表的深度回溯如果你是一位电子工程师,或者任何需要和电路、信号打交道的人,你的工作台上、实验室的机架里,甚至生产线上,最不可或缺、最沉默寡言的伙伴是什么?十有八…...

CANN/asc-tools msobjdump样例

msobjdump样例 【免费下载链接】asc-tools Ascend C Tools仓是CANN基于Ascend C编程语言推出的配套调试工具仓。 项目地址: https://gitcode.com/cann/asc-tools 概述 本样例基于MatmulLeakyRelu算子,演示融合编译场景下msobjdump工具的使用方式。样例通过编…...

证书链技术与ADAC安全调试协议详解

1. 证书链技术原理与信任传递机制1.1 非对称加密基础证书链技术的核心依赖于非对称加密算法体系。典型实现中,ECDSA(椭圆曲线数字签名算法)和RSA是最常用的两种方案。以ECDSA P-256为例,其采用256位素数域上的椭圆曲线&#xff0c…...

性价比高的芯片老化座哪家公司好?

芯片作为电子设备的核心组件,其质量和性能直接关系到整个产品的稳定性与可靠性。因此,芯片老化座的选择显得尤为重要。那么,在市场上琳琅满目的品牌中,哪家公司的芯片老化座性价比最高呢?本文将为您详细介绍深圳市鸿怡…...

# 026 Agent 的文件处理:PDF、Excel、图片、音频的解析与生成

一、从一次线上事故说起 去年冬天凌晨两点,我被值班电话吵醒。客户那边一个自动化报表Agent跑崩了,日志里只有一行:MemoryError: cannot fit int into an index-sized integer。查了半天,发现是Agent在处理一个300MB的Excel文件时…...

桶排序、堆排序、奇偶排序、计数排序、阿坤老师的独特瓷器、封闭图形个数、二进制王国【算法赛】

桶排序import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Collections; import java.util.LinkedList;public class Main {static int N100010,idx;//res0;static String s[]new String[N];static boolean num[…...

#24 Agent 的浏览器自动化:Playwright、Selenium 与网页交互

从一次凌晨三点的事故说起 去年冬天,我负责的一个自动化脚本在凌晨三点突然崩了。日志里只有一行:ElementClickInterceptedException。点一个“确认”按钮,被一个弹窗遮住了。Selenium 的 WebDriverWait 等了十秒,弹窗刚好在点击前…...

免费文本挖掘神器KH Coder:三步掌握多语言内容分析技巧

免费文本挖掘神器KH Coder:三步掌握多语言内容分析技巧 【免费下载链接】khcoder KH Coder: for Quantitative Content Analysis or Text Mining 项目地址: https://gitcode.com/gh_mirrors/kh/khcoder 面对海量文本数据不知从何入手?想从用户评论…...

CANN具身智能优化样例

CANN Recipes for Embodied Intelligence 【免费下载链接】cann-recipes-embodied-intelligence 本项目针对具身智能业务中的典型模型、加速算法,提供基于CANN平台的优化样例 项目地址: https://gitcode.com/cann/cann-recipes-embodied-intelligence &#…...

如何10分钟快速搭建Sunshine游戏串流服务器:完整实战指南

如何10分钟快速搭建Sunshine游戏串流服务器:完整实战指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine是一款开源的自托管游戏串流服务器,专为M…...

抖音批量下载工具:5分钟搞定无水印内容保存

抖音批量下载工具:5分钟搞定无水印内容保存 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音批…...

解锁全平台直播录制:DouyinLiveRecorder让你永不错过精彩瞬间

解锁全平台直播录制:DouyinLiveRecorder让你永不错过精彩瞬间 【免费下载链接】DouyinLiveRecorder 可循环值守和多人录制的直播录制软件,支持抖音、TikTok、Youtube、快手、虎牙、斗鱼、B站、小红书、pandatv、sooplive、flextv、popkontv、twitcasting…...