msprof支持采集AI处理器的系统数据,并且在采集后可以自动进行性能数据解析和文件落盘。
登录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参数不生效。
命令执行完成后,在output指定的目录下生成PROF_XXX目录,存放自动解析后的性能数据,相关结果文件请参见表1。
登录运行环境,进入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。 |
Atlas 200/300/500 推理产品 Atlas 200I/500 A2推理产品 Atlas 推理系列产品 Atlas 训练系列产品 Atlas A2训练系列产品/Atlas 800I A2推理产品 |
- |
--sys-devices |
设备ID。可以为all或多个设备ID(以逗号分隔)。 |
Atlas 200/300/500 推理产品 Atlas 200I/500 A2推理产品 Atlas 推理系列产品 Atlas 训练系列产品 Atlas A2训练系列产品/Atlas 800I A2推理产品 |
- |
--ai-core |
控制AI Core、AI Vector Core数据采集的开关,可选on或off,默认值为on。
|
Atlas 200/300/500 推理产品 Atlas 200I/500 A2推理产品 Atlas 推理系列产品 Atlas 训练系列产品 Atlas A2训练系列产品/Atlas 800I A2推理产品 |
- |
--aic-mode |
AI Core、AI Vector Core硬件的采集类型,可选值task-based或sample-based。该参数配置前提是ai-core参数设置为on。 task-based是以task为粒度进行性能数据采集,sample-based是以固定的时间周期进行性能数据采集。 采集昇腾AI处理器系统数据时建议使用sample-based,如果不配置默认为sample-based。 |
Atlas 200/300/500 推理产品 Atlas 200I/500 A2推理产品 Atlas 推理系列产品 Atlas 训练系列产品 Atlas A2训练系列产品/Atlas 800I A2推理产品 |
msprof_*.json中的AI Core Utilization层级和ai_core_utilization_*.csv文件 ai_vector_core_utilization_*.csv 以上文件仅--aic-mode=sample-based时生成 |
--aic-freq |
sample-based场景下的采样频率,默认值100,范围1~100,单位hz。该参数配置前提是ai-core参数设置为on。 |
Atlas 200/300/500 推理产品 Atlas 200I/500 A2推理产品 Atlas 推理系列产品 Atlas 训练系列产品 Atlas A2训练系列产品/Atlas 800I A2推理产品 |
- |
--aic-metrics |
AI Core、AI Vector Core性能指标采集项。该参数配置前提是ai-core参数设置为on。 取值包括:
说明:
支持自定义需要采集的寄存器,例如:--aic-metrics=Custom:0x49,0x8,0x15,0x1b,0x64,0x10。
|
Atlas 200/300/500 推理产品 Atlas 200I/500 A2推理产品 Atlas 推理系列产品 Atlas 训练系列产品 Atlas A2训练系列产品/Atlas 800I A2推理产品 |
msprof_*.json中的AI Core Utilization层级和ai_core_utilization_*.csv文件 ai_vector_core_utilization_*.csv 以上文件仅--aic-mode=sample-based时生成 |
--sys-hardware-mem |
片上内存读写速率、LLC读写速率/使用量/带宽(建议配合--llc-profiling使用)、Acc PMU数据和SoC传输带宽、组件内存占用等的采集开关,可选on或off,默认为off。 采集组件内存数据需要在采集AI任务性能数据(即传入用户程序)时才能采集到具体性能数据。 说明:
已知在安装有glibc<2.34的环境上采集memory数据,可能触发glibc的一个已知Bug 19329,通过升级环境的glibc版本可解决此问题。 |
Atlas 200/300/500 推理产品 Atlas 200I/500 A2推理产品 Atlas 推理系列产品 Atlas 训练系列产品 Atlas A2训练系列产品/Atlas 800I A2推理产品 不同产品支持情况不同,请以实际实现为准。 |
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。 |
Atlas 200/300/500 推理产品 Atlas 200I/500 A2推理产品 Atlas 推理系列产品 Atlas 训练系列产品 Atlas A2训练系列产品/Atlas 800I A2推理产品 |
- |
--llc-profiling |
LLC Profiling采集事件,需要sys-hardware-mem设置为on。取值包括:
|
Atlas 200/300/500 推理产品 Atlas 200I/500 A2推理产品 Atlas 推理系列产品 Atlas 训练系列产品 Atlas A2训练系列产品/Atlas 800I A2推理产品 |
msprof_*.json中的LLC of Ai CPU层级和llc_aicpu_*.csv文件 |
--sys-cpu-profiling |
CPU(AI CPU、Ctrl CPU、TS CPU)采集开关。可选on或off,默认值为off。 |
Atlas 200/300/500 推理产品 Atlas 200I/500 A2推理产品 Atlas 推理系列产品 Atlas 训练系列产品 Atlas A2训练系列产品/Atlas 800I A2推理产品 |
|
--sys-cpu-freq |
CPU采集频率,范围[1,50],默认值为50,单位hz。 设置该参数需要sys-cpu-profiling参数设置为on。 |
Atlas 200/300/500 推理产品 Atlas 200I/500 A2推理产品 Atlas 推理系列产品 Atlas 训练系列产品 Atlas A2训练系列产品/Atlas 800I A2推理产品 |
- |
--sys-profiling |
系统CPU usage及System memory采集开关。可选on或off,默认值为off。 |
Atlas 200/300/500 推理产品 Atlas 200I/500 A2推理产品 Atlas 推理系列产品 Atlas 训练系列产品 Atlas A2训练系列产品/Atlas 800I A2推理产品 |
|
--sys-sampling-freq |
系统CPU usage及System memory采集频率,范围[1,10],默认值为10,单位hz。 设置该参数需要sys-profiling参数设置为on。 |
Atlas 200/300/500 推理产品 Atlas 200I/500 A2推理产品 Atlas 推理系列产品 Atlas 训练系列产品 Atlas A2训练系列产品/Atlas 800I A2推理产品 |
- |
--sys-pid-profiling |
所有进程的CPU usage及所有进程的memory采集开关。可选on或off,默认值为off。 |
Atlas 200/300/500 推理产品 Atlas 200I/500 A2推理产品 Atlas 推理系列产品 Atlas 训练系列产品 Atlas A2训练系列产品/Atlas 800I A2推理产品 |
|
--sys-pid-sampling-freq |
所有进程的CPU usage及所有进程的memory采集频率,范围[1,10],默认值为10,单位hz。 设置该参数需要sys-pid-profiling参数设置为on。 |
Atlas 200/300/500 推理产品 Atlas 200I/500 A2推理产品 Atlas 推理系列产品 Atlas 训练系列产品 Atlas A2训练系列产品/Atlas 800I A2推理产品 |
- |
--sys-io-profiling |
NIC、ROCE采集开关。可选on或off,默认值为off。
|
Atlas 200/300/500 推理产品 Atlas 200I/500 A2推理产品 Atlas 训练系列产品 Atlas A2训练系列产品/Atlas 800I A2推理产品 |
|
--sys-io-sampling-freq |
NIC、ROCE采集频率,范围[1,100],默认值为100,单位hz。 设置该参数需要sys-io-profiling参数设置为on。 |
Atlas 200/300/500 推理产品 Atlas 200I/500 A2推理产品 Atlas 训练系列产品 Atlas A2训练系列产品/Atlas 800I A2推理产品 |
- |
--sys-interconnection-profiling |
集合通信带宽数据(HCCS)、PCIe数据采集开关、片间传输带宽信息采集开关。可选on或off,默认值为off。
|
Atlas 推理系列产品 Atlas 训练系列产品 Atlas A2训练系列产品/Atlas 800I A2推理产品 |
msprof_*.json中的PCIe层级和pcie_*.csv文件 |
--sys-interconnection-freq |
集合通信带宽数据(HCCS)、PCIe数据采集频率、片间传输带宽信息采集频率,范围[1,50],默认值为50,单位hz。 设置该参数需要sys-interconnection-profiling参数设置为on。 |
Atlas 推理系列产品 Atlas 训练系列产品 Atlas A2训练系列产品/Atlas 800I A2推理产品 |
- |
--dvpp-profiling |
DVPP采集开关,可选on或off,默认值为off。 Atlas 推理系列产品:支持采集性能数据,暂不支持解析 |
Atlas 200/300/500 推理产品 Atlas 200I/500 A2推理产品 Atlas 推理系列产品 Atlas 训练系列产品 Atlas A2训练系列产品/Atlas 800I A2推理产品 |
Atlas 推理系列产品不支持解析该性能数据 |
--dvpp-freq |
DVPP采集频率,范围[1,100],默认值为50,单位hz。 设置该参数需要dvpp-profiling参数设置为on。 |
Atlas 200/300/500 推理产品 Atlas 200I/500 A2推理产品 Atlas 推理系列产品 Atlas 训练系列产品 Atlas A2训练系列产品/Atlas 800I A2推理产品 |
- |
--instr-profiling |
采集AI Core和AI Vector的带宽和延时开关,可选on或off,默认值为off。 需要在单算子场景下采集AI任务性能数据(即传入用户程序)时才能采集到具体性能数据。 Atlas A2训练系列产品/Atlas 800I A2推理产品:仅单算子场景支持 |
Atlas A2训练系列产品/Atlas 800I A2推理产品 |
|
--instr-profiling-freq |
AI Core和AI Vector的带宽和延时采集频率,范围[300,30000],默认值为1000,单位hz。 设置该参数需要instr-profiling参数设置为on。 |
Atlas A2训练系列产品/Atlas 800I A2推理产品 |
- |