CANN msProf性能调优实战3步快速定位软硬件瓶颈的完整指南【免费下载链接】docs该仓库用于维护cann公共文档项目地址: https://gitcode.com/cann/docsCANN msProf 性能调优工具是昇腾 AI 处理器官方的一站式 Profiling 采集工具可自动采集、解析并导出 AI 任务各阶段的关键性能指标帮助新手和开发者快速定位软硬件性能瓶颈是提升模型推理与训练效率的必备利器。 一图看懂 msProfCANN 性能调优的通用选择msProf 是 CANN 官方推荐的通用场景性能调优命令行工具一次采集即可覆盖算子耗时、API 耗时、任务调度、迭代轨迹等完整数据并自动完成解析与导出。不同采集工具的适用场景对照如下采集工具适用场景特点msProf通用场景命令行工具提供完整的性能数据采集能力数据类型最全msPTI通用场景接口式工具可集成到各种框架的推理和训练场景msServiceProfilerMindIE Service 推理服务化场景采集关键过程时间点支持性能问题快速定界框架 ProfilerPyTorch / MindSpore / TensorFlow对应框架场景采集框架层数据需在 AI 框架编程时调用 Profiling 接口msProf 的能力边界不支持采集 Python 调用栈、PyTorch 或 MindSpore 框架层数据这部分需使用对应框架的 Profiling 接口。各工具选型详情可查阅 performance tuning tool overview。 一键采集 CANN 性能数据完整操作步骤msProf 支持采集、解析、导出一键完成无需手动拼接配置。只需登录装有 CANN Toolkit 软件包的环境执行一条命令msprof --output/home/HwHiAiUser/profiling_output /home/HwHiAiUser/HIAI_PROJECTS/MyAppname/out/main参数说明参数描述可选/必选--output收集到的 Profiling 数据的存放路径默认为 AI 任务文件所在目录可选⚠️注意--output路径中不能包含特殊字符\n、\f、\r、\b、\t、\v、\u0007F。命令执行完成后会在--output指定目录下自动生成PROF_*目录包含原始数据与自动解析后的性能数据├── device_{id} // 保存原始数据用户无需关注 │ └── data └── mindstudio_profiler_output ├── msprof_{timestamp}.json ├── step_trace_{timestamp}.json ├── xx_*.csv ... └── README.txt你只需要关注mindstudio_profiler_output目录里面就是解析后的全部性能数据。 读懂 9 个性能数据文件每个文件能帮你分析什么默认配置下msProf 会自动采集以下性能数据文件_后为{timestamp}时间戳文件名说明msprof_*.jsontimeline 数据总表step_trace_*.json迭代轨迹数据每轮迭代的耗时单算子场景下无此文件op_summary_*.csvAI Core 和 AI CPU 算子数据op_statistic_*.csvAI Core 和 AI CPU 算子调用次数及耗时统计step_trace_*.csv迭代轨迹数据单算子场景下无此文件task_time_*.csvTask Scheduler 任务调度信息fusion_op_*.csv模型中算子融合前后信息单算子场景下无此文件api_statistic_*.csvCANN 层 API 执行耗时信息prof_rule_0_*.json调优建议 定位性能瓶颈实战3 个高价值分析技巧数据文件众多无需逐个死磕。以下 3 个文件覆盖了绝大多数性能瓶颈定位场景技巧 1用时间线总表msprof_*.json看清全貌在 Chrome 浏览器地址栏输入chrome://tracing将 json 文件拖入空白处即可打开快捷键w 放大、s 缩小、a 左移、d 右移。时间线数据分为 3 个关注区域区域 1CANN 层数据—— 包含 Runtime 等组件以及 Node算子的耗时数据区域 2底层 NPU 数据—— 包含 Ascend Hardware 下各个 Stream 任务流的耗时数据和迭代轨迹数据区域 3详情面板—— 单击 timeline 色块即可查看各算子、接口的详细信息。分析思路先从时间线找出耗时较长的 API、算子、任务流沿箭头追踪下发关系定位底层具体耗时的任务再结合 CSV 文件做量化确认。技巧 2用算子统计op_statistic_*.csv找出耗时大户该文件统计各类算子的调用总次数与总耗时。按Total Time字段排序即可快速发现哪类算子总耗时最长从而判断该类算子是否有优化空间如融合、替换、降精度。技巧 3用算子明细op_summary_*.csv锁定单个高耗时算子op_summary_*.csv记录每个算子的详细信息与耗时。两种用法按Task Duration字段排序 → 直接找出耗时最长的算子按Task Type字段排序 → 区分 AI Core 与 AI CPU 两类核查看不同核上的高耗时算子。 进阶善用 prof_rule_*.json 自动调优建议prof_rule_0_*.json文件是 msProf 基于采集数据自动生成的调优建议例如识别到算子间存在空闲、可融合的算子组合等。新手可直接按建议逐条验证资深工程师可将其作为排查线索的起点显著缩短性能调优周期。⚠️ 常见疑问与使用边界采集对业务有影响吗Profiling 会引入少量开销建议在独立调优环境执行生产环境谨慎开启需要 Python 调用栈怎么办msProf 不支持采集 Python 调用栈与框架层数据可改用对应框架的 Profiling 接口如 PyTorch 场景使用 Ascend PyTorch Profiler多卡训练 / 服务化推理场景可配合 msPTI通用框架场景、msServiceProfiler推理服务化场景使用详见 性能调优工具菜单。 延伸阅读采集并解析性能数据完整教程性能调优工具简介高性能编程建议✅ 总结CANN 性能调优的核心闭环很简单msProf 一键采集 → 自动解析导出 → 时间线找线索 CSV 定量分析 → 按建议优化。建议从msprof_*.json时间线切入建立全局认知再用op_statistic/op_summary两张表锁定耗时算子配合prof_rule_*.json自动建议确定优化方向即可高效定位软硬件性能瓶颈让昇腾 AI 任务跑得更快。【免费下载链接】docs该仓库用于维护cann公共文档项目地址: https://gitcode.com/cann/docs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
