
# 轻量算力节点超节点定期压测
#### 场景描述
针对超节点Snt9b23，支持用户定期对昇腾服务器进行性能测试和故障诊断，及时发现NPU故障，减少业务影响。
表1性能测试 
| 性能测试场景     | 场景说明                                                                                    |
|:---|:---|
| 带宽测试       | 带宽测试主要用于测试总线带宽、内存带宽和总耗时。                                                                |
| 算力测试       | 算力测试通过构造矩阵乘"A(m,k)\*B(k,n)"并执行一定次数的方式，根据运算量与执行多次矩阵乘所耗时间来计算整卡或处理器中AI Core的算力值和满算力下实时的功率。 |
| 功耗测试       | 功耗测试是通过运行单算子模型来检测整卡的功耗信息。                                                               |
| 眼图测试       | 用户使用眼图测试功能对网络进行测试，查询当前信号质量。                                                             |
| 码流测试       | 码流测试主要包含一键式打流和自定义打流。                                                                    |
| 软硬件版本兼容性测试 | 软硬件兼容性工具会获取硬件信息、架构、驱动版本、固件版本以及软件版本。                                                     |
   
表2故障诊断 
| 故障诊断场景          | 场景说明                                            |
|:---|:---|
| Network诊断       | 对网络健康状态进行诊断，并输出诊断结果。                            |
| SignalQuality诊断 | 对信号质量进行诊断，并输出诊断结果。                              |
| 片上内存诊断          | 对高带宽内存进行诊断，并输出诊断结果。                             |
| 片上内存压测          | 对高带宽内存进行压力测试，并输出诊断结果。                           |
| 片上内存高危地址压测      | 对高带宽内存高危地址进行压力测试，并输出诊断结果。                       |
| AICore诊断        | 对AICore ERROR进行诊断，并输出诊断结果。                      |
| AIflops诊断       | 对芯片进行算力诊断，并输出测试结果。                              |
| Bandwidth诊断     | 对本地带宽进行诊断，并输出诊断结果。                              |
| P2P压测           | 测试指定源头Device到目标Device的HCCS通信链路是否存在硬件故障，并输出测试结果。 |
| 功耗压测            | 进行EDP/TDP功耗压力测试，并输出诊断结果。                        |
   
#### 约束限制
- 仅支持超节点Snt9b23。
- 压测使用工具Ascend DMI，其不支持在同一个设备里同时开启多个进程来测试性能数据，多进程测试时，可能导致测试结果不准确或者失败等不可预测情况。
- 性能测试和故障诊断会影响训练或推理业务，执行命令前请确保无业务运行。
- 为保证返回检测结果的正确性和准确性，请单独执行各个检测命令。
- Ascend DMI工具只能对在位的NPU卡进行检查，为保证测试结果的准确性，请先执行**npu-smi info**命令检查NPU卡是否正常在位。
 
#### 性能测试一：带宽测试
带宽测试主要用于测试总线带宽、内存带宽和总耗时。带宽测试命令的可用参数说明见[表3]。
```
ascend-dmi --bw -h
```
 表3带宽测试参数说明 
| 参数                             | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | 是否必填 |
|:---|:---|:---|
| \[-bw, --bw, --bandwidth\]     | 使用该参数测试芯片的带宽。支持-bw，但建议使用--bw或--bandwidth。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | 是    |
| \[-t, --type\]                 | 指测试数据流向的分类。当使用带宽测试功能时，测试的数据流可以分为以下方向，如果不填写数据流方向则默认返回h2d、d2h、d2d。 三个方向的带宽和总耗时。 - h2d：指数据从Host侧内存通过PCIe总线搬移到Device侧内存，测试整体带宽及总耗时。  - d2h：指数据从Device侧内存通过PCIe总线搬移到Host侧内存，测试整体带宽及总耗时。  - d2d：指数据从Device侧内存搬移到同一Device侧内存（主要是用于测试Device侧的内存带宽），测试整体带宽及总耗时。  - p2p：测试指定源头Device到目标Device的传输速率和总耗时。   | 否    |
| \[-s, --size\]                 | 指传输数据大小并指定测试结果显示方式。超节点系列产品：d2h/h2d/p2p这3种模式下，最大传输数值为1Byte\~4G。 - 指定-s参数后面必须填写数值指定传输数据的大小，不填写属于错误写法。 - 在h2d、d2h、d2d以及p2p且指定-ds和-dd场景：指定-s为定长模式；不指定-s为步长模式，传输数据的默认取值范围为2Byte\~32M。                                                                                                                                                                                                                                                                                                | 否    |
| \[-et, --et, --execute-times\] | 指迭代次数，即内存复制次数。取值范围为\[1, 1000\]，如果不填写，步长模式下复制次数则默认为5，定长模式下复制次数则默认为40。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | 否    |
| \[-d, --device\]               | 指定需要测试带宽的Device ID，Device ID是指昇腾AI处理器的逻辑ID，如果不填写Device ID则默认返回Device 0带宽信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | 否    |
| \[-ds, --ds, --device-src\]    | 指定p2p测试的源头Device的ID号。必须与\[-dd, --dd, --device-dst\]参数成对指定；如果与\[-dd, --dd, --device-dst\]参数同时不指定时，测试全量的昇腾NPU芯片。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | 否    |
| \[-dd, --dd, --device-dst\]    | 指定p2p测试的目标Device的ID号。必须与\[-ds, --ds, --device-src\]参数成对指定；如果与\[-ds, --ds, --device-src\]参数同时不指定时，测试全量的昇腾NPU芯片。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | 否    |
| \[-fmt, --fmt, --format\]      | 指定输出格式，可以为normal或json。如果未指定则默认为normal。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | 否    |
| \[-q, --quiet\]                | 指定该参数时，将不再进行防呆提示，用户将默认允许该操作。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | 否    |
   
