CANN/oam-tools PyTorch性能采集教程

发布时间:2026/6/6 14:35:42

CANN/oam-tools PyTorch性能采集教程 04_pyTorch —— torch_npu.profiler API 采集【免费下载链接】oam-tools本项目为开发者提供故障定位工具包含故障信息收集软硬件信息展示AI core error报错分析等能力提升故障问题定位效率文档可在昇腾社区搜索“故障处理简介”选择社区版。项目地址: https://gitcode.com/cann/oam-tools本环境运行状态已实跑。按下方步骤跑run.sh即可在本地生成性能数据。这种方式是什么在代码里用torch_npu.profiler.profile插桩白盒采集。 相比 CLI01API 能精确圈定第 N~M step、拿到 aten op 级耗时、Python 调用栈 并额外产出 CLI 没有的step_trace_time.csv每 step Computing/Free 占比。文件文件作用src/model_with_profiler.py同一个 TinyMLP profiler 插桩run.sh采集脚本跑完打印 kernel Top step 拆分跑bash run.sh # 默认 device 7如何用到你的模型替换src/model_with_profiler.py里的build_model()和输入x均标了 ← 注释。训练循环则把forward backward optimizer.step()放进with prof:块内 每 step 末尾调prof.step()用schedule(wait/warmup/active)圈定要采的 step。采集配置不用动直接bash run.sh 7。实测结果910B3 上的示例输出换成你的模型后重点看step_trace_time.csv的 Computing:Free——它告诉你 是算力不够Computing 高还是 host 下发拖后腿Free 高。算子聚合op_statistic.csv—— 与 CLI 高度一致验证两种方式自洽OP TypeCore TypeCountTotal(us)RatioCLI 对照MatMulV2AI_CORE20136.5078.30%77.88%GeluAI_VECTOR_CORE1537.8221.70%21.45%step 拆分step_trace_time.csvAPI 独有StepComputing(us)Free(us)解读335.642214.72Computing : Free ≈ 1 : 62534.402113.74≈ 1 : 61735.521384.98≈ 1 : 39关键洞察NPU 实际计算每 step 仅 ~35us但 Free等待 host 下发高达 ~2000us 是典型的host bound——TinyMLP 太小host 下发开销完全盖过了计算。 这正是 API 模式相对 CLI 的价值CLI 只告诉你「MatMul 占 78%」 API 进一步告诉你「整个 step 99% 时间在等 host」。host 下发 Topapi_statistic.csvAPI NameTime(us)CountAvg(us)aclnnAddmm259.562012.98aclrtLaunchKernelWithHostArgs229.12356.55aclnnGelu200.511513.37【免费下载链接】oam-tools本项目为开发者提供故障定位工具包含故障信息收集软硬件信息展示AI core error报错分析等能力提升故障问题定位效率文档可在昇腾社区搜索“故障处理简介”选择社区版。项目地址: https://gitcode.com/cann/oam-tools创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