---
title: 采集AI处理器系统数据
description: "msprof支持采集AI处理器的系统数据，并且在采集后可以自动进行性能数据解析和文件落盘。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/devaids/Profiling/atlasprofiling_16_0012.html
sourcePath: /source/zh/canncommercial/900/devaids/Profiling/atlasprofiling_16_0012.html
indexId: 9cfb03ffc4c21fa8f270d3e221ea7e139d75e62db06ae4180f9d5af7de9cc83b75
---
# 采集AI处理器系统数据

#### 功能说明

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


#### 命令格式

Ascend EP形态下，登录运行环境，执行如下命令。
```
msprof --output=<path> --sys-devices=<ID> --sys-period=<period> [options]
```


也可以在采集AI任务运行性能数据时，同时采集系统数据，此时需要传入用户程序或执行脚本，--output、--sys-devices、--sys-period非必选：
```
msprof [options] <app>
```


Ascend RC形态下，登录运行环境，进入msprof工具所在目录“/var”，执行以下命令。
```
./msprof --output=<path> --sys-devices=<ID> --sys-period=<period> [options]
```


也可以在采集AI任务运行性能数据时，同时采集系统数据，此时需要传入用户程序或执行脚本，--output、--sys-devices、--sys-period非必选：
```
./msprof [options] <app>
```


- app参数说明请参见  app参数说明
，options参数说明请参见  参数说明
。
- Ascend EP场景下，使用msprof命令行方式采集整网推理Profiling数据时，如果通过配置--llc-profiling、--sys-cpu-profiling、--sys-profiling和--sys-pid-profiling采集项采集相应数据，采集完成后，除--sys-cpu-profiling采集项仅生成TS CPU数据外，其余采集项均不会生成数据；但在不传入用户程序时，配置上述几个采集项均会有数据生成。
- 对于以下型号，--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 推理系列产品
  - Atlas 350 加速卡


#### 参数说明

- --sys-period=<sys-period-value>：不传入用户程序时，该参数必选。系统的采样时长，取值范围大于0，上限为30*24*3600，单位s。传入用户程序时，该参数不生效。
- --sys-devices=<sys-devices-value>：不传入用户程序时，该参数必选。设备ID。可以为all或多个设备ID（以逗号分隔）。传入用户程序时，该参数不生效。
- --ai-core=<aicore-value>：可选，AI Core数据采集开关。
- --aic-mode=<aic-mode-value>：可选，AI Core硬件的采集类型，可选值task-based或sample-based。该参数配置前提是--ai-core参数设置为on。task-based是以task为粒度进行性能数据采集，sample-based是以固定的时间周期进行性能数据采集。
  采集AI处理器系统数据时建议使用sample-based，如果不配置默认为sample-based。

- --aic-freq=<aic-freq-value>：可选，sample-based场景下的采样频率，默认值100，范围1~100，单位Hz。该参数配置前提是--ai-core参数设置为on。
- --aic-metrics=<aic-metrics-value>：可选，AI Core性能指标采集项。该参数配置前提是--ai-core参数设置为on。取值包括：

  - ArithmeticUtilization：计算类指令耗时占比
  - PipeUtilization：计算类和搬运类指令耗时和占比。
  - Memory：内存读写带宽速率
  - MemoryL0：L0读写带宽速率
  - MemoryUB：UB读写带宽速率
  - ResourceConflictRatio：资源冲突占比
  - L2Cache：L2 Cache命中率
    Atlas 推理系列产品 ：不支持

  - PipelineExecuteUtilization：计算类和搬运类指令耗时和占比
    Atlas 推理系列产品 ：不支持

    Atlas 训练系列产品 ：不支持

    Atlas A2 训练系列产品 / Atlas A2 推理系列产品 ：不支持

    Atlas A3 训练系列产品 / Atlas A3 推理系列产品 ：不支持

    Atlas 350 加速卡：不支持

  - MemoryAccess：
    Atlas 200I/500 A2 推理产品 ：不支持

    Atlas 推理系列产品 ：不支持

    Atlas 训练系列产品 ：不支持

    Atlas 350 加速卡：不支持

