采集昇腾AI处理器系统数据
msprof支持采集昇腾AI处理器的系统数据,并且在采集后可以自动进行性能数据解析和文件落盘。
命令示例(Ascend EP)
登录Ascend-cann-toolkit开发套件包所在环境,执行以下命令采集性能数据。命令示例如下:
msprof --output=/home/projects/output --sys-devices=<ID> --sys-period=<period> --ai-core=on --sys-hardware-mem=on --sys-cpu-profiling=on --sys-profiling=on --sys-pid-profiling=on --dvpp-profiling=on
命令支持的参数请参考表1。
采集昇腾AI处理器系统数据时:
- 不传入用户程序,表示仅采集昇腾AI处理器系统数据,此时--output、--sys-period、--sys-devices参数必选。
- 若同时传入用户程序及昇腾AI处理器系统数据参数,此时--sys-period和--sys-devices参数不生效。

- Ascend EP场景下,使用msprof命令行方式采集整网推理Profiling数据时,如果通过配置--llc-profiling、--sys-cpu-profiling、--sys-profiling和--sys-pid-profiling采集项采集相应数据,采集完成后,除--sys-cpu-profiling采集项仅生成TS CPU数据外,其余采集项均不会生成数据;但在不传入用户程序时,配置上述几个采集项均会有数据生成。
- 对于
Atlas A2 训练系列产品/Atlas 800I A2 推理产品 ,--instr-profiling开关与--ascendcl、--model-execution、--runtime-api、--hccl、--task-time、--aicpu、--ai-core、--aic-mode、--aic-freq、--aic-metrics、--l2互斥,无法同时执行。
命令执行完成后,在--output指定的目录下生成PROF_XXX目录,存放自动解析后的性能数据,相关结果文件请参见表1。
命令示例(Ascend RC)
登录运行环境,进入msprof工具所在目录“/var”,执行以下命令采集性能数据。命令示例如下:
./msprof --output=/home/projects/output --sys-devices=<ID> --sys-period=<period> --ai-core=on --sys-hardware-mem=on --sys-cpu-profiling=on --sys-profiling=on --sys-pid-profiling=on
命令支持的参数请参考表1。
采集昇腾AI处理器系统数据时:
- 不传入用户程序,表示仅采集昇腾AI处理器系统数据,此时--output、--sys-period、--sys-devices参数必选。
- 若同时传入用户程序及昇腾AI处理器系统数据参数,此时--sys-period和--sys-devices参数不生效。
命令执行完成后,在--output指定的目录下生成PROF_XXX目录,该目录下的文件未经解析无法查看,您需要将PROF_XXX目录上传到安装toolkit包的开发环境进行数据解析,具体操作方法请参见使用msprof命令解析与导出性能数据,最终生成的结果文件请参见表1。
参数说明
参数 |
描述 |
支持的型号 |
结果文件 |
---|---|---|---|
--sys-period |
系统的采样时长,取值范围大于0,上限为30*24*3600,单位s。 |
- |
|
--sys-devices |
设备ID。可以为all或多个设备ID(以逗号分隔)。 |
- |
|
--ai-core |
控制AI Core、AI Vector Core数据采集的开关,可选on或off,默认值为on。
|
- |
|
--aic-mode |
AI Core、AI Vector Core硬件的采集类型,可选值task-based或sample-based。该参数配置前提是--ai-core参数设置为on。 task-based是以task为粒度进行性能数据采集,sample-based是以固定的时间周期进行性能数据采集。 采集昇腾AI处理器系统数据时建议使用sample-based,如果不配置默认为sample-based。 |
msprof_*.json中的AI Core Utilization层级和ai_core_utilization_*.csv文件 |
|
--aic-freq |
sample-based场景下的采样频率,默认值100,范围1~100,单位hz。该参数配置前提是--ai-core参数设置为on。 |
- |
|
--aic-metrics |
AI Core、AI Vector Core性能指标采集项。该参数配置前提是--ai-core参数设置为on。 取值包括:
说明:
支持自定义需要采集的寄存器,例如:--aic-metrics=Custom:0x49,0x8,0x15,0x1b,0x64,0x10。
|
msprof_*.json中的AI Core Utilization层级和ai_core_utilization_*.csv文件 |
|
--sys-hardware-mem |
片上内存读写速率、QoS传输带宽、LLC读写速率/使用量/带宽(建议配合--llc-profiling使用)、Acc PMU数据和SoC传输带宽、组件内存占用等的采集开关,可选on或off,默认为off。 采集组件内存数据需要在采集AI任务性能数据(即传入用户程序)时才能采集到具体性能数据。 |
不同产品支持情况不同,请以实际实现为准。 |
msprof_*.json中的LLC of Ai CPU层级和llc_aicpu_*.csv文件 msprof_*.json中的LLC of Ctrl CPU层级和llc_ctrlcpu_*.csv文件 msprof_*.json中的LLC Bandwidth层级和llc_bandwidth_*.csv文件 msprof_*.json中的LLC层级和llc_read_write_*.csv文件 msprof_*.json中的Stars Soc Info层级 msprof_*.json中的NPU MEM层级和npu_mem_*.csv文件 npu_module_mem_*.csv(需传入用户程序) |
--sys-hardware-mem-freq |
--sys-hardware-mem的采集频率,范围[1,100],默认值为50,单位hz。 设置该参数需要--sys-hardware-mem参数设置为on。 |
- |
|
--llc-profiling |
LLC Profiling采集事件,需要--sys-hardware-mem设置为on。取值包括:
|
msprof_*.json中的LLC of Ai CPU层级和llc_aicpu_*.csv文件 msprof_*.json中的LLC of Ctrl CPU层级和llc_ctrlcpu_*.csv文件 msprof_*.json中的LLC Bandwidth层级和llc_bandwidth_*.csv文件 - |
|
--sys-cpu-profiling |
CPU(AI CPU、Ctrl CPU、TS CPU)采集开关。可选on或off,默认值为off。 |
||
--sys-cpu-freq |
CPU采集频率,范围[1,50],默认值为50,单位hz。 设置该参数需要--sys-cpu-profiling参数设置为on。 |
- |
|
--sys-profiling |
系统CPU usage及System memory采集开关。可选on或off,默认值为off。 |
||
--sys-sampling-freq |
系统CPU usage及System memory采集频率,范围[1,10],默认值为10,单位hz。 设置该参数需要--sys-profiling参数设置为on。 |
- |
|
--sys-pid-profiling |
所有进程的CPU usage及所有进程的memory采集开关。可选on或off,默认值为off。 |
||
--sys-pid-sampling-freq |
所有进程的CPU usage及所有进程的memory采集频率,范围[1,10],默认值为10,单位hz。 设置该参数需要--sys-pid-profiling参数设置为on。 |
- |
|
--sys-io-profiling |
NIC、ROCE采集开关。可选on或off,默认值为off。
|
||
--sys-io-sampling-freq |
NIC、ROCE采集频率,范围[1,100],默认值为100,单位hz。 设置该参数需要--sys-io-profiling参数设置为on。 |
- |
|
--sys-interconnection-profiling |
集合通信带宽数据(HCCS)、PCIe数据采集开关、片间传输带宽信息采集开关。可选on或off,默认值为off。
|
msprof_*.json中的PCIe层级和pcie_*.csv文件 |
|
--sys-interconnection-freq |
集合通信带宽数据(HCCS)、PCIe数据采集频率、片间传输带宽信息采集频率,范围[1,50],默认值为50,单位hz。 设置该参数需要--sys-interconnection-profiling参数设置为on。 |
- |
|
--dvpp-profiling |
DVPP采集开关,可选on或off,默认值为off。 |
||
--dvpp-freq |
DVPP采集频率,范围[1,100],默认值为50,单位hz。 设置该参数需要--dvpp-profiling参数设置为on。 |
- |
|
--instr-profiling |
采集AI Core和AI Vector的带宽和延时开关,可选on或off,默认值为off。 需要在单算子场景下采集AI任务性能数据(即传入用户程序)时才能采集到具体性能数据。 |
||
--instr-profiling-freq |
AI Core和AI Vector的带宽和延时采集频率,范围[300,30000],默认值为1000,单位hz。 该参数使用前需要--instr-profiling设置为on。 |
- |