Lite Server超节点定期压测
场景描述
针对超节点Snt9b23,支持用户定期对昇腾服务器进行性能测试和故障诊断,及时发现NPU故障,减少业务影响。
性能测试场景 |
场景说明 |
---|---|
带宽测试 |
带宽测试主要用于测试总线带宽、内存带宽和总耗时。 |
算力测试 |
算力测试通过构造矩阵乘"A(m,k)*B(k,n)"并执行一定次数的方式,根据运算量与执行多次矩阵乘所耗时间来计算整卡或处理器中AI Core的算力值和满算力下实时的功率。 |
功耗测试 |
功耗测试是通过运行单算子模型来检测整卡的功耗信息。 |
眼图测试 |
用户使用眼图测试功能对网络进行测试,查询当前信号质量。 |
码流测试 |
码流测试主要包含一键式打流和自定义打流。 |
软硬件版本兼容性测试 |
软硬件兼容性工具会获取硬件信息、架构、驱动版本、固件版本以及版本软件。 |
故障诊断场景 |
场景说明 |
---|---|
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
参数 |
说明 |
是否必填 |
---|---|---|
[-bw, --bw, --bandwidth] |
使用该参数测试芯片的带宽。支持-bw,但建议使用--bw或--bandwidth。 |
是 |
[-t, --type] |
指测试数据流向的分类。当使用带宽测试功能时,测试的数据流可以分为以下方向,如果不填写数据流方向则默认返回h2d、d2h、d2d。 三个方向的带宽和总耗时。
|
否 |
[-s, --size] |
指传输数据大小并指定测试结果显示方式。超节点系列产品:d2h/h2d/p2p这3种模式下,最大传输数值为1Byte~4G。
|
否 |
[-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

参数 |
说明 |
---|---|
Host to Device 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。
参数 |
说明 |
是否必填 |
---|---|---|
[-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上运行矩阵乘法的执行次数。
|
否 |
使用示例,在Device 7上,执行算子运算类型为int8,执行次数为600万的算力。
ascend-dmi -f -t int8 -d 7 -et 60-q

参数 |
说明 |
---|---|
Device |
Device ID。 |
Execute Times |
为单个AI Core执行矩阵乘的次数乘以AI Core的个数计算所得。 |
Duration(ms) |
执行多次矩阵乘所耗费的时间。 |
TFLOPS@FP16 |
进行算力测试得到的算力值。FP16为指定的算子运行类型。 |
Power(W) |
满算力下的实时功率。 |
性能测试三:功耗测试
功耗测试是通过运行单算子模型来检测整卡的功耗信息。功耗测试的可用参数说明见表7。
ascend-dmi -p -h
参数 |
说明 |
是否必填 |
---|---|---|
[-p, --power] |
使用该参数进行整卡的功耗测试。 |
是 |
[-t, --type] |
指定算子运算类型,可以为fp16或int8,如果未指定则默认为fp16。 |
否 |
[-pt, --pt, --pressure-type] |
使用该参数指定压力测试的类型。
|
否 |
[-dur, --dur, --duration] |
指运行时间,如果不填写运行时间则默认为600。单位为秒,取值范围为[60,604800]。 |
否 |
[-it, --it, --interval-times] |
指屏幕信息打印刷新的间隔时间,如果不填写间隔时间则默认为5。单位为秒,取值范围为[1, 5]。 |
否 |
[--skip-check] |
传入此参数时会跳过设备健康状态检查。不传入此参数,默认会进行设备健康状态检查。 |
否 |
[-pm, --pm, --print-mode] |
屏幕输出的打印模式,如果不填写打印模式则默认为refresh。打印模式: |
否 |
使用示例,以执行时间为60s,信息的打印间隔信息为5s,屏幕的输出模式为清除历史记录为例。
ascend-dmi -p --dur 60--it 5--pm refresh
参数 |
说明 |
---|---|
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
参数 |
说明 |
是否必填 |
---|---|---|
[-sq, --sq, --signal-quality] |
查询NPU上的PCIe、HCCS和RoCE通信端口的信号质量。 |
是 |
[-d, --device] |
指定查询的Device ID。指定多个芯片时,使用英文逗号进行分隔。不指定该参数时,默认查询该设备上所有的NPU。 |
否 |
[-t --type] |
指定通信端口的类型。当前支持HCCS和RoCE,指定多个通信端口的类型时,使用英文逗号进行分隔。如果不指定则将查询RoCE的信号质量。 |
否 |
使用示例,查看Device0和Device1的HCCS、RoCE信号质量。

参数 |
说明 |
---|---|
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的半眼高。 |
参数 |
说明 |
---|---|
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。 |
性能测试五:码流测试
码流测试主要包含一键式打流和自定义打流。
测试项名称 |
支持的打流方式 |
使用方法 |
---|---|---|
一键式打流 |
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
参数 |
说明 |
是否必填 |
---|---|---|
[-pc, --pc, --prbs-check] |
使用该参数进行prbs码流测试。 |
是 |
[-d, --device] |
指定需要进行码流测试的Device ID。
|
否 |
[-dur, --dur, --duration] |
指定码流测试的时长。
|
否 |
[--prbs-mode] |
是否切换打流状态。 --取值为EN(Enable):开启。 --取值为DS(Disable):关闭。
|
是 |
[--generator-pattern] |
指定发送端的码流类型。
|
否 |
[--generator-lanes] |
指定发送端的lane。
|
否 |
[--checker-pattern] |
指定接收端的码流类型。
|
否 |
[--checker-lanes] |
指定接收端的lane。
|
否 |
[-show, --show, --show-diagnostic-info] |
展示码流测试的结果。
|
否 |
[-clear, --clear, --clear-diagnostic-info] |
清空码流测试的结果信息。
|
否 |
一键式打流使用示例如下:
ascend-dmi -pc -d 9--pattern prbs15 -dur 5

参数 |
说明 |
---|---|
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

参数 |
说明 |
---|---|
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
参数 |
说明 |
是否必填 |
---|---|---|
[-c, --compatible] |
使用该参数进行软硬件版本兼容性检测。
|
是 |
[-p, --path] |
用户指定检测兼容性的CANN软件包的安装路径,如果不指定,将根据默认安装路径进行测试。 指定软件包安装路径的命令示例: ascend-dmi -c -p /home/xxx/Ascend |
否 |
软硬件版本兼容性测试使用示例如下:
ascend-dmi -c

故障诊断
查看故障诊断命令可用参数。
ascend-dmi --dg -h
参数 |
说明 |
是否必填 |
---|---|---|
[-dg, --dg, --diagnosis] |
使用该参数进行整卡的故障诊断测试。 |
是 |
[-i, --items] |
指定具体的诊断检查项。
|
否 |
[-d, --device] |
指定需要进行诊断测试的Device ID,Device ID是指昇腾芯片的逻辑ID。
|
否 |
[-r, --result] |
指定压测结果和信息采集结果的保存路径,如:/test。指定的路径需符合安全要求,且不支持包含通配符“*”。
|
否 |
[-s, --stress] |
使用该参数进行压力测试,当前支持指定的压力测试有以下几种:片上内存压测、Aicore压测、P2P压测、功耗压测。
|
否 |
[-st, --st, --stress-time] |
指定EDP、TDP压力测试的时间。
|
否 |
[-fmt, --fmt, --format] |
指定输出格式,可以为normal或json。
|
否 |
[-h, --help] |
查看故障诊断命令的可用参数。 |
否 |
故障诊断一:NetWork诊断
对网络健康状态进行诊断,并输出诊断结果。
# 使用示例,对Device0网络健康状态进行诊断 ascend-dmi -dg -i network -d 0

回显参数说明如下:
- PASS:网络检测结果健康。
- SKIP:当前产品形态不支持该项检测。
- INFO:网络检测结果提示。
- WARN:网络检测结果告警。
- FAIL:网络检测结果失败。
故障诊断二:SignalQuality诊断
对信号质量进行诊断,并输出诊断结果。
# 使用示例,SignalQuality诊断 ascend-dmi -dg -i signalQuality -q

回显参数说明如下:
- PASS:检测通过,NPU上HCCS和RoCE通信端口的信号质量正常。
- SKIP:当前设备不支持眼图诊断。
- IMPORTANT_WARN:重要警告。HCCS和RoCE(其中的一项或多项)信号质量有异常,请联系华为工程师处理。
- FAIL:眼图检测执行失败。
故障诊断三:片上内存诊断
对高带宽内存进行诊断,并输出诊断结果。
# 使用示例,片上内存诊断 ascend-dmi -dg -i hbm

回显状态 |
含义 |
---|---|
PASS |
片上内存检测通过,无异常。 |
SKIP |
当前硬件形态不支持片上内存检测。 |
GENERAL_WARN |
历史多比特存在隔离页,告警NPU芯片健康管理故障码为0x80E18401,可以继续使用。 |
IMPORTANT_WARN |
当前实时隔离页数与已隔离页数存在差异,必须进行重启,复位npu芯片。 |
EMERGENCY_WARN |
|
FAIL |
片上内存检测失败,请联系华为工程师处理 |
故障诊断四:片上内存压测
对高带宽内存进行压力测试,并输出诊断结果。
# 使用示例, ascend-dmi -dg -i hbm -s -st 60 -q

回显参数说明:
- PASS:片上内存压测通过。
- SKIP:当前设备不支持片上内存压测。
- FAIL:片上内存压测失败,有新增的多比特隔离页;软件执行失败。
故障诊断五:片上内存高危地址压测
对高带宽内存高危地址进行压力测试,并输出诊断结果。
参数 |
说明 |
是否必填 |
---|---|---|
[-s, --stress] |
使用该参数进行压力测试,当前支持指定的压力测试有以下几种:片上内存压测、Aicore压测、P2P压测、功耗压测。 |
是 |
[-qs, --qs, --quick stress] |
指定高带宽内存高危地址快速压测的范围。
|
是 |
# 使用示例,片上内存高危地址压测 ascend-dmi -dg -i hbm -s -qs 60-q

回显参数说明:
- PASS:高带宽内存高危地址快速压测通过,无新增隔离页数。
- SKIP:当前设备不支持片上内存高危地址压测。
- FAIL:高带宽内存高危地址快速压测失败,有新增隔离页数。
故障诊断六:AiCore诊断
对AICore ERROR进行诊断,并输出诊断结果。
# 使用示例,AiCore诊断 ascend-dmi -dg -i aicore -q

回显参数说明:
- PASS:诊断结果无异常。
- SKIP:执行诊断的用户为非root用户;当前设备不支持aicore诊断。
- EMERGENCY_WARN:紧急警告,建议更换硬件。
- FAIL:Aicore诊断失败,请联系华为工程师处理。
故障诊断七:Aiflops诊断
对芯片进行算力诊断,并输出测试结果。
# 使用示例,Aiflops诊断 ascend-dmi -dg -i aiflops -q

回显参数说明:
- PASS:算力测试结果正常(大于参考值)。
- WARN:算力测试过程中触发芯片过温。
- FAIL:算力测试失败;算力测试结果小于参考值。
故障诊断八:BandWidth诊断
对本地带宽进行诊断,并输出诊断结果。
# 使用示例,对Device0进行BandWidth诊断 ascend-dmi --dg -i bandwidth -d 0

回显参数说明:
- PASS:带宽测试结果正常。
- FAIL:带宽测试执行失败;带宽测试结果小于参考值。请联系华为工程师处理。
故障诊断九:P2P压测
测试指定源头Device到目标Device的HCCS通信链路是否存在硬件故障,并输出测试结果。
参数 |
说明 |
是否必填 |
---|---|---|
[-s, --stress] |
使用该参数进行压力测试,当前支持指定的压力测试有以下几种:片上内存压测、Aicore压测、P2P压测、功耗压测。
|
是 |
[-t, --type] |
指测试数据流向的分类。 |
是 |
# 使用示例,P2P压测 ascend-dmi -dg -i bandwidth --type p2p -s

回显参数说明:
- 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


回显参数说明:
- PASS:功耗压力测试结果无异常。
- SKIP:当前设备不支持功耗压测。
- IMPORTANT_WARN:压测过程中产生芯片告警,请根据描述建议处理。如果仍无法解决,请联系华为工程师处理。
- FAIL:功耗压测功能执行失败,请联系华为工程师处理。