性能调优工具全景¶
性能调优工具链¶
分析工具
msprof-analyze
msAgent
性能监控
MindStudio Monitor
AI框架
PyTorch Profiler
MindSpore Profiler
基础能力
msProf
MSTX
MSPTI
MindStudio Insight
性能数据与采集工具¶
MindStudio 提供多种性能数据采集能力,可覆盖 AI 框架层、CANN 层和 NPU 硬件层,下图展示了“性能数据”与“采集工具”之间的对应关系。
按采集入口选择工具¶
从采集入口看,性能数据采集主要分为两类:
- 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 是否执行通信或计算任务进行划分,拆解为计算、通信、通信未与计算掩盖、空闲四个维度,用于评估计算与通信的并行效率。 |
相关入口¶
-
采集与解析 CANN 平台及昇腾 AI 处理器的软硬件性能数据。
-
基于PyTorch框架开发的昇腾软硬件性能调优工具。
-
面向昇腾设备的 Profiling API 集合。
-
面向昇腾集群场景的在线性能监控与动态采集工具。
-
面向 AI 训练与推理场景的性能分析工具,具备性能比对、集群分析、专家建议等功能。
-
面向昇腾场景的可视化性能分析工具,适合查看 Timeline、算子清单及瓶颈定位结果。
-
面向性能问题定位场景的智能 Agent 工具,可辅助开发者更快完成分析与归因。
-
典型场景性能调优案例库。
