文档
注册

故障诊断

测试项功能

故障诊断会获取芯片健康信息,同时对芯片进行算力、功耗、带宽等测试并输出测试结果,用以判断当前产品的健康状态。

表1 故障诊断检查项说明

诊断项名称

完成一轮诊断耗时

是否影响npu训练或推理

使用场景

driver驱动健康诊断

1~4/s

训练或推理业务上线、巡检、npu驱动出现故障。

CANN与驱动的兼容性

2~7/s

训练或推理业务上线。

device

2~4/s

训练或推理业务上线、巡检、硬件出现故障。

network

30~70/s

训练或推理业务巡检、上线、网络出现故障。

bandwidth

1~5/min

训练或推理业务上线

aiflops

29~40/s

训练或推理任务业务上线

hbm

2~4/s

训练或推理任务时,NPU芯片出现HBM ECC故障:设备出现0x80E01801故障码。

aicore

7~20/min

训练或推理任务巡检、上线时,请执行3次aicore诊断,3轮全部通过表示aicore诊断正常。任意一轮回显为EMERGENCY_WARN即表示芯片故障,需更换硬件。

signalQuality

16~30/s

训练或推理任务时,设备出现PCIe、HCCS或RoCE链路报错。

表2 故障压测检查项说明

压测项名称

完成一轮压测耗时

是否影响npu训练或推理

使用场景

hbm

1~3/h

hbm诊断结果为GENERAL_WARN、PASS或IMPORTANT_WARN。

aicore

15~40/min

训练或推理任务时,设备出现aicore error故障。

hbm高危地址

≤17min

hbm诊断结果出现单比特或多比特错误。

约束与限制

  • 执行AICore ERROR(以下简称aicore)诊断或aicore压力测试前,需已安装Atlas A2 训练系列产品配套的Ascend HDK 23.0.0及以后版本的MCU、驱动和固件。
  • aicore诊断及aicore压力测试依赖CANN 7.0.0及以后版本的CANN软件包Ascend-cann-toolkit和Atlas A2 训练系列产品配套的二进制算子包Ascend-cann-kernels,在执行压力测试前需参考环境配置安装所需的软件包,并配置环境变量。
  • hbm压测、aicore压测、aicore诊断、带宽诊断、算力诊断会影响NPU训练或推理作业,为保证返回检测结果的正确性和准确性,请单独执行以上操作。
  • 进行aicore压力测试时,用户请勿在压测结果未返回时重复压测,需在任务执行完成后进行其他测试项。
  • aicore诊断完成后请重启设备。
  • aicore压测完成后,请进行问题分析和定位后,再重启设备。
  • 为确保带宽诊断效果准确性,建议在训练或推理业务开局的时候执行带宽诊断,因为例如CCAE或npu-exporter组件会调用dcmi接口监控环境状态,会占用一定的带宽,导致带宽诊断的结果存在误差。
  • 在执行network诊断前,需在Host侧以root用户配置RoCE网卡IP地址和子网掩码,然后配置用于网络检测对象IP地址,否则可能导致诊断失败。

测试项参数查询

用户可任选以下指令之一查看故障诊断命令的可用参数。

ascend-dmi --dg -h

ascend-dmi --dg --help

各参数解释如表3所示。

表3 参数说明

参数

说明

是否必填

[-dg, --dg, --diagnosis]

使用该参数进行整卡的故障诊断测试。

  • 若用户安装cann软件包时未使用默认路径,则需使用[-p, --path]参数指定安装路径。

[-i, --items]

指定具体的诊断检查项,包括:

  • 软件类:
    • cann:CANN与驱动的兼容性。
    • driver:驱动健康诊断。
  • 硬件类:
    • device:设备健康诊断。
    • network:网络健康诊断,仅支持Atlas 训练系列产品Atlas A2 训练系列产品
    • bandwidth:本地带宽,包含Host to Device、Device to Host、Device to Device、Peer to Peer四个方向。
    • aiflops:算力。
    • hbm:高带宽内存诊断,仅支持Atlas 训练系列产品Atlas A2 训练系列产品Atlas 800I A2 推理服务器
    • aicore:AICore ERROR诊断。当前支持Atlas A2 训练系列产品Atlas 800I A2 推理服务器root用户在物理机、容器、虚拟机场景下使用;容器和虚拟机场景需要开启特权,不建议用户使用特权容器和特权虚拟机。

      支持和--sc参数一起使用,用以指定执行aicore诊断的次数。

      不支持和其他诊断项同时进行测试。

    • signalQuality:信号质量诊断,支持对Atlas A2 训练系列产品(不包含训练卡)和Atlas 800I A2 推理服务器进行PCIe、HCCS和RoCE的信号质量诊断。

可指定driver、cann、device、network、bandwidth、aiflops、hbm、signalQuality中的一项或多项,多项时各项之间使用“,”分隔,检查项回显状态请参照表4

[-d, --device]

