采集昇腾AI处理器系统数据
命令示例
以运行用户登录Ascend-cann-toolkit开发套件包所在环境,根据环境搭建配置环境变量后执行命令,命令示例如下:
msprof --output=/home/HwHiAiUser --sys-devices=<ID> --sys-period=<period> --ai-core=on --sys-hardware-mem=on --llc-profiling=on --sys-cpu-profiling=on --sys-profiling=on --sys-pid-profiling=on
采集昇腾AI处理器系统数据--application参数不选,且--output必选。
参数说明
参数 |
描述 |
可选/必选 |
---|---|---|
--sys-period |
系统的采样时长,取值范围大于0,上限为30*24*3600,单位s。 |
必选 |
--sys-devices |
设备ID。可以为all或多个设备ID(以逗号分隔)。 |
必选 |
--ai-core |
控制AI Core数据采集的开关,可选on或off,默认值为off。 |
可选 |
--aic-mode |
AI 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性能指标采集项,默认为PipeUtilization,包括ArithmeticUtilization、PipeUtilization、Memory、MemoryL0、MemoryUB、ResourceConflictRatio。以上各参数值对应的详细采集指标请参见AI Core性能指标采集项说明。 该参数配置前提是ai-core参数设置为on。 |
可选 |
--sys-hardware-mem |
控制片上内存,LLC的读写带宽数据采集开关,可选on或off,默认为off。 不同产品支持情况不同,请以实际实现为准。 |
可选 |
--sys-hardware-mem-freq |
片上内存,LLC的读写带宽数据采集频率,范围[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(Atlas 200/300/500 推理产品)(Atlas 训练系列产品)、ROCE(Atlas 训练系列产品)采集开关。可选on或off,默认值为off。 |
可选 |
--sys-io-sampling-freq |
NIC(Atlas 200/300/500 推理产品)(Atlas 训练系列产品)、ROCE(Atlas 训练系列产品)采集频率,范围[1,100],默认值为100,单位hz。 设置该参数需要sys-io-profiling参数设置为on。 |
可选 |
--sys-interconnection-profiling |
集合通信带宽数据与PCIe采集开关,可选on或off,默认值为off。(Atlas 推理系列产品)(Atlas 训练系列产品) |
可选 |
--sys-interconnection-freq |
采集频率,范围[1,50],默认值为50,单位hz。 设置该参数需要sys-interconnection-profiling参数设置为on。(Atlas 推理系列产品)(Atlas 训练系列产品) |
可选 |
--dvpp-profiling |
DVPP采集开关,可选on或off,默认值为off。(Atlas 200/300/500 推理产品)(Atlas 训练系列产品) |
可选 |
--dvpp-freq |
DVPP采集频率,范围[1,100],默认值为50,单位hz。设置该参数需要dvpp-profiling参数设置为on。(Atlas 200/300/500 推理产品)(Atlas 训练系列产品) |
可选 |
- 不指定--application参数时,仅采集昇腾AI处理器系统数据;也可以同时指定--application参数和其他参数及昇腾AI处理器系统数据参数采集数据,此时--sys-period和--sys-devices参数无需配置。
- Ascend EP场景下,使用msprof命令行方式采集整网推理Profiling数据时,如果通过配置--llc-profiling、--sys-cpu-profiling、--sys-profiling和--sys-pid-profiling采集项采集相应数据,采集完成后,除--sys-cpu-profiling采集项仅生成TS CPU数据外,其余采集项均不会生成数据;但在不配置--application参数时,配置上述几个采集项均会有数据生成。
采集数据说明
配置采集昇腾AI处理器系统数据参数后生成的Profiling数据如表2和表3所示。
timeline文件名 |
相关参数 |
说明 |
---|---|---|
msprof*.json |
所有可生成数据的参数均会在此文件写入数据。 |
timeline数据总表。对采集到的timeline性能数据按照迭代粒度进行性能展示。详情请参见timeline数据总表。 |
ai_core_utilization_*.json |
--ai-core |
每个Core上指令占比数据。详情请参见每个Core上指令占比数据。 |
ddr_*.json |
--sys-hardware-mem |
片上内存读写速率。详情请参见片上内存读写速率数据。 |
hbm_*.json |
--sys-hardware-mem |
片上内存读写速率。文件详情请参见片上内存读写速率数据。(Atlas 训练系列产品) |
llc_aicpu_*.json |
--sys-hardware-mem --llc-profiling=capacity |
AI CPU的三级缓存使用量,LLC Profiling采集事件设置为capacity时才会导出该文件。文件详情请参见AI CPU的三级缓存使用量数据。(Atlas 200/300/500 推理产品) |
llc_ctrlcpu_*.json |
--sys-hardware-mem --llc-profiling=capacity |
Control CPU三级缓存使用量,LLC Profiling采集事件设置为capacity时才会导出该文件。文件详情请参见Control CPU三级缓存使用量数据。(Atlas 200/300/500 推理产品) |
llc_bandwidth_*.json |
--sys-hardware-mem --llc-profiling=bandwidth |
三级缓存带宽,LLC Profiling采集事件设置为bandwidth时才会导出该文件。文件详情请参见三级缓存带宽数据。(Atlas 200/300/500 推理产品) |
llc_read_write_*.json |
--sys-hardware-mem |
三级缓存读写速率数据。文件详情请参见三级缓存读写速率数据。(Atlas 推理系列产品)(Atlas 训练系列产品) |
nic_*.json |
--sys-io-profiling |
每个时间节点网络信息数据。文件详情请参见每个时间节点网络信息数据。(Atlas 200/300/500 推理产品)(Atlas 训练系列产品) |
roce_*.json |
--sys-io-profiling |
RoCE通信接口带宽数据。文件详情请参见RoCE通信接口带宽数据。(Atlas 训练系列产品) |
hccs_*.json |
--sys-interconnection-profiling |
集合通信带宽数据。文件详情请参见集合通信带宽数据。(Atlas 训练系列产品) |
pcie_*.json |
--sys-interconnection-profiling |
PCIe带宽。详情请参见PCIe带宽数据。(Atlas 推理系列产品)(Atlas 训练系列产品) |
注:“*”表示{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-mode=sample-based |
每个Core上指令占比数据。详情请参见每个Core上指令占比数据。 |
ddr_*.csv |
--sys-hardware-mem |
片上内存读写速率。详情请参见片上内存读写速率数据。 |
hbm_*.csv |
--sys-hardware-mem |
片上内存读写速率。详情请参见片上内存读写速率数据。(Atlas 训练系列产品) |
llc_aicpu_*.csv |
--sys-hardware-mem --llc-profiling=capacity |
AI CPU三级缓存使用量,LLC Profiling采集事件设置为capacity时才会导出该文件。详情请参见AI CPU三级缓存使用量数据。(Atlas 200/300/500 推理产品) |
llc_ctrlcpu_*.csv |
--sys-hardware-mem --llc-profiling=capacity |
Control CPU三级缓存使用量,LLC Profiling采集事件设置为capacity时才会导出该文件。详情请参见Ctrl CPU三级缓存使用量数据。(Atlas 200/300/500 推理产品) |
llc_bandwidth_*.csv |
--sys-hardware-mem --llc-profiling=bandwidth |
三级缓存带宽,LLC Profiling采集事件设置为bandwidth时才会导出该文件。三级缓存带宽数据。(Atlas 200/300/500 推理产品) |
llc_read_write_*.csv |
--sys-hardware-mem |
三级缓存读写速率数据。文件详情请参见三级缓存读写速率数据。(Atlas 推理系列产品)(Atlas 训练系列产品) |
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 |
每个时间节点网络信息数据。文件详情请参见每个时间节点网络信息数据。(Atlas 200/300/500 推理产品)(Atlas 训练系列产品) |
roce_*.csv |
--sys-io-profiling |
RoCE通信接口带宽数据。文件详情请参见RoCE通信接口带宽数据。(Atlas 训练系列产品) |
hccs_*.csv |
--sys-interconnection-profiling |
集合通信带宽数据。文件详情请参见集合通信带宽数据。(Atlas 训练系列产品) |
pcie_*.csv |
--sys-interconnection-profiling |
PCIe带宽。详情请参见PCIe带宽数据。(Atlas 推理系列产品)(Atlas 训练系列产品) |
dvpp_*.csv |
--dvpp-profiling |
DVPP数据。文件详情请参见DVPP数据。(Atlas 200/300/500 推理产品)(Atlas 训练系列产品) |
注:“*”表示{device_id}_{model_id}_{iter_id},其中{device_id}表示设备ID,{model_id}表示模型ID,{iter_id}表示某轮迭代的ID。这些字段可以使用数据解析与导出完成数据解析后,使用数据解析与导出中的“Profiling数据文件信息查询”功能对结果文件进行查询得出,若查询某些字段显示为N/A(为空)则在导出的结果文件名中不展示。 |