默认值：
Atlas 200I/500 A2 推理产品 ：PipelineExecuteUtilization
Atlas 推理系列产品 ：PipeUtilization
Atlas 训练系列产品 ：PipeUtilization
Atlas A2 训练系列产品 / Atlas A2 推理系列产品 ：PipeUtilization
Atlas A3 训练系列产品 / Atlas A3 推理系列产品 ：PipeUtilization
Atlas 350 加速卡：PipeUtilization
支持自定义需要采集的寄存器，例如：--aic-metrics=Custom:0x49,0x8,0x15,0x1b,0x64,0x10。Custom字段表示自定义类型，配置为具体的寄存器值，范围[0x1, 0x7FFFFFFF]。并非所有的可取值都有对应的PMU寄存器，若配置的值无对应PMU寄存器，则采集结果可能为0。配置的寄存器数最多不能超过8个，寄存器通过“,”区分开。寄存器的值支持十六进制或十进制。
- --sys-hardware-mem=<sys-hardware-mem-value>：可选，片上内存读写速率、QoS传输带宽、LLC三级缓存带宽、加速器带宽、SoC传输带宽、组件内存占用等的采集开关，可选on或off，默认为off。不同型号的采集内容略有差异，请以实际结果为准。
  采集组件内存数据需要在采集AI任务性能数据（即传入用户程序）时才能采集到具体性能数据。

  已知在安装有glibc<2.34的环境上采集memory数据，可能触发glibc的一个已知Bug 19329(https://sourceware.org/bugzilla/show_bug.cgi?id=19329)，通过升级环境的glibc版本可解决此问题。

- --sys-hardware-mem-freq=<sys-hardware-mem-freq-value>：可选，--sys-hardware-mem的采集频率，范围[1,100]，默认值为50，单位Hz。
  Atlas 350 加速卡，QoS和SoC支持的采集频率最大支持配置10000，其他采集项支持的最大采集频率仍为100，若配置超出范围，其他采集项则按照最大采集频率100进行采集。

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

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

  Atlas 200I/500 A2 推理产品

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

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

- --llc-profiling=<llc-profiling-value>：可选，LLC Profiling采集事件，需要--sys-hardware-mem设置为on。取值包括：

  - read：读事件，三级缓存读速率，默认为read。
  - write：写事件，三级缓存写速率。
- --sys-cpu-profiling=<sys-cpu-profiling-value>：可选，CPU（AI CPU、Ctrl CPU等）采集开关。可选on或off，默认值为off。
- --sys-cpu-freq=<sys-cpu-freq-value>：可选，CPU采集频率，范围[1,50]，默认值为50，单位Hz。设置该参数需要--sys-cpu-profiling参数设置为on。
- --sys-profiling=<sys-profiling-value>：可选，系统CPU usage及System memory采集开关。可选on或off，默认值为off。
  使用该命令后，Profiling工具会调用Device侧的Perf工具，Perf仅执行相关性能数据采集，无法获取其他运行态信息，实际风险小。

- --sys-sampling-freq=<sys-sampling-freq-value>：可选，系统CPU usage及System memory采集频率，范围[1,10]，默认值为10，单位Hz。设置该参数需要--sys-profiling参数设置为on。
- --sys-pid-profiling=<sys-pid-profiling-value>：可选，所有进程的CPU usage及所有进程的memory采集开关。可选on或off，默认值为off。
- --sys-pid-sampling-freq=<sys-pid-sampling-freq-value>：可选，所有进程的CPU usage及所有进程的memory采集频率，范围[1,10]，默认值为10，单位Hz。设置该参数需要--sys-pid-profiling参数设置为on。
- --sys-io-profiling=<sys-io-profiling-value>：可选，NIC、ROCE、MAC、UB带宽数据采集开关。可选on或off，默认值为off。

  - Atlas 200I/500 A2 推理产品：仅RC场景支持采集NIC，容器场景参数不生效
  - Atlas 推理系列产品：不支持该参数。
  - Atlas 训练系列产品：支持采集NIC和ROCE
  - Atlas A2 训练系列产品 / Atlas A2 推理系列产品：支持采集NIC、ROCE和MAC
  - Atlas A3 训练系列产品 / Atlas A3 推理系列产品：支持采集NIC、ROCE和MAC
  - Atlas 350 加速卡：支持采集UB带宽数据
- --sys-io-sampling-freq=<sys-io-sampling-freq-value>：可选，NIC、ROCE、MAC、UB带宽数据采集频率，范围[1,100]，默认值为100，单位Hz。设置该参数需要--sys-io-profiling参数设置为on。
  Atlas 200I/500 A2 推理产品 不支持该参数。

- --sys-interconnection-profiling=<sys-interconnection-profiling-value>：可选，集合通信带宽数据（HCCS）、集合通信硬件加速单元（CCU）带宽数据、PCIe数据、片间传输带宽信息、SIO数据、UB带宽数据采集开关。不同型号的采集内容略有差异，请以实际结果为准。可选on或off，默认值为off。

  - Atlas 200I/500 A2 推理产品不支持该参数。
  - Atlas 推理系列产品：支持采集PCIe数据
  - Atlas 训练系列产品：支持采集HCCS、PCIe数据
  - Atlas A2 训练系列产品 / Atlas A2 推理系列产品：支持采集HCCS、PCIe数据、片间传输带宽信息
  - Atlas A3 训练系列产品 / Atlas A3 推理系列产品：支持采集HCCS、PCIe数据、片间传输带宽信息、SIO数据。
  - Atlas 350 加速卡：支持采集CCU带宽数据、PCIe数据、片间传输带宽信息、SIO数据、UB带宽数据。
- --sys-interconnection-freq=<sys-interconnection-freq-value>：可选，集合通信带宽数据（HCCS）、集合通信硬件加速单元（CCU）带宽数据、PCIe数据采集频率、片间传输带宽信息采集频率、SIO数据采集频率、UB带宽数据采集频率，范围[1,50]，默认值为50，单位Hz。
  设置该参数需要--sys-interconnection-profiling参数设置为on。

  Atlas 200I/500 A2 推理产品 不支持该参数。

- --dvpp-profiling=<dvpp-profiling-value>：可选，DVPP采集开关，可选on或off，默认值为off。
- --dvpp-freq=<dvpp-freq-value>：可选，DVPP采集频率，范围[1,100]，默认值为50，单位Hz。设置该参数需要--dvpp-profiling参数设置为on。
- --instr-profiling=<instr-profiling-value>：可选，AI Core（包括AIC和AIV核）的带宽和时延采集开关，可选on或off，默认值为off。
  仅以下型号支持该参数：

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

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

  Atlas 350 加速卡

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

  对于Atlas 350 加速卡，可能会因最后一段指令的统计时间超长导致统计不准确，建议使用msprof op方式采集。

  该开关与--ascendcl、--model-execution、--runtime-api、--hccl、--task-time、--aicpu、--ai-core、--aic-mode、--aic-freq、--aic-metrics、--l2互斥，无法同时使用。

- --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
```


在--output指定的目录下生成PROF_XXX目录，存放自动解析后的性能数据，相关结果文件请参见性能数据文件参考。

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
```


在--output指定的目录下生成PROF_XXX目录，该目录下的文件未经解析无法查看，您需要将PROF_XXX目录上传到开发环境进行数据解析，具体操作方法请参见使用msprof命令解析、查询与导出性能数据。
