昇腾社区首页
中文
注册
开发者
下载

采集昇腾AI处理器系统数据

产品支持情况

产品

是否支持

Atlas A3 训练系列产品/Atlas A3 推理系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

功能说明

msprof支持采集昇腾AI处理器的系统数据,并且在采集后可以自动进行性能数据解析和文件落盘。

注意事项

  • 请确保AI任务能在运行环境中正常运行。
  • 请确保完成使用前准备

不支持采集Python调用栈、PyTorch或MindSpore框架层数据,可使用对应框架接口方式采集。

命令格式(Ascend EP

登录运行环境,可在任意目录下执行以下命令。

  • 方式一(推荐):在msprof命令末尾,直接传入用户程序或执行脚本。
    msprof [options] <app> 
  • 方式二:通过--application参数传入用户程序或执行脚本
    msprof [options] --application=<app> 
  • app为可选,相关参数说明请参见app参数说明,options参数说明请参见参数说明。两者配合使用时有如下要求:不传入用户程序,表示仅采集昇腾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 A2 推理系列产品,--instr-profiling开关与--ascendcl、--model-execution、--runtime-api、--hccl、--task-time、--aicpu、--ai-core、--aic-mode、--aic-freq、--aic-metrics、--l2互斥,无法同时执行。
  • 对于Atlas A3 训练系列产品/Atlas A3 推理系列产品,--instr-profiling开关与--ascendcl、--model-execution、--runtime-api、--hccl、--task-time、--aicpu、--ai-core、--aic-mode、--aic-freq、--aic-metrics、--l2互斥,无法同时执行。
  • 对于以下产品,--sys-profiling、--sys-pid-profiling、--sys-cpu-profiling参数不支持同时采集共用OS的两个Device。例如:该产品的Device为[0,7],但0和1、2和3、4和5、6和7分别共用OS,那么此时--sys-devices则不能同时配置0和1、2和3、4和5、6和7,可以配置0、2、4、6或1、3、5、7。
    • Atlas A3 训练系列产品/Atlas A3 推理系列产品

命令格式(Ascend RC

登录运行环境,进入msprof工具所在目录“/var”,执行以下命令。

  • 方式一(推荐):在msprof命令末尾,直接传入用户程序或执行脚本。
    ./msprof [options] [application] [application-arguments] 
  • 方式二:通过--application参数传入用户程序或执行脚本
    ./msprof [options] --application=<app> 

app为可选,相关参数说明请参见app参数说明,options参数说明请参见参数说明。两者配合使用时有如下要求:不传入用户程序,表示仅采集昇腾AI处理器系统数据,此时--output、--sys-period、--sys-devices参数必选。若同时传入用户程序昇腾AI处理器系统数据参数,此时--sys-period--sys-devices参数不生效。

参数说明

表1 options参数说明

参数

可选/必选

说明

产品支持情况

性能数据文件

--sys-period=<sys-period-value>

不传入用户程序时,该参数必选

系统的采样时长,取值范围大于0,上限为30*24*3600,单位s。

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas A3 训练系列产品/Atlas A3 推理系列产品

-

--sys-devices=<sys-devices-value>

不传入用户程序时,该参数必选

设备ID。可以为all或多个设备ID(以逗号分隔)。

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas A3 训练系列产品/Atlas A3 推理系列产品

-

--ai-core=<aicore-value>

可选

AI Core数据采集开关。

说明:

对于以下产品,AI Core的工作模式为分离模式,Cube Core和Vector Core的部分指标将分别进行统计,请以实际结果为准。

Atlas 200I/500 A2 推理产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas A3 训练系列产品/Atlas A3 推理系列产品

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas A3 训练系列产品/Atlas A3 推理系列产品

-

--aic-mode=<aic-mode-value>

可选

AI Core硬件的采集类型,可选值task-based或sample-based。该参数配置前提是--ai-core参数设置为on。task-based是以task为粒度进行性能数据采集,sample-based是以固定的时间周期进行性能数据采集。

采集昇腾AI处理器系统数据时建议使用sample-based,如果不配置默认为sample-based。

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas A3 训练系列产品/Atlas A3 推理系列产品

msprof_*.json中的AI Core Utilization层级和ai_core_utilization_*.csv文件

ai_vector_core_utilization_*.csv

db文件的SAMPLE_PMU_TIMELINE表

db文件的SAMPLE_PMU_SUMMARY表

--aic-freq=<aic-freq-value>

可选

sample-based场景下的采样频率,默认值100,范围1~100,单位Hz。该参数配置前提是--ai-core参数设置为on。

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas A3 训练系列产品/Atlas A3 推理系列产品

-

--aic-metrics=<aic-metrics-value>

可选

AI Core性能指标采集项。该参数配置前提是--ai-core参数设置为on。各采集项详细信息请参考op_summary_*.csv中的说明。

取值包括:

  • Atlas 200I/500 A2 推理产品:ArithmeticUtilization、PipeUtilization、Memory、MemoryL0、MemoryUB、ResourceConflictRatio、L2Cache、PipelineExecuteUtilization(默认值)
  • Atlas 推理系列产品:ArithmeticUtilization、PipeUtilization(默认值)、Memory、MemoryL0、MemoryUB、ResourceConflictRatio
  • Atlas 训练系列产品:ArithmeticUtilization、PipeUtilization(默认值)、Memory、MemoryL0、MemoryUB、ResourceConflictRatio
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品:ArithmeticUtilization、PipeUtilization(默认值)、Memory、MemoryL0、MemoryUB、ResourceConflictRatio、L2Cache、MemoryAccess
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:ArithmeticUtilization、PipeUtilization(默认值)、Memory、MemoryL0、MemoryUB、ResourceConflictRatio、L2Cache、MemoryAccess
说明:
支持自定义需要采集的寄存器,例如:--aic-metrics=Custom:0x49,0x8,0x15,0x1b,0x64,0x10。
  • Custom字段表示自定义类型,配置为具体的寄存器值,范围[0x1, 0x6E]。
  • 配置的寄存器数最多不能超过8个,寄存器通过“,”区分开。
  • 寄存器的值支持十六进制或十进制。

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas A3 训练系列产品/Atlas A3 推理系列产品

msprof_*.json中的AI Core Utilization层级和ai_core_utilization_*.csv文件

ai_vector_core_utilization_*.csv

db文件的SAMPLE_PMU_TIMELINE表

db文件的SAMPLE_PMU_SUMMARY表

--sys-hardware-mem=<sys-hardware-mem-value>

可选

片上内存读写速率、QoS传输带宽、LLC三级缓存带宽、加速器带宽、SoC传输带宽、组件内存占用等的采集开关,可选on或off,默认为off。不同产品的采集内容略有差异,请以实际结果为准。

采集组件内存数据需要在采集AI任务性能数据(即传入用户程序)时才能采集到具体性能数据。

说明:

已知在安装有glibc<2.34的环境上采集memory数据,可能触发glibc的一个已知Bug 19329,通过升级环境的glibc版本可解决此问题。

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas A3 训练系列产品/Atlas A3 推理系列产品

片上内存读写速率文件

msprof_*.json中的LLC层级和llc_read_write_*.csv文件

msprof_*.json中的acc_pmu层级

msprof_*.json中的Stars Soc Info层级

msprof_*.json中的NPU MEM层级和npu_mem_*.csv文件

msprof_*.json中的QoS层级

npu_module_mem_*.csv(需传入用户程序

db文件的QOS表

db文件的ACC_PMU表

db文件的SOC_BANDWIDTH_LEVEL表

db文件的LLC表

db文件的NPU_MEM表

db文件的NPU_MODULE_MEM表

db文件的HBM表

db文件的DDR表

--sys-hardware-mem-freq=<sys-hardware-mem-freq-value>

可选

--sys-hardware-mem的采集频率,范围[1,100],默认值为50,单位Hz。

设置该参数需要--sys-hardware-mem参数设置为on。

说明:

对于以下产品,采集任务结束后,不建议用户增大采集频率,否则可能导致SoC传输带宽数据丢失。

Atlas 200I/500 A2 推理产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas A3 训练系列产品/Atlas A3 推理系列产品

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas A3 训练系列产品/Atlas A3 推理系列产品

-

--llc-profiling=<llc-profiling-value>

可选

LLC Profiling采集事件,需要--sys-hardware-mem设置为on。取值包括:

  • Atlas 200I/500 A2 推理产品
    • read:读事件,三级缓存读速率。
    • write:写事件,三级缓存写速率。默认为read。
  • Atlas 推理系列产品
    • read:读事件,三级缓存读速率。
    • write:写事件,三级缓存写速率。默认为read。
  • Atlas 训练系列产品
    • read:读事件,三级缓存读速率。
    • write:写事件,三级缓存写速率。默认为read。
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品
    • read:读事件,三级缓存读速率。
    • write:写事件,三级缓存写速率。默认为read。
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品
    • read:读事件,三级缓存读速率。
    • write:写事件,三级缓存写速率。默认为read。

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas A3 训练系列产品/Atlas A3 推理系列产品

-

--sys-cpu-profiling=<sys-cpu-profiling-value>

可选

CPU(AI CPU、Ctrl CPU、TS CPU)采集开关。可选on或off,默认值为off。

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas A3 训练系列产品/Atlas A3 推理系列产品

ai_cpu_top_function_*.csv

ai_cpu_pmu_events_*.csv

ctrl_cpu_top_function_*.csv

ctrl_cpu_pmu_events_*.csv

ts_cpu_top_function_*.csv

ts_cpu_pmu_events_*.csv

--sys-cpu-freq=<sys-cpu-freq-value>

可选

CPU采集频率,范围[1,50],默认值为50,单位Hz。

设置该参数需要--sys-cpu-profiling参数设置为on。

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas A3 训练系列产品/Atlas A3 推理系列产品

-

--sys-profiling=<sys-profiling-value>

可选

系统CPU usage及System memory采集开关。可选on或off,默认值为off。

说明:

使用该命令后,Profiling工具会调用Device侧的Perf工具,Perf仅执行相关性能数据采集,无法获取其他运行态信息,实际风险小。

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas A3 训练系列产品/Atlas A3 推理系列产品

cpu_usage_*.csv

sys_mem_*.csv

--sys-sampling-freq=<sys-sampling-freq-value>

可选

系统CPU usage及System memory采集频率,范围[1,10],默认值为10,单位Hz。

设置该参数需要--sys-profiling参数设置为on。

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas A3 训练系列产品/Atlas A3 推理系列产品

-

--sys-pid-profiling=<sys-pid-profiling-value>

可选

所有进程的CPU usage及所有进程的memory采集开关。可选on或off,默认值为off。

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas A3 训练系列产品/Atlas A3 推理系列产品

process_cpu_usage_*.csv

process_mem_*.csv

--sys-pid-sampling-freq=<sys-pid-sampling-freq-value>

可选

所有进程的CPU usage及所有进程的memory采集频率,范围[1,10],默认值为10,单位Hz。

设置该参数需要--sys-pid-profiling参数设置为on。

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas A3 训练系列产品/Atlas A3 推理系列产品

-

--sys-io-profiling=<sys-io-profiling-value>

可选

NIC、ROCE、MAC采集开关。可选on或off,默认值为off。

  • Atlas 200I/500 A2 推理产品:仅RC场景支持采集NIC,容器场景参数不生效
  • Atlas 训练系列产品:支持采集NIC和ROCE
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品:支持采集NIC、ROCE和MAC
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持采集NIC、ROCE和MAC

Atlas 200I/500 A2 推理产品

Atlas 训练系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas A3 训练系列产品/Atlas A3 推理系列产品

msprof_*.json中的NIC层级和nic_*.csv文件

msprof_*.json中的RoCE层级和roce_*.csv文件

db文件的NIC表

db文件的ROCE表

db文件的NETDEV_STATS表

--sys-io-sampling-freq

可选

NIC、ROCE、MAC采集频率,范围[1,100],默认值为100,单位Hz。

设置该参数需要--sys-io-profiling参数设置为on。

Atlas 200I/500 A2 推理产品

Atlas 训练系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas A3 训练系列产品/Atlas A3 推理系列产品

-

--sys-interconnection-profiling=<sys-interconnection-profiling-value>

可选

集合通信带宽数据(HCCS)、PCIe数据采集开关、片间传输带宽信息采集开关、SIO数据采集开关。可选on或off,默认值为off。

  • Atlas 推理系列产品:支持采集PCIe数据
  • Atlas 训练系列产品:支持采集HCCS、PCIe数据
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品:支持采集HCCS、PCIe数据、片间传输带宽信息
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持采集HCCS、PCIe数据、片间传输带宽信息、SIO数据。

Atlas 推理系列产品

Atlas 训练系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas A3 训练系列产品/Atlas A3 推理系列产品

msprof_*.json中的PCIe层级和pcie_*.csv文件

msprof_*.json中的HCCS层级和hccs_*.csv文件

msprof_*.json中的Stars Chip Trans层级

msprof_*.json中的SIO层级

db文件的HCCS表

db文件的PCIE表

--sys-interconnection-freq=<sys-interconnection-freq-value>

可选

集合通信带宽数据(HCCS)、PCIe数据采集频率、片间传输带宽信息采集频率、SIO数据采集频率,范围[1,50],默认值为50,单位Hz。

设置该参数需要--sys-interconnection-profiling参数设置为on。

Atlas 推理系列产品

Atlas 训练系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas A3 训练系列产品/Atlas A3 推理系列产品

-

--dvpp-profiling=<dvpp-profiling-value>

可选

DVPP采集开关,可选on或off,默认值为off。

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas A3 训练系列产品/Atlas A3 推理系列产品

Atlas 推理系列产品不支持解析该性能数据

dvpp_*.csv

--dvpp-freq=<dvpp-freq-value>

可选

DVPP采集频率,范围[1,100],默认值为50,单位Hz。

设置该参数需要--dvpp-profiling参数设置为on。

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas A3 训练系列产品/Atlas A3 推理系列产品

-

--instr-profiling=<instr-profiling-value>

可选

AI Core(包括AIC和AIV核)的带宽和时延采集开关,可选on或off,默认值为off。

需要在单算子场景下采集AI任务性能数据(即传入用户程序)时才能采集到具体性能数据。

Atlas A2 训练系列产品/Atlas A2 推理系列产品:仅单算子场景支持

Atlas A3 训练系列产品/Atlas A3 推理系列产品:仅单算子场景支持

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas A3 训练系列产品/Atlas A3 推理系列产品

msprof_*.json中的biu_group、aic_core_group、aiv_core_group层级

--instr-profiling-freq=<instr-profiling-freq-value>

可选

AI Core(包括AIC和AIV核)的带宽和时延采样间隔,范围[300,30000],默认值为1000,单位cycle。系统对AI Core带宽和延时的真实采集频率=处理器的运行频率/该参数取值,假设AI Core运行频率为5000Hz,该参数取值为1000,则最终采集频率为5Hz,即每秒钟采集5次。

该参数使用前需要--instr-profiling设置为on。

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas A3 训练系列产品/Atlas A3 推理系列产品

-

使用示例

Ascend EP场景下,登录运行环境,在任意路径下执行以下命令:
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
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 --dvpp-profiling=on

msprof命令执行完成后,会自动解析并导出性能数据结果文件,详细内容请参见性能数据文件参考

输出说明

Ascend EP场景下,在--output指定的目录下生成PROF_XXX目录,存放自动解析后的性能数据,相关结果文件请参见表1

Ascend RC场景下,在--output指定的目录下生成PROF_XXX目录,该目录下的文件未经解析无法查看,您需要将PROF_XXX目录上传到开发环境进行数据解析,具体操作方法请参见使用msprof命令解析与导出性能数据,最终生成的结果文件请参见表1