使用示例，以测试数据从Device侧传输到同一Device侧的带宽与总耗时为例。
```
ascend-dmi --bw -t d2d -d 0
```
图1带宽测试示例   
![](https://support.huaweicloud.com/resmgmt-modelarts/figure/zh-cn_image_0000002370647560.png)
表4带宽测试回显参数说明 
| 参数                      | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|
| Host to Device Test     | 带宽数据流方向。有以下显示可能： - Host to Device Test  - Device to Host Test  - Device to Device Test  - Unidirectional Peer to Peer Test  - Bidirectional Peer to Peer Test   |
| Device X : Ascend *XXX* | Device *X* 为当前测试的设备ID，Ascend *XXX*为处理器类型。0表示源头设备，1表示目标设备。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ID                      | 0→1表示测试Device 0到Device 1的单向P2P带宽。 0↔1表示测试Device 0和Device 1的双向p2p带宽。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Size(Bytes)             | 传输数据大小，单位为字节。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| Execute Times           | 迭代次数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Bandwidth(GB/s)         | 芯片的带宽。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Elapsed Time(us)        | 总执行时长。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   
#### 性能测试二：算力测试
算力测试通过构造矩阵乘"A(m,k)\*B(k,n)"并执行一定次数的方式，根据运算量与执行多次矩阵乘所耗时间来计算整卡或处理器中AI Core的算力值和满算力下实时的功率。算力测试的可用参数说明见[表5]。
 表5算力测试参数说明 
| 参数                             | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                  | 是否必填 |
|:---|:---|:---|
| \[-f, --flops\]                | 使用该参数测试整卡或芯片的算力。                                                                                                                                                                                                                                                                                                                                                                                                                    | 是    |
| \[-t, --type\]                 | 指定算子运算类型，可以为fp16、fp32、hf32、bf16和int8，如果未指定则默认为fp16。                                                                                                                                                                                                                                                                                                                                                                                 | 否    |
| \[-d, --device\]               | 指定Device ID，执行该Device ID所在整卡的算力测试，Device ID是指昇腾芯片的逻辑ID，如果不填写Device ID则默认返回Device 0的算力信息。                                                                                                                                                                                                                                                                                                                                            | 否    |
| \[-et, --et, --execute-times\] | 指定芯片单个AI Core上运行矩阵乘法的执行次数。 - 训练场景：如果不填写执行次数则默认为60。训练场景单位为十万，参数范围为\[10，80\]。  - 推理场景：如果不填写执行次数则默认为10。推理场景单位为百万，参数范围为\[10，80\]。   | 否    |
   
使用示例，在Device 7上，执行算子运算类型为int8，执行次数为600万的算力。
```
ascend-dmi -f -t int8 -d 7 -et 60 -q
```
图2算力测试示例   
![](https://support.huaweicloud.com/resmgmt-modelarts/figure/zh-cn_image_0000002404281053.png "点击放大")
表6算力测试回显参数说明 
| 参数            | 说明                                  |
|:---|:---|
| Device        | Device ID。                          |
| Execute Times | 为单个AI Core执行矩阵乘的次数乘以AI Core的个数计算所得。 |
| Duration(ms)  | 执行多次矩阵乘所耗费的时间。                      |
| TFLOPS@*FP16* | 进行算力测试得到的算力值。FP16为指定的算子运行类型。        |
| Power(W)      | 满算力下的实时功率。                          |
   
#### 性能测试三：功耗测试
功耗测试是通过运行单算子模型来检测整卡的功耗信息。功耗测试的可用参数说明见[表7]。
```
ascend-dmi -p -h
```
 表7功耗测试参数说明 
| 参数                              | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 是否必填 |
|:---|:---|:---|
| \[-p, --power\]                 | 使用该参数进行整卡的功耗测试。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | 是    |
| \[-t, --type\]                  | 指定算子运算类型，可以为fp16或int8，如果未指定则默认为fp16。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | 否    |
| \[-pt, --pt, --pressure-type\]  | 使用该参数指定压力测试的类型。 - 当前支持指定以下2种类型： - edp（Estimated Design Power）：EDP功耗压力测试。  - tdp（Thermal Design Power）：TDP功耗压力测试。    - 支持和--dur、--it、--pm、-q参数一起使用。  - 不支持和-t参数一起使用。  - 不指定该参数时默认进行整卡的功耗测试。   | 否    |
| \[-dur, --dur, --duration\]     | 指运行时间，如果不填写运行时间则默认为600。单位为秒，取值范围为\[60，604800\]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | 否    |
| \[-it, --it, --interval-times\] | 指屏幕信息打印刷新的间隔时间，如果不填写间隔时间则默认为5。单位为秒，取值范围为\[1, 5\]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | 否    |
| \[--skip-check\]                | 传入此参数时会跳过设备健康状态检查。不传入此参数，默认会进行设备健康状态检查。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | 否    |
| \[-pm, --pm, --print-mode\]     | 屏幕输出的打印模式，如果不填写打印模式则默认为refresh。打印模式： - refresh：每次打印清除历史打印信息。  - history：打印保存历史信息。说明 refresh模式下，当芯片数量较多时，建议调小字体使得所有结果都在一个屏幕中，否则可能会显示异常，重复打印部分内容。                                                                                                                                                                                                                                                                                                                                                                                                                           | 否    |
   
使用示例，以执行时间为60s，信息的打印间隔信息为5s，屏幕的输出模式为清除历史记录为例。
```
ascend-dmi -p --dur 60 --it 5--pm refresh
```
图3功耗测试示例
![](https://support.huaweicloud.com/resmgmt-modelarts/figure/zh-cn_image_0000002370647916.png)
![](https://support.huaweicloud.com/resmgmt-modelarts/figure/zh-cn_image_0000002485147960.png)
表8功耗测试回显参数说明 
| 参数            | 说明             |
|:---|:---|
| Type          | 标卡型号           |
| Card          | 卡ID号           |
| Chip          | 处理器编号          |
| Name          | 处理器名称          |
| Type          | 处理器型号          |
| Chip Name     | 处理器名称          |
| NPU Count     | NPU的个数         |
| Power         | 当前整卡或芯片的实际功耗   |
| Health        | 处理器健康程度        |
| Temperature   | 处理器当前温度        |
| Device ID     | 处理器设备逻辑号       |
| AI Core Usage | 处理器AI Core的使用率 |
| Voltage       | 处理器当前电压        |
| Frequency     | 处理器当前频率        |
   
#### 性能测试四：眼图测试
用户使用眼图测试功能对网络进行测试，查询当前信号质量。本功能主要用于查询信号质量的具体数据。判断当前端口信号质量是否正常，请执行signalQuality诊断。在同一NPU内，如果已配置CDR回环，请在解除回环后再执行眼图测试。眼图测试的可用参数说明见[表9]。
```
ascend-dmi --sq -h
```
 表9眼图测试参数说明 
| 参数                              | 说明                                                                     | 是否必填 |
|:---|:---|:---|
| \[-sq, --sq, --signal-quality\] | 查询NPU上的PCIe、HCCS和RoCE通信端口的信号质量。                                        | 是    |
| \[-d, --device\]                | 指定查询的Device ID。指定多个芯片时，使用英文逗号进行分隔。不指定该参数时，默认查询该设备上所有的NPU。              | 否    |
| \[-t --type\]                   | 指定通信端口的类型。当前支持HCCS和RoCE，指定多个通信端口的类型时，使用英文逗号进行分隔。如果不指定该参数则将查询RoCE的信号质量。 | 否    |
   
使用示例，查看Device0和Device1的HCCS、RoCE信号质量。
图4眼图测试示例   
![](https://support.huaweicloud.com/resmgmt-modelarts/figure/zh-cn_image_0000002370641548.png "点击放大")
表10HCCS信号质量回显参数说明 
| 参数              | 说明                                        |
|:---|:---|
| type            | 指定通信端口的类型。                                |
| device          | NPU的逻辑ID。                                 |
| M\*（macro port） | 表示macro端口，例如M0、M1分别表示macro的0号、1号端口。       |
| L\*（LANE）       | 表示HCCS链路中的第几条lane，例如L0、L1分别表示第0条和第1条lane。 |
| S（SNR）          | 表示lane的信噪比。                               |
| H（HEH）          | 表示lane的半眼高。                               |
   
表11RoCE信号质量回显参数说明 
| 参数              | 说明                                        |
|:---|:---|
| type            | 指定通信端口的类型。                                |
| device          | 表示NPU的逻辑ID。                               |
| M\*（macro port） | 表示macro端口，例如M0表示macro端口0。                 |
| S（SNR）          | 表示lane的信噪比。                               |
| H（HEH）          | 表示lane的半眼高。                               |
| L\*（LANE）       | 表示RoCE链路中的第几条lane，例如L0、L1分别表示第0条和第1条lane。 |
   
#### 性能测试五：码流测试
码流测试主要包含一键式打流和自定义打流。
表12码流测试介绍 
| 测试项名称 | 支持的打流方式                           | 使用方法                                                              |
|:---|:---|:---|
| 一键式打流 | CDR环回打流、光模块外接光纤回路器（自环器）打流         | 执行一键式打流命令，Ascend DMI工具将自动完成发送及接收指定device所有lane的码流，一段时间后关闭码流并查询结果。 |
| 自定义打流 | CDR环回打流、光模块外接光纤回路器（自环器）打流、NPU直连打流 | 自定义打流是将一键式打流中的各步骤独立出来，用户可灵活控制打流的TX、RX方向开关和指定打流的具体lane。            |
   
打流方式主要有以下三种：
- CDR环回打流：是指单个Device同时发送和接收，可用于检查从NPU的物理serdes端口到CDR单元的信号质量。在打流前请确保光模块在位，然后执行如下命令配置或解除CDR回环。 配置CDR回环，t依次取值3和0，一次执行如下命令，其中i表示NPU卡id：
  hccn_tool -i 0 -scdr -t 3
  hccn_tool -i 0 -scdr -t 0
  解除CDR回环，t依次取值2和1：一次执行如下命令，其中i表示NPU卡id：
  hccn_tool -i 0 -scdr -t 2
  hccn_tool -i 0 -scdr -t 1
  
- 光模块外接光纤回路器（自环器）打流：单个Device同时发送和接收，可用于检查NPU的物理serdes端口到光模块的信号质量，不需要设置环回。
- NPU直连打流：NPU A的Serdes端口开启TX方向打流后，数据流通过被测链路到达NPU B的Serdes端口，NPU B的RX方向按照码型比对，统计接收到的数据统计误码情况，可检查两个NPU之间链路的信号质量（仅支持自定义打流）。
码流测试的可用参数，参数说明见[表13]。
```
ascend-dmi --prbs-check -h
```
 表13码流测试参数说明 
| 参数                                           | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | 是否必填 |
|:---|:---|:---|
| \[-pc, --pc, --prbs-check\]                  | 使用该参数进行prbs码流测试。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | 是    |
| \[-d, --device\]                             | 指定需要进行码流测试的Device ID。 - Device ID是指昇腾AI处理器的逻辑ID，如果不填写该参数，则测试全部NPU芯片的码流。  - 可同时指定多个Device ID，多个Device ID之间用逗号隔开。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | 否    |
| \[-dur, --dur, --duration\]                  | 指定码流测试的时长。 - 参数取值范围为\[3，10\]，单位为秒。  - 不指定该参数时，默认值为3。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | 否    |
| \[--prbs-mode\]                              | 是否切换打流状态。 --取值为EN（Enable）：开启。 --取值为DS（Disable）：关闭。 - 取值支持大小写。  - 指定--prbs-mode为EN或DS时，信号发送端和信号接收端两个方向均会生效，无论是否指定--generator-pattern,--generator-lanes,--checker-pattern,--checker-lanes参数。  - 指定--prbs-mode为EN时，支持指定-generator-pattern、--checker-pattern、--generator-lanes、--checker-lanes。  - 指定--prbs-mode为DS时，停止打流。不支持指定-generator-pattern、--checker-pattern、--generator-lanes、--checker-lanes。  - 本参数不支持与--show参数或--clear参数同时使用。   | 是    |
| \[--generator-pattern\]                      | 指定发送端的码流类型。 - 当前支持测试的码流类型为：prbs7、prbs9、prbs10、prbs11、prbs15、prbs20、prbs23、prbs31。  - 不指定该参数时，默认值为prbs31。  - 指定码型时大小写均可生效，例如prbs7也可以写为PRBS7。  - 本参数不支持与--show参数或--clear参数同时使用。                                                                                                                                                                                                                                                                                                                                                                                                                                                         | 否    |
| \[--generator-lanes\]                        | 指定发送端的lane。 - 可同时指定1个或多个lane，多个之间用逗号分开。指定多个lane时必须连续指定，如0,1,2或2,1,3，不支持非连续指定。  - 如果不指定，则默认测试所有lanes。  - 本参数不支持与--show参数或--clear参数同时使用。  - 可取值为0、1、2、3。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | 否    |
| \[--checker-pattern\]                        | 指定接收端的码流类型。 - 当前支持校验的码流类型为：prbs7、prbs9、prbs10、prbs11、prbs15、prbs20、prbs23、prbs31。  - 不指定该参数时，默认值为prbs31。  - 指定码型时大小写均可生效，例如prbs7也可以写为PRBS7。  - 本参数不支持与--show参数或--clear参数同时使用。                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | 否    |
| \[--checker-lanes\]                          | 指定接收端的lane。 - 可同时指定1个或多个lane，多个之间用逗号分开。指定多个lane时必须连续指定，如0,1,2或2,1,3，不支持非连续指定。  - 如果不指定，则默认测试所有lanes。  - 本参数不支持与--show参数或--clear参数同时使用。  - 可取值为0、1、2、3。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | 否    |
| \[-show, --show, --show-diagnostic-info\]    | 展示码流测试的结果。 - 本参数不支持与以下参数同时使用：--clear、--prbs-mode、--generator-pattern、--generator-lanes、--checker-pattern、--checker-lanes。  - 展示信息后当前码流测试的结果即会被清空。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | 否    |
| \[-clear, --clear, --clear-diagnostic-info\] | 清空码流测试的结果信息。 - 本参数不支持与以下参数同时使用：--show、--prbs-mode、--generator-pattern、--generator-lanes、--checker-pattern、--checker-lanes。  - 支持除以上参数外的其余参数同时使用。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | 否    |
   
一键式打流使用示例如下：
```
ascend-dmi -pc -d 9 --pattern prbs15 -dur 5
```
图5一键式打流示例   
![](https://support.huaweicloud.com/resmgmt-modelarts/figure/zh-cn_image_0000002370641680.png "点击放大")
表14一键式打流回显参数说明 
| 参数          | 说明                       |
|:---|:---|
| device      | 表示NPU的逻辑ID。              |
| lane        | 表示RoCE链路的lane通道ID。       |
| error count | 误码数，最大值为67092480，表示满误码。  |
| error rate  | 误码率，当误码率小于10-5为信号质量正常。   |
| alos        | 值为0表示正常；值为1通常表示输入信号幅度过低。 |
| times       | 表示打流时长。                  |
   
自定义打流使用示例如下：
```
# 开启Device8和Device9码流测试
ascend-dmi -pc --clear --device 8,9 -q
# Device8和Device9，发送端为lane0和lane1，码型为prbs20；接收端为lane2和lane3，码型为prbs23
ascend-dmi -pc --prbs-mode EN -q --device 8,9 --generator-pattern prbs20 --generator-lanes 0,1--checker-pattern prbs23 --checker-lanes 2,3
# 展示Device8和Device9码流测试结果
ascend-dmi -pc --show-diagnostic-info -d 8,9 -q
# 关闭Device8和Device9上的打流
ascend-dmi -pc --prbs-mode DS -d 8,9 -q
# 清空Device8和Device9上的打流结果
ascend-dmi -pc --clear-diagnostic-info -d 8,9 -q
```
图6自定义打流示例   
![](https://support.huaweicloud.com/resmgmt-modelarts/figure/zh-cn_image_0000002404201541.png "点击放大")
表15自定义打流回显参数说明 
| 参数                  | 说明                                  |
|:---|:---|
| Lane                | 对应RoCE链路的lane id。                   |
| Check Enable        | 接收端的check状态。0：关闭，1：开启               |
| Pattern             | RX方向check的码型。                       |
| Error-Bits          | 误码数，上限为67092480（满误码）。               |
| Bit-Error Rate（BER） | 误码率，误码数÷总传输bit数×100%。               |
| ALOS                | 正常打流时需要为0，为1通常表示信号幅度过低；未打流时无意义无需关注。 |
| Period              | 距离上一次操作控制打流/读取check结果的时间。           |
   
#### 性能测试六：软硬件版本兼容性测试
软硬件兼容性工具会获取硬件信息、架构、驱动版本、固件版本以及软件版本。软硬件兼容性测试的可用参数说明见[表16]。
```
ascend-dmi -c -h
```
 表16软硬件版本兼容性测试说明 
| 参数                   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                       | 是否必填 |
|:---|:---|:---|
| \[-c, --compatible\] | 使用该参数进行软硬件版本兼容性检测。 - 如果已安装驱动22.0.0或CANN 6.2.RC1及其以后的版本，执行"-c"参数时，会对NPU固件和驱动、驱动和CANN进行兼容性检测。  - 如果驱动为22.0.0之前的版本且CANN为6.2.RC1之前的版本，执行"-c"参数时，会检测对应的驱动、固件和软件包是否安装。   | 是    |
| \[-p, --path\]       | 用户指定检测兼容性的CANN软件包的安装路径，如果不指定，将根据默认安装路径进行测试。 指定软件包安装路径的命令示例： **ascend-dmi -c -p /home/xxx/Ascend**                                                                                                                                                                                                                                                           | 否    |
   
软硬件版本兼容性测试使用示例如下：
```
ascend-dmi -c
```
图7软硬件版本兼容性测试示例   
![](https://support.huaweicloud.com/resmgmt-modelarts/figure/zh-cn_image_0000002370648824.png "点击放大")
表17软硬件版本兼容性测试回显参数说明 
| 参数                         | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|
| System Information         | 系统信息                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Architecture               | 架构                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Type                       | 标卡型号/芯片型号                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Compatibility Check Result | 兼容性检测结果                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Package                    | 包名                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Version                    | 版本                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Status                     | 状态，会返回如下状态： - OK：兼容  - INCOMPATIBLE PACKAGE：不兼容  - NA：未知状态，可能是获取软件版本失败导致说明 非root用户不支持固件兼容性查询，npu-firmware状态会显示为NA。    |
| Innerversion               | 内部版本号                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Dependencies               | 依赖                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   
#### 故障诊断
查看故障诊断命令可用参数。
```
ascend-dmi --dg -h
```
表18故障诊断参数说明 
| 参数                           | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | 是否必填 |
|:---|:---|:---|
| \[-dg, --dg, --diagnosis\]   | 使用该参数进行整卡的故障诊断测试。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | 是    |
| \[-i, --items\]              | 指定具体的诊断检查项。 - 可指定driver、cann、device、network、bandwidth、aiflops、hbm、signalQuality中的一项或多项，多项时各项之间使用","分隔。  - 不传入此参数，则默认执行除aicore和prbs外其他检查项的诊断。                                                                                                                                                                    | 否    |
| \[-d, --device\]             | 指定需要进行诊断测试的Device ID，Device ID是指昇腾芯片的逻辑ID。 - 可指定一个或多个Device ID，多个时各项之间使用","分隔。    - 如果不填写Device ID则默认返回所有Device的诊断结果。                                                                                                                               | 否    |
| \[-r, --result\]             | 指定压测结果和信息采集结果的保存路径，如：/test。指定的路径需符合安全要求，且不支持包含通配符"\*"。 - 如果用户指定结果保存路径，则在指定路径创建ascend_check文件夹，root用户指定的路径，将创建在根目录下，非root用户则创建在其$HOME下；  - 如果不指定路径，则保存在默认路径下，root用户："/var/log/ascend_check"，非root用户："*$HOME*/var/log/ascend_check"。                                                                          | 否    |
| \[-s, --stress\]             | 使用该参数进行压力测试，当前支持指定的压力测试有以下几种：片上内存压测、Aicore压测、P2P压测、功耗压测。 - 在包含片上内存和功耗的场景下，支持与-st参数一起使用，执行压测的时间以--st指定的时间为准。  - 在包含Aicore检查项的场景下，支持与-sc参数一起使用，执行压测的次数以--sc指定的次数为准。  - 当items参数指定bandwidth时，支持与-t参数一起使用，表示进行P2P压测。   | 否    |
| \[-st, --st, --stress-time\] | 指定EDP、TDP压力测试的时间。 - 取值范围是\[60，604800\]，单位为秒。  - 需要在包含EDP、TDP压测检查项的场景下，与\[-s, --stress\]配合使用。  - 需要在包含片上内存诊断检查项的场景下，与\[-s, --stress\]配合使用。                                                                             | 否    |
| \[-fmt, --fmt, --format\]    | 指定输出格式，可以为normal或json。 - 如果未指定则默认为normal。  - 当\[-fmt, --fmt, --format\]后检查项指定json格式输出时，会进行压测结果保存，结果保存在"ascend_check/environment_check_before.txt"文件中，不指定json格式输出时，不保存故障诊断结果。                                                                                                                                 | 否    |
| \[-h, --help\]               | 查看故障诊断命令的可用参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | 否    |
   
#### 故障诊断一：NetWork诊断
对网络健康状态进行诊断，并输出诊断结果。
```
# 使用示例，对Device0网络健康状态进行诊断
ascend-dmi -dg -i network -d 0
```
图8NetWork诊断示例   
![](https://support.huaweicloud.com/resmgmt-modelarts/figure/zh-cn_image_0000002404208545.png "点击放大")
回显参数说明如下：
- PASS：网络检测结果健康。
- SKIP：当前产品形态不支持该项检测。
- INFO：网络检测结果提示。
- WARN：网络检测结果告警。
- FAIL：网络检测结果失败。
 
#### 故障诊断二：SignalQuality诊断
对信号质量进行诊断，并输出诊断结果。
```
# 使用示例，SignalQuality诊断
ascend-dmi -dg -i signalQuality -q
```
图9SignalQuality诊断示例   
![](https://support.huaweicloud.com/resmgmt-modelarts/figure/zh-cn_image_0000002404288777.png "点击放大")
回显参数说明如下：
- PASS：检测通过，NPU上HCCS和RoCE通信端口的信号质量正常。
- SKIP：当前设备不支持眼图诊断。
- IMPORTANT_WARN：重要警告。HCCS和RoCE（其中的一项或多项）信号质量有异常，请联系华为工程师处理。
- FAIL：眼图检测执行失败。
 
#### 故障诊断三：片上内存诊断
对高带宽内存进行诊断，并输出诊断结果。
```
# 使用示例，片上内存诊断
ascend-dmi -dg -i hbm
```
图10片上内存诊断示例   
![](https://support.huaweicloud.com/resmgmt-modelarts/figure/zh-cn_image_0000002404205925.png "点击放大")
表19片上诊断回显参数说明 
| 回显状态           | 含义                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|
| PASS           | 片上内存检测通过，无异常。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| SKIP           | 当前硬件形态不支持片上内存检测。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| GENERAL_WARN   | 历史多比特存在隔离页，告警NPU芯片健康管理故障码为0x80E18401，可以继续使用。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| IMPORTANT_WARN | 当前实时隔离页数与已隔离页数存在差异，必须进行重启，复位npu芯片。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| EMERGENCY_WARN | - 历史多比特隔离页数及设备隔离行过多，告警NPU芯片健康管理故障码为0x80E18402，建议更换备件。    - 相同Stack及PC内的隔离行处于不同Bank的数量 ≥ 4，当前设备运行存在高风险，建议更换备件。  - 相同Stack、相同Sid及不同PC内的隔离行 ≥ 4，当前设备运行存在高风险，建议更换备件。  - 相同Stack、Sid、PC及Bank内的隔离行 ＞16，当前设备运行存在高风险，建议更换备件。  - 相同Stack、Sid、PC及Bank内，排除4bit及以内相邻的错误地址，其他不同地址的数量 ＞ 5，当前设备运行存在高风险，建议更换备件。   |
| FAIL           | 片上内存检测失败，请联系华为工程师处理                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   
#### 故障诊断四：片上内存压测
对高带宽内存进行压力测试，并输出诊断结果。
```
# 使用示例，
ascend-dmi -dg -i hbm -s -st 60 -q
```
图11片上内存诊断示例   
![](https://support.huaweicloud.com/resmgmt-modelarts/figure/zh-cn_image_0000002404206613.png "点击放大")
回显参数说明：
- PASS：片上内存压测通过。
- SKIP：当前设备不支持片上内存压测。
- FAIL：片上内存压测失败，有新增的多比特隔离页；软件执行失败。
 
#### 故障诊断五：片上内存高危地址压测
对高带宽内存高危地址进行压力测试，并输出诊断结果。
表20片上内存高危地址压测必要参数说明 
| 参数                            | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | 是否必填 |
|:---|:---|:---|
| \[-s, --stress\]              | 使用该参数进行压力测试，当前支持指定的压力测试有以下几种：片上内存压测、Aicore压测、P2P压测、功耗压测。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | 是    |
| \[-qs, --qs, --quick stress\] | 指定高带宽内存高危地址快速压测的范围。 - 该参数取值范围为\[0，100\]。参数推荐值：100。  - 取值为0时，默认对所有高带宽内存地址进行快速压测。    - 需要在包含hbm诊断检查项的场景下，与\[-s, --stress\]配合使用，不能和\[-st, --st, --stress-time\]、\[--sc, --stress-count\]同时使用。   | 是    |
   
```
# 使用示例，片上内存高危地址压测
ascend-dmi -dg -i hbm -s -qs 60-q
```
图12片上内存高危地址压测示例   
![](https://support.huaweicloud.com/resmgmt-modelarts/figure/zh-cn_image_0000002404208733.png "点击放大")
回显参数说明：
- PASS：高带宽内存高危地址快速压测通过，无新增隔离页数。
- SKIP：当前设备不支持片上内存高危地址压测。
- FAIL：高带宽内存高危地址快速压测失败，有新增隔离页数。
 
#### 故障诊断六：AiCore诊断
对AICore ERROR进行诊断，并输出诊断结果。
```
# 使用示例，AiCore诊断
ascend-dmi -dg -i aicore -q
```
图13AiCore诊断示例   
![](https://support.huaweicloud.com/resmgmt-modelarts/figure/zh-cn_image_0000002404288897.png "点击放大")
回显参数说明：
- PASS：诊断结果无异常。
- SKIP：执行诊断的用户为非root用户；当前设备不支持aicore诊断。
- EMERGENCY_WARN：紧急警告，建议更换硬件。
- FAIL：Aicore诊断失败，请联系华为工程师处理。
 
#### 故障诊断七：Aiflops诊断
对芯片进行算力诊断，并输出测试结果。
```
# 使用示例，Aiflops诊断
ascend-dmi -dg -i aiflops -q
```
图14Aiflops诊断示例   
![](https://support.huaweicloud.com/resmgmt-modelarts/figure/zh-cn_image_0000002370489324.png "点击放大")
回显参数说明：
- PASS：算力测试结果正常（大于参考值）。
- WARN：算力测试过程中触发芯片过温。
- FAIL：算力测试失败；算力测试结果小于参考值。
 
#### 故障诊断八：Bandwidth诊断
对本地带宽进行诊断，并输出诊断结果。
```
# 使用示例，对Device0进行Bandwidth诊断
ascend-dmi --dg -i bandwidth -d 0
```
图15Bandwidth诊断示例   
![](https://support.huaweicloud.com/resmgmt-modelarts/figure/zh-cn_image_0000002370649292.png "点击放大")
回显参数说明：
- PASS：带宽测试结果正常。
- FAIL：带宽测试执行失败；带宽测试结果小于参考值。请联系华为工程师处理。
 
#### 故障诊断九：P2P压测
测试指定源头Device到目标Device的HCCS通信链路是否存在硬件故障，并输出测试结果。
表21P2P压测必要参数说明 
| 参数               | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | 是否必填 |
|:---|:---|:---|
| \[-s, --stress\] | 使用该参数进行压力测试，当前支持指定的压力测试有以下几种：片上内存压测、Aicore压测、P2P压测、功耗压测。 - 当items参数指定bandwidth时，支持与-s参数一起使用，表示进行P2P压测。                                                                                                                                                                                 | 是    |
| \[-t, --type\]   | 指测试数据流向的分类。 - 当item参数指定为bandwidth时，且传入-s参数时，此参数才会生效，表示执行p2p压测。  - 当前仅支持带宽类型为p2p的指定。 p2p：测试指定源头Device到目标Device的传输速率和总耗时。    | 是    |
   
```
# 使用示例，P2P压测
ascend-dmi -dg -i bandwidth --type p2p -s
```
图16P2P压测示例   
![](https://support.huaweicloud.com/resmgmt-modelarts/figure/zh-cn_image_0000002404208993.png "点击放大")
回显参数说明：
- PASS：压力测试通过，结果无异常。
- SKIP：当前设备不支持P2P压测。
- EMERGENCY_WARN：紧急警告，压测结果为不通过，建议联系华为工程师更换硬件。
- FAIL：p2p压测执行失败，请联系华为工程师处理。
 
#### 故障诊断十：功耗压测
进行EDP/TDP功耗压力测试，并输出诊断结果。
```
# 使用示例，功耗压测
ascend-dmi -dg -i edp -s -st 60 -q
ascend-dmi -dg -i tdp -s -st 60 -q
```
图17功耗压测示例（TDP）   
![](https://support.huaweicloud.com/resmgmt-modelarts/figure/zh-cn_image_0000002370649392.png "点击放大")
图18功耗压测示例（EDP）   
![](https://support.huaweicloud.com/resmgmt-modelarts/figure/zh-cn_image_0000002404289677.png "点击放大")
回显参数说明：
- PASS：功耗压力测试结果无异常。
- SKIP：当前设备不支持功耗压测。
- IMPORTANT_WARN：压测过程中产生芯片告警，请根据描述建议处理。如果仍无法解决，请联系华为工程师处理。
- FAIL：功耗压测功能执行失败，请联系华为工程师处理。
 
