跳转至

性能调优工具全景

性能调优工具链

分析工具
msprof-analyze
msAgent
性能监控
MindStudio Monitor
AI框架
PyTorch Profiler
MindSpore Profiler
基础能力
msProf
MSTX
MSPTI
MindStudio Insight

性能数据与采集工具

MindStudio 提供多种性能数据采集能力,可覆盖 AI 框架层、CANN 层和 NPU 硬件层,下图展示了“性能数据”与“采集工具”之间的对应关系。

profiling-data

按采集入口选择工具

从采集入口看,性能数据采集主要分为两类:

  • msProf 采集工具:主要采集 CANN 层和 NPU 硬件层数据,是其他 Profiling 采集接口的基础能力。
  • AI 框架 Profiler 接口采集:在 msProf 能力之上,进一步补充 AI 框架层数据采集与解析,是最常用的方式。当前主要包括 Ascend PyTorch Profiler 和 MindSpore Profiler。此外,一些训练或推理套件还会在此基础上进一步封装,例如 MindSpeed-MM、MindFormers、vLLM 等,可直接通过套件接口调用。
采集工具 特点 推荐场景
Ascend PyTorch Profiler 对标 PyTorch GPU 场景的使用方式,支持同时采集 PyTorch 框架层和昇腾软硬件层数据。 PyTorch 框架模型的常规性能分析
MindSpore Profiler 与 MindSpore 深度集成,接口简单,使用成本低。 MindSpore 框架模型的常规性能分析
msProf 采集 CANN 层与 NPU 层性能数据,不包含 AI 框架层数据,是其他工具的底座。 各类训练和推理场景,尤其适合非 PyTorch/MindSpore 框架,或需要精细控制采集过程的场景

按采集方式选择方案

从功能特性看,性能采集可分为常规采集、动态采集和轻量化在线监测三类。三种方式的侧重点不同:常规采集适合深度分析,动态采集适合长时间运行任务,轻量化采集适合常态化在线监控。

采集方式 特点 推荐场景
常规采集 预先设置采集周期或执行全量采集,落盘详细性能数据。 常规性能分析
dynamic_profile 动态采集 在模型训练或推理过程中可按需开启采集、动态修改采集配置,无需频繁改动脚本代码。 启停成本高的场景,例如超大规模训练
msMonitor 轻量化采集 采集关键性能指标,如利用率、带宽等,具有数据量小、解析快、开销低的特点,支持实时运行。 实时性能监控,以及大集群场景下的性能问题快速定界;适合发现资源瓶颈或异常,不用于算子级深度定位

性能数据类型说明

性能数据按层级进行划分,各类型数据的含义如下表所示。

数据类型 说明
Python 调用栈 记录 Python 代码执行过程中的函数调用关系及耗时情况。
AI 框架层 Trace 记录 AI 框架(如 PyTorch)算子下发耗时。AI 框架层到 CANN 层构成第一级下发流水。
CANN Trace 包含 AscendCL、GE、Runtime 组件及 Node(算子)的耗时数据。CANN 层到 Device 构成第二级下发流水。
Ascend Hardware 底层 NPU 任务调度数据,记录 AI 任务运行时各 Task 在不同加速器上的执行耗时,以及 AI Core 性能指标。
Communication 记录各个通信域下的通信算子信息,包括通信带宽、数据传输量等。
Overlap Analysis 按 NPU 是否执行通信或计算任务进行划分,拆解为计算、通信、通信未与计算掩盖、空闲四个维度,用于评估计算与通信的并行效率。

相关入口

  • msProf


    采集与解析 CANN 平台及昇腾 AI 处理器的软硬件性能数据。

  • PyTorch Profiler


    基于PyTorch框架开发的昇腾软硬件性能调优工具。

  • MSPTI


    面向昇腾设备的 Profiling API 集合。

  • msMonitor


    面向昇腾集群场景的在线性能监控与动态采集工具。

  • msprof-analyze


    面向 AI 训练与推理场景的性能分析工具,具备性能比对、集群分析、专家建议等功能。

  • MindStudio Insight


    面向昇腾场景的可视化性能分析工具,适合查看 Timeline、算子清单及瓶颈定位结果。

  • msAgent


    面向性能问题定位场景的智能 Agent 工具,可辅助开发者更快完成分析与归因。

  • Profiling Cases


    典型场景性能调优案例库。