指定需要进行诊断测试的Device ID,Device ID是指昇腾芯片的逻辑ID。

  • 使用“-d”参数时,若是训练芯片和Atlas 300I Duo 推理卡指定2个及以上的device会进行p2p带宽的检查,指定1个device不会进行p2p带宽的校验除此之外,其他场景下默认不进行P2P的带宽校验。
  • 当[-i, --items]后检查项包含device、network、bandwidth、aiflops、hbm时,必会校验此参数。可指定一个或多个Device ID,多个时各项之间使用“,”分隔。若不填写Device ID则默认返回所有Device的诊断结果。
  • 当[-i, --items]后检查项仅包含cann或driver时,用户无需填写此参数。
  • 针对Atlas A2 训练系列产品,当进行高带宽内存压力测试或AICore压力测试时,支持使用[-d, --device]参数指定压力测试的昇腾NPU芯片的ID,不指定时测试全量的昇腾NPU芯片。
  • 当[-i, --items]后检查项包括signalQuality时,若用户只指定一个Device ID则不会诊断HCCS的信号质量。若对Atlas 200T A2 Box16 异构子框进行诊断,前8P或后8P至少指定两张device。

[-p, --path]

指定为CANN的安装路径。指定路径需符合安全要求,且不支持包含通配符“*”。

  • 当[-i, --items]后检查项包含cann时,则必会校验此参数。若用户安装软件包时未使用默认安装路径,则此参数必填,指定为实际安装路径。
    说明:

    若不填写,且为root用户安装软件包时,则取值为默认路径“/usr/local/Ascend”

  • 当[-i, --items]后检查项不包含cann时,用户请勿填写此参数。

[-r, --result]

指定故障诊断结果和信息采集结果的保存路径,如:/test。指定的路径需符合安全要求,且不支持包含通配符“*”。

  • 当进入故障诊断模块,则必会校验此参数。若用户指定结果保存路径,则在指定路径创建ascend_check文件夹,root用户指定的路径,将创建在根目录下,非root用户则创建在其$HOME下;若不指定路径,则保存在默认路径下,root用户:“/var/log/ascend_check”,非root用户:“$HOME/var/log/ascend_check”。
  • 当[-i, --items]后检查项包含network时,会进行信息采集,结果保存在“ascend_check/npu_network_information.txt”文件中,不包含network检查项时,不进行信息采集。
  • 当[-fmt, --fmt, --format]后检查项指定json格式输出时,会进行故障诊断结果保存,结果保存在“ascend_check/environment_check_before.txt”文件中,不指定json格式输出时,不保存故障诊断结果。

[-s, --stress]

使用该参数进行高带宽内存或aicore压力测试。

  • 在包含aicore检查项的场景下,支持与-sc参数一起使用,执行压测的次数以--sc指定的次数为准。
  • 当前支持Atlas A2 训练系列产品Atlas 800I A2 推理服务器root用户在物理机、容器、虚拟机场景下使用;容器和虚拟机场景需要开启特权,不建议用户使用特权容器和特权虚拟机。

[--sc,--stress-count]

指定aicore压测或aicore诊断的次数。

  • 当items参数指定aicore时,此参数才会生效;未指定该参数时,默认值为1,参数取值范围为[1, 100]。
  • 在包含aicore检查项的场景下,支持与-s参数一起使用,执行压测/诊断的次数以--sc指定的次数为准。
  • 当前仅支持以下设备在物理机、特权容器、特权虚拟机上指定压测次数:Atlas 900 A2 PoD 集群基础单元Atlas 200T A2 Box16 异构子框Atlas 800T A2 训练服务器Atlas 300T A2 训练卡Atlas 800I A2 推理服务器

[-st, --st, --stress-time]

指定高带宽内存压力测试的时间。

  • 取值范围是[60,604800],单位为秒。
  • 需要在包含hbm诊断检查项的场景下,与[-s, --stress]配合使用。
  • 当前仅支持Atlas A2 训练系列产品Atlas 800I A2 推理服务器

[-qs, --qs, --quick stress]

指定高带宽内存高危地址快速压测的范围。

  • 该参数取值范围为[0,100]。参数推荐值:100。
  • 在执行该项诊断前,必须已完成hbm故障诊断,诊断结果出现单比特或多比特错误。
  • 需要在包含hbm诊断检查项的场景下,与[-s, --stress]配合使用,不能和[-st, --st, --stress-time]、[--sc,--stress-count]同时使用。
  • 当前仅支持Atlas A2 训练系列产品Atlas 800I A2 推理服务器

不填写-i,-d,-p与-r参数

返回所有Device的除aicore外其他检查项的诊断结果。

需注意,-i参数未单独指定aicore时,不会进行AICore ERROR压测/诊断。

[-fmt, --fmt, --format]

指定输出格式,可以为normal或json。若未指定则默认为normal。

[-q, --quiet]

指定该参数,将不再进行防呆提示,用户将默认允许操作。该参数必须与-i参数的bandwidth、aiflops、hbm、aicore一起使用;且使用hbm时还需要同时指定-s参数进行高带宽内存压力测试。

说明:

