采集昇腾AI处理器系统数据
命令示例
以运行用户登录Ascend-cann-toolkit开发套件包所在环境,根据环境搭建配置环境变量后执行命令,命令示例如下:
msprof --output=/home/HwHiAiUser --sys-devices=<ID> --sys-period=<period> --sys-hardware-mem=on
采集昇腾AI处理器系统数据--application参数不选,且--output必选。
参数说明
参数 |
描述 |
可选/必选 |
---|---|---|
--sys-period |
系统的采样时长,取值范围大于0,上限为30*24*3600,单位s。 |
必选 |
--sys-devices |
设备ID。可以为all或多个设备ID(以逗号分隔)。 |
必选 |
--ai-core |
控制AI Core和AI Vector Core数据采集的开关,可选on或off,默认值为off。 |
可选 |
--aic-mode |
AI Core和AI Vector Core硬件的采集类型,可选值task-based或sample-based。 task-based是以task为粒度进行性能数据采集,sample-based是以固定的时间周期进行性能数据采集。 配置为采集AI任务运行性能数据时自动识别为task-based;配置为采集昇腾AI处理器系统数据时自动识别为sample-based。 该参数配置前提是ai-core参数设置为on。 |
可选 |
--aic-freq |
sample-based场景下的采样频率,范围[1,100],默认值为100,单位hz。 该参数配置前提是ai-core参数设置为on。 |
可选 |
--aic-metrics |
AI Core和AI Vector Core性能指标采集项,默认为PipeUtilization,包括ArithmeticUtilization、PipeUtilization、Memory、MemoryL0、MemoryUB、ResourceConflictRatio、L2Cache、PipelineExecuteUtilization。以上各参数值对应的详细采集指标请参见AI Core/AI Vector Core性能指标采集项说明。 该参数配置前提是ai-core参数设置为on。 |
可选 |
--sys-hardware-mem |
控制DDR带宽采集开关、LLC的读写带宽数据采集开关以及acc_pmu数据和SOC传输带宽信息采集开关,可选on或off,默认为off。 |
可选 |
--sys-hardware-mem-freq |
DDR带宽采集频率、LLC的读写带宽数据采集频率以及acc_pmu数据和SOC传输带宽信息采集频率,范围[1,100],默认值为50,单位hz。 设置该参数需要sys-hardware-mem参数设置为on。 |
可选 |
--llc-profiling |
LLC Profiling采集事件,可以设置为:
如要采集该数据,需要sys-hardware-mem设置为on。 |
可选 |
--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采集开关。可选on或off,默认值为off。 容器场景下本参数不生效。 |
可选 |
--sys-io-sampling-freq |
NIC采集频率,范围[1,100],默认值为100,单位hz。 设置该参数需要sys-io-profiling参数设置为on。 容器场景下本参数不生效。 |
可选 |
--dvpp-profiling |
DVPP采集开关,可选on或off,默认值为off。 |
可选 |
--dvpp-freq |
DVPP采集频率,范围[1,100],默认值为50,单位hz。 设置该参数需要dvpp-profiling参数设置为on。 |
可选 |
不指定--application参数时,仅采集昇腾AI处理器系统数据;也可以同时指定--application参数和其他参数及昇腾AI处理器系统数据参数采集数据,此时--sys-period和--sys-devices参数无需配置。
采集数据说明
配置采集昇腾AI处理器系统数据参数后生成的Profiling数据如表2和表3所示。
timeline文件名 |
相关参数 |
说明 |
---|---|---|
msprof*.json |
所有可生成数据的参数均会在此文件写入数据。 |
timeline数据总表。对采集到的timeline性能数据按照迭代粒度进行性能展示。详情请参见timeline数据总表。 |
ai_core_utilization_*.json |
--ai-core --aic-metrics --aic-mode=sample-based |
每个Core上指令占比数据。详情请参见每个Core上指令占比数据。 |
ddr_*.json |
--sys-hardware-mem |
DDR内存读写速率。详情请参见DDR内存读写速率数据。 |
llc_read_write_*.json |
--sys-hardware-mem |
三级缓存读写速率数据。文件详情请参见三级缓存读写速率数据。 |
acc_pmu_*.json |
--sys-hardware-mem |
加速器带宽及并发数据。文件详情请参见加速器带宽及并发数据。 |
stars_soc_*.json |
--sys-hardware-mem |
SOC传输带宽信息。文件详情请参见SOC传输带宽信息数据。 |
nic_*.json |
--sys-io-profiling |
每个时间节点网络信息数据。文件详情请参见每个时间节点网络信息数据。 |
注:“*”表示{device_id}_{model_id}_{iter_id},其中{device_id}表示设备ID,{model_id}表示模型ID,{iter_id}表示某轮迭代的ID。这些字段可以使用数据解析与导出完成数据解析后,使用数据解析与导出中的“Profiling数据文件信息查询”功能对结果文件进行查询得出,若查询某些字段显示为N/A(为空)则在导出的结果文件名中不展示。 |
summary文件名 |
相关参数 |
说明 |
---|---|---|
ai_core_utilization_*.csv |
--ai-core --aic-metrics --aic-mode=sample-based |
每个Core上指令占比数据。详情请参见每个Core上指令占比数据。 |
ai_vector_core_utilization_*.csv |
--ai-core --aic-metrics --aic-mode=sample-based |
每个AI Vector Core上指令占比数据。详情请参见每个AI Vector Core上指令占比数据。 |
ddr_*.csv |
--sys-hardware-mem |
DDR内存读写速率。详情请参见DDR内存读写速率数据。 |
llc_read_write_*.csv |
--sys-hardware-mem |
三级缓存读写速率数据。文件详情请参见三级缓存读写速率数据。 |
ai_cpu_top_function_*.csv |
--sys-cpu-profiling |
AI CPU热点函数。文件详情请参见AI CPU热点函数数据。 |
ai_cpu_pmu_events_*.csv |
--sys-cpu-profiling |
AI CPU PMU事件。文件详情请参见AI CPU PMU事件数据。 |
ctrl_cpu_top_function_*.csv |
--sys-cpu-profiling |
Ctrl CPU热点函数。文件详情请参见Ctrl CPU热点函数数据。 |
ctrl_cpu_pmu_events_*.csv |
--sys-cpu-profiling |
Ctrl CPU PMU事件。文件详情请参见Ctrl CPU PMU事件数据。 |
ts_cpu_top_function_*.csv |
--sys-cpu-profiling |
TS CPU热点函数。文件详情请参见TS CPU热点函数数据。 |
ts_cpu_pmu_events_*.csv |
--sys-cpu-profiling |
TS CPU PMU事件。文件详情请参见TS CPU PMU事件数据。 |
cpu_usage_*.csv |
--sys-profiling |
AI CPU、Control CPU利用率。文件详情请参见AI CPU、Ctrl CPU利用率数据。 |
sys_mem_*.csv |
--sys-profiling |
指定device的内存使用情况。详情请参见系统内存数据。 |
process_cpu_usage_*.csv |
--sys-pid-profiling |
进程CPU占用率。生成文件详情请参见进程CPU占用率数据。 |
process_mem_*.csv |
--sys-pid-profiling |
进程内存占用率。文件详情请参见进程内存占用率数据。 |
nic_*.csv |
--sys-io-profiling |
每个时间节点网络信息数据。文件详情请参见每个时间节点网络信息数据。 |
dvpp_*.csv |
--dvpp-profiling |
DVPP数据。文件详情请参见DVPP数据。 |
注:“*”表示{device_id}_{model_id}_{iter_id},其中{device_id}表示设备ID,{model_id}表示模型ID,{iter_id}表示某轮迭代的ID。这些字段可以使用数据解析与导出完成数据解析后,使用数据解析与导出中的“Profiling数据文件信息查询”功能对结果文件进行查询得出,若查询某些字段显示为N/A(为空)则在导出的结果文件名中不展示。 |