若不指定该参数,在使用bandwidth、aiflops、hbm和aicore测试时将进行防呆提示,用户需要输入Y或N(y或n)确认是否进行测试。

  • 本文档输入或输出的Device ID都是芯片逻辑ID。
  • 用户可以执行npu-smi info -m命令,在显示界面表格中的Chip Logic ID参数处获得芯片逻辑ID,NPU ID则为对应的芯片物理ID。
  • ascend-dmi --dg后使用-i,-d等多个二级参数时,可任意指定这些参数的排列顺序,不影响命令结果输出。例如:ascend-dmi --dg -i driver,cann,device -d 0,1 -p /usr/local/Ascend -r /var/logascend-dmi --dg -d 0,1 -i driver,cann,device -p /usr/local/Ascend -r /var/log输出结果相同。
  • 如果ascend-dmi --dg诊断结果提示“hccn_tool no certificate found”,可参考预置或替换证书套件配置证书。
  • 基于安全考虑,为防止结果保存目录权限被修改,用户可将结果保存目录ascend_check的权限设置为700。

使用实例

使用实例中命令的回显在推理服务器与训练服务器类似,截图取自训练服务器。

  • 以指定诊断测试项、Device ID和软件包安装路径为例。

    ascend-dmi --dg -i driver,cann,device -d 0,1 -p /usr/local/Ascend

  • 以指定aicore诊断,且进行aicore压力测试为例:

    ascend-dmi -dg -i aicore -s

    通过Ascend DMI工具执行aicore压测,可定界是否是硬件导致的aicore error。

  • 使用hbm故障诊断时,可以按照图1 hbm故障诊断所示,先进行hbm故障诊断(ascend-dmi -dg -i hbm),若结果为IMPORTANT_WARN,需要先重启设备,再执行高带宽内存压测(ascend-dmi -dg -i hbm -s);其他结果请按流程图说明进行操作。
    图1 hbm故障诊断

    图1中,执行hbm故障诊断&压测,诊断&压测结果请查看表4

    • 以指定高带宽内存诊断(hbm),且进行高带宽内存压力测试为例,不跳过交互式防呆提示。

      ascend-dmi -dg -i hbm -s -st 60

    • 以指定高带宽内存诊断(hbm),且进行高带宽内存压力测试为例,跳过交互式防呆提示

      ascend-dmi -dg -i hbm -s -st 60 -q

故障检查项说明

表4 故障检查项说明

类型

检查项

回显状态

含义

硬件类

driver

HEALTH

驱动固件安装正常,并且驱动状态为健康

FAIL

  • 驱动或固件安装异常
  • 读取驱动健康状态失败

GENERAL_WARN

一般警告(警告内容参考界面中提示的错误信息)

IMPORTANT_WARN

重要警告(警告内容参考界面中提示的错误信息)

EMERGENCY_WARN

紧急警告(警告内容参考界面中提示的错误信息)

device

SKIP

当前产品形态不支持该项检测

HEALTH

device检测结果健康

FAIL

device检测结果失败

GENERAL_WARN

一般警告(警告内容参考界面中提示的错误信息)

IMPORTANT_WARN

重要警告(警告内容参考界面中提示的错误信息)

EMERGENCY_WARN

紧急警告(警告内容参考界面中提示的错误信息)

network

SKIP

当前产品形态不支持该项检测

FAIL

网络检测结果失败

WARN

网络检测结果告警

PASS

网络检测结果健康

INFO

网络检测结果提示

aiflops

FAIL

  • 算力测试失败
  • 算力测试结果小于参考值

PASS

算力测试结果正常(大于参考值)

bandwidth

FAIL

  • 带宽测试失败。
  • 带宽测试结果小于参考值
  • 处理方案:请联系华为工程师处理或参考FAQ进行定位
  • FAQ:带宽测试类

PASS

带宽测试结果正常

hbm诊断

PASS

hbm检测通过,无异常。

FAIL

SKIP

当前硬件形态不支持hbm检测。

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,前设备运行存在高风险,建议更换备件。

hbm压测

PASS

hbm压测通过。

FAIL

hbm压测失败,有新增的多比特隔离页更多说明详见图1

hbm高危地址压测

FAIL

高带宽内存高危地址快速压测失败,有新增隔离页数。

PASS

高带宽内存高危地址快速压测通过,无新增隔离页数。

aicore诊断

FAIL

PASS

诊断结果无异常。

SKIP

  • 执行诊断的用户为非root用户。
  • 当前设备不支持aicore诊断。

EMERGENCY_WARN

紧急警告,压测结果为不通过,建议更换硬件。

aicore压测

FAIL

aicore压测执行失败,请联系华为工程师处理。

PASS

压力测试结果无异常。

EMERGENCY_WARN

紧急警告、压力测试失败,请更换硬件。

SKIP

  • 执行压测的用户为非root用户。
  • 当前设备不支持aicore压测

signalQuality

FAIL

检测失败,PCIe、HCCS和RoCE(其中的一项或多项)链接有异常。

PASS

检测通过,NPU上PCIe、HCCS和RoCE通信端口的信号质量正常。

软件类

cann

FAIL

  • nnae、nnrt、toolkit均安装异常
  • 驱动安装异常(cann和驱动间的兼容性不满足要求)

PASS

cann软件检测正常

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词