故障诊断类型
本章节介绍通过Ascend-FaultDiag组件进行诊断分析出的故障类型相关信息。
根因节点分析
场景编号 |
场景名称 |
场景描述 |
---|---|---|
101 |
ALL_NO_ERROR_ALL_HEARTBEAT |
所有节点Plog都没有错误日志信息,且所有节点Plog都有心跳信息。无法定位根因节点。 |
102 |
ALL_NO_ERROR_NO_HEARTBEAT |
所有节点Plog都没有错误日志信息,且所有节点Plog都没有心跳信息。无法定位根因节点。同时请确认是否为正常的训练任务。 |
103 |
ALL_NO_ERROR_HEARTBEAT_LOST |
所有节点Plog都没有错误日志信息,且部分节点Plog未记录心跳信息。丢失心跳信息的节点为疑似根因节点,请排查该节点上的训练进程状态。 |
104 |
ALL_P2P_ERROR_WITH_TIMEOUT |
所有节点Plog报错P2P超时,且最早报错节点与最晚报错节点间报错间隔超过设置的超时时间。无法定位根因节点。建议排查最晚报错节点的超时原因。 |
105 |
ALL_P2P_ERROR_NOT_TIMEOUT |
所有节点Plog报错P2P超时,且最早报错节点与最晚报错节点间报错间隔未超过设置的超时时间。所有报错节点都为疑似根因节点,请排查。 |
106 |
PART_P2P_ERROR |
部分节点Plog报错P2P超时,其余节点未报此错误。未报此错误的节点为疑似根因节点,请排查。 |
107 |
ALL_SOCKET_ERROR_WITH_TIMEOUT |
所有节点Plog报错Socket建链超时,且最早报错节点与最晚报错节点间报错间隔超过设置的超时时间。无法定位根因节点。建议排查最晚报错节点的超时原因。 |
108 |
ALL_SOCKET_ERROR_NOT_TIMEOUT |
所有节点Plog报错Socket建链超时,且最早报错节点与最晚报错节点间报错间隔未超过设置的超时时间。所有报错节点都为疑似根因节点,请排查。 |
109 |
PART_SOCKET_ERROR |
部分节点Plog报错Socket建链超时,其余节点未报此错误。未报此错误的节点为疑似根因节点,请排查。 |
110 |
ALL_NOTIFY_ERROR_WITH_TIMEOUT |
"所有节点Plog报错Notify Wait超时,且最早报错节点与最晚报错节点间报错间隔超过设置的超时时间。无法定位根因节点。建议排查最晚报错节点的超时原因。 |
111 |
ALL_NOTIFY_ERROR_NOT_TIMEOUT |
所有节点Plog报错Notify Wait超时,且最早报错节点与最晚报错节点间报错间隔未超过设置的超时时间。所有报错节点都为疑似根因节点,请排查。 |
112 |
PART_NOTIFY_ERROR |
部分节点Plog报错Notify Wait超时,其余节点未报此错误。未报此错误的节点为疑似根因节点,请排查。 |
113 |
FIRST_ERROR_RANK |
最早报错节点所报错误非超时类错误,该节点为疑似根因节点,请排查。 |
114 |
SINGLE_CLUSTER_ERROR |
此训练任务可能是单卡训练任务,无法获取具体卡信息。请直接排查任务所使用的对应卡。 |
115 |
NO_PLOG_ERROR |
未查找到Plog文件,无法定位根因节点。 |
116 |
CQE_ERROR |
部分节点发生RoCE重传超次(ERROR CQE),此类节点为疑似根因节点,请排查。 |
117 |
ALL_FFTS_FAILED_WITH_TIMEOUT |
所有节点Plog报错FFTS+ run failed,且最早报错节点与最晚报错节点间报错间隔超过设置的超时时间。无法定位根因节点。建议排查最晚报错节点的超时原因。 |
118 |
ALL_FFTS_FAILED_NOT_TIMEOUT |
所有节点Plog报错FFTS+ run failed,且最早报错节点与最晚报错节点间报错间隔未超过设置的超时时间。所有报错节点都为疑似根因节点,请排查。 |
119 |
PART_FFTS_FAILED |
部分节点Plog报错FFTS+ run failed,其余节点未报此错误。未报此错误的节点为疑似根因节点,请排查。 |
根因设备分析
一级分类 |
二级分类 |
三级分类 |
错误码 |
根因 |
描述 |
---|---|---|---|---|---|
软件 |
CANN |
RUNTIME |
20001 |
资源申请失败 |
资源申请失败,可能资源已经被其他进程占用完, 或资源已经被其他进程占用完等。 |
20002 |
注册算子数超过最大规格 |
注册算子数超过最大规格,在一个进程内算子等资源注册超过最大规格。 |
|||
20003 |
AI Core算子执行失败 |
AI Core 算子执行失败,可能算子本身代码问题: 数据输入不匹配、访问越界、计算溢出等异常。 |
|||
20004 |
AI CPU算子执行报错 |
AI CPU算子执行失败,可能算子本身代码问题: 数据输入不匹配、访问越界、AI CPU线程挂死等问题。 |
|||
20005 |
Memcpy异步拷贝算子执行报错 |
Memcpy异步拷贝算子执行报错,可能计算溢出、拷贝地址错误、多P训练时进程退出等。 |
|||
AICPU |
20006 |
Device侧驱动入队失败 |
Device侧驱动入队失败。 |
||
20007 |
Device侧驱动出队失败 |
Device侧驱动出队失败。 |
|||
RUNTIME |
20008 |
MBuf驱动入队地址非法 |
驱动入队地址非法。 |
||
20009 |
HDC通道断链 |
HDC通道断链导致Host数据发送异常。 |
|||
20010 |
PCIE链路异常 |
PCIE链路异常导致发起DMA拷贝失败。 |
|||
20011 |
Device侧CP进程异常 |
Device侧CP进程异常导致H2D拷贝失败。 |
|||
20012 |
MBuf内存溢出 |
MBuf内存溢出。 |
|||
AICPU |
20013 |
Device侧驱动入队和出队失败 |
Device侧驱动入队和出队失败。 |
||
ROCE |
20014 |
RoCE重传超次(error cqe 0x15) |
RoCE重传超次(error cqe 0x15)。 |
||
网络 |
Network |
Network |
20015 |
Link Down: NPU端闪断错误 |
Link Down:NPU端闪断错误。 |
20016 |
RX网络错包增加 |
RX网络错包增加。 |
|||
20017 |
TX网络错包增加 |
TX网络错包增加。 |
|||
软件 |
CANN |
RUNTIME |
20018 |
提交描述符读取响应错误或SQE中出现非法OPCODE |
提交描述符读取响应错误或SQE中出现非法OPCODE。 |
20019 |
SMMU返回Terminate错误 |
SMMU返回Terminate错误,缺少页表。 |
|||
20020 |
SDMA内部错误 |
SDMA内部错误。 |
|||
20021 |
使用了非安全属性访问安全DDR空间 |
使用了非安全属性访问安全DDR空间。 |
|||
20022 |
SDMAM下发的搬运地址在DAW没有映射 |
SDMAM下发的搬运地址在DAW没有映射。 |
|||
20023 |
操作类型错误 |
操作类型错误。 |
|||
20024 |
SDMAA搬运过程中出现DDRC错误 |
SDMAA搬运过程中出现DDRC错误。 |
|||
20025 |
SDMAA搬运过程中出现ECC错误 |
SDMAA搬运过程中出现ECC错误。 |
|||
20026 |
SDMAA搬运过程中出现COMPERR |
SDMAA搬运过程中出现COMPERR。 |
|||
20027 |
SDMAA搬运过程中出现COMPDATAERR |
SDMAA搬运过程中出现COMPDATAERR。 |
|||
20028 |
reduce操作出现上溢错误 |
reduce操作出现上溢错误。 |
|||
20029 |
reduce操作出现下溢错误 |
reduce操作出现下溢错误。 |
|||
20030 |
reduce源数据格式不符合要求 |
reduce源数据格式不符合要求。 |
|||
20031 |
reduce目的数据格式不符合要求 |
reduce目的数据格式不符合要求。 |
|||
20032 |
reduce源和目的数据格式不符合要求 |
reduce源和目的数据格式不符合要求。 |
|||
HCCL |
20101 |
socket建链超时 |
HCCL初始化时Socket建链超时。 |
||
20102 |
get p2p status超时 |
HCCL初始化时P2P使能链接超时。 |
|||
20103 |
notify wait超时 |
HCCL初始化时Notify同步超时。 |
|||
20104 |
SDMA溢出错误 |
发生SDMA溢出错误。 |
|||
20105 |
Memcpy失败 |
发生内存拷贝错误。 |
|||
20106 |
开启Tsd客户端失败 |
HCCL开启Tsd客户端失败。 |
|||
HCCP |
20107 |
HDC信道超时 |
HDC信道超时错误。 |
||
20108 |
RankTable配置错误 |
RankTable未正确配置。 |
|||
20110 |
Device侧socket异常关闭 |
socket在Device侧异常关闭。 |
|||
MindSpore |
Compiler |
21001 |
construct函数缺少self参数 |
静态图模式下,继承nn.Cell类,重定义construct函数时,缺少self参数报错。 |
|
21002 |
construct函数缺少self参数(MS_VERSION<2) |
静态图模式下,继承nn.Cell类,重定义construct函数时,缺少self参数报错。 |
|||
21003 |
静态图模式construct参数缺失错误 |
静态图模式下,继承nn.Cell类,重定义construct函数时,调用时输入参数少于定义参数个数,参数不匹配报错。 |
|||
21004 |
动态图模式construct参数缺失错误 |
动态图模式下,继承nn.Cell类,重定义construct函数时,调用时输入参数少于定义参数个数,参数不匹配报错。 |
|||
21005 |
静态图模式construct参数过多错误 |
静态图模式下,继承nn.Cell类,重定义construct函数时,调用时输入参数多于定义参数个数,参数不匹配报错。 |
|||
21006 |
动态图模式construct参数过多错误 |
动态图模式下,继承nn.Cell类,重定义construct函数时,调用时输入参数多于定义参数个数,参数不匹配报错。 |
|||
21007 |
动态图模式自定义接口参数错误 |
动态图模式下,自定义函数参数定义列表,与函数输入参数列表不匹配引起报错。 |
|||
21008 |
静态图模式自定义接口参数过多错误 |
静态图模式下,自定义函数输入参数个数多于定义的参数,参数不匹配报错。 |
|||
21009 |
抽象类型合并失败 |
静态图的控制流(例如if...else...)语法要求不同分支返回值的类型必须相同,不相同时(例如:Float32与Float16)会报错。 |
|||
21010 |
抽象类型合并失败 |
静态图的控制流(例如if...else...)语法要求不同分支返回值的shape相同,不相同时会报错。 |
|||
21011 |
抽象类型合并失败 |
对函数输出求梯度时,抽象类型不匹配,导致抽象类型合并失败。 |
|||
21012 |
静态图找不到属性(MS_VERSION<1.8.1) |
MindSpore1.8.1版本及以前,静态图语法使用未定义的变量报错。 |
|||
21013 |
静态图找不到属性 |
MindSpore1.9版本及以上,静态图语法使用未定义的变量报错。 |
|||
21014 |
函数调用栈超限 |
函数嵌套调用存在死循环或者嵌套调用深度超过限制而引起报错。 |
|||
21015 |
JIT Fallback 使用错误(MS_VERSION<2) |
JIT Fallback暂不支持Runtime阶段解析执行代码。 |
|||
21016 |
静态图模式不支持使用自定义class的属性与方法(MS_VERSION=1.8) |
静态图语法不支持自定义class的属性与方法,在construct函数中使用出现报错。 |
|||
21017 |
静态图模式不支持使用自定义class的属性与方法(1.8<MS_VERSION<2) |
静态图语法不支持调用自定义class的属性与方法,在construct函数中使用出现报错。 |
|||
21018 |
静态图代码缩进错误 |
可能是静态图语法中代码行或者注释的缩进没有对齐,引起报错。 |
|||
21019 |
Parameter重名报错(MS_VERSION<2) |
在一个神经网络内,Parameter出现了重名参数而引起报错,需要修改参数名称。 |
|||
21020 |
静态图模式下使用了错误的框架API |
静态图模式下网络的construct函数、@ms_function修饰的函数或@ms.jit修饰的函数中出现如下问题:
|
|||
21021 |
静态图动态初始化类自定义失败 |
静态图模式下,不支持在construct中用动态输入去初始化自定义类,创建自定义类的实例时,参数必须是常量。 |
|||
21022 |
静态图变量分支未赋初值报错(MS_VERSION<2) |
静态图模式下,需要保证变量在每一个分支都有定义, 因此建议在if判断前给变量赋一个初始值。 |
|||
21023 |
静态图Tensor索引报错 |
静态图模式下,索引值为Tensor有限制。索引Tensor是一个dtype为int32的标量。 |
|||
21024 |
静态图Tensor索引报错 |
静态图模式下,索引值为Tensor有限制。索引Tensor是一个dtype为int32的标量。 |
|||
21025 |
静态图类型推导问题 |
可能为静态图的语法编译错误,包括数据类型、原型操作、运算符、复合语句、函数等使用的问题。 |
|||
Dataset |
21027 |
数据处理报错 |
数据处理操作引起报错,可能是shuffle、batch、repeat、zip、concat、map。 |
||
21029 |
数据集加载与处理故障 |
识别到当前报错可能为数据集加载与处理故障。 |
|||
21030 |
保存MindRecord文件报错 |
raw page或者blob page太小导致数据保存失败,默认值32MB。 |
|||
21031 |
batch操作报错(MS_VERSION<2) |
图像数据shape不一致,batch操作失败。 |
|||
21032 |
图像数据集格式错误(MS_VERSION<2) |
使用py_transform图像处理接口时,如果输入数据类型不为PIL,会引起报错。 |
|||
21033 |
保存mindrecord文件失败 |
待保存的mindrecord文件已存在,重新保存时报错。 |
|||
21034 |
读取mindrecord文件失败 |
加载数据集,读取mindrecord文件时报错。 |
|||
21035 |
GeneratorDataset使用自定义的Sampler错误 |
自定义的Sampler在__init__中没有显式调用父类dataset.Sampler的构造函数,导致丢失父类中的child_sampler。 |
|||
21036 |
GeneratorDataset使用自定义的Sampler错误 |
自定义的Sampler在__init__中没有显式调用父类dataset.Sampler的构造函数,导致丢失父类中的num_samples。 |
|||
21037 |
自定义Dataset返回数据格式错误 |
自定义Dataset或者map操作需要返回值类型不是numpy array 或 numpy array 组成的元组,引起报错。 |
|||
21038 |
自定义Iterable dataset索引报错 |
用户可能使用自定义索引计数,迭代前未正确复位造成数组越界报错。 |
|||
21041 |
自定义数据增强函数输出参数类型报错 |
自定义数据增强函数数据类型报错,一般情况下输出数据类型是numpy array或numpy array tuple。 |
|||
21042 |
自定义python function数据增强函数的输入参数类型报错 |
自定义python数据增强函数的输入参数类型报错,一般情况下输入数据类型是np.array。 |
|||
21043 |
数据集处理内存不足 |
内存不足引起报错。 |
|||
21044 |
自定义python function数据增强函数的输出参数错误 |
自定义数据处理方法的返回值类型错误,一般输出结果是np.array的列表。 |
|||
Front |
21045 |
加载checkpoint文件失败 |
a.checkpoint文件路径设置错误。b.checkpoint文件名设置错误。 |
||
21046 |
加载checkpoint文件失败 |
checkpoint文件名设置错误。 |
|||
21047 |
加载checkpoint文件参数与网络参数不匹配 |
网络中参数的shape和ckpt中的shape可能不一致,无法正确加载模型参数。 |
|||
21048 |
context报错 |
context.set_context上下文设置错误。 |
|||
21049 |
initializer调用错误 |
可能是import的是initializer包(即python的module),而不是initializer类,导致调用失败。 |
|||
Operator |
21052 |
Conv2D算子参数错误 |
weight_init参数与Conv2D算子输入参数shape不匹配引起报错。 |
||
21053 |
Pad算子参数错误 |
Pad算子参数paddings不支持负数。 |
|||
21054 |
Pad算子参数维度不一致错误(MS_VERSION=1.8) |
Pad算子的参数paddings的维度与输入x的维度不一致。 |
|||
21055 |
Pad算子参数维度不一致错误(MS_VERSION>1.8) |
Pad算子的参数paddings的维度与输入x的维度不一致。 |
|||
21056 |
Pad算子参数超过4维错误 |
Pad算子的参数paddings的维度超过4维报错。 |
|||
21058 |
损失函数的输入参数不匹配报错 |
损失函数要求logits和labels的shape必须一样,不一样时报错。 |
|||
21060 |
算子输入参数不匹配报错 |
算子输入参数的shape不同且不包含1或者-1,broadcast报错。 |
|||
21061 |
view/Reshape算子参数不匹配报错(MS_VERSION<1.8) |
调用Reshape算子,或者使用其他API间接调用Reshape算子。如果reshape后Tensor元素总数量与原Tensor的不匹配,则报错。 |
|||
21062 |
view/Reshape算子参数不匹配报错(1.8<=MS_VERSION<2) |
调用Reshape算子,或者使用其他接口(如view)间接调用Reshape算子。如果reshape后Tensor元素总数量与原Tensor的不匹配,则报错; |
|||
21063 |
view/Reshape算子参数不匹配报错(MS_VERSION>=2) |
调用Reshape算子,或者使用其他接口(如view)间接调用Reshape算子。如果reshape后Tensor元素总数量与原Tensor的不匹配,则报错。 |
|||
21064 |
算子不支持参数类型报错(MS_VERSION<2) |
算子不支持键值对参数而报错。 |
|||
21065 |
SoftmaxCrossEntropyWithLogits接口使用报错 |
SoftmaxCrossEntropyWithLogits只支持2维的输入。 |
|||
21066 |
算子选择类型不支持报错 |
算子选择因输入参数类型不支持,引起报错。 |
|||
21067 |
算子参数不支持报错 |
算子不支持当前输入参数类型报错。 |
|||
21068 |
算子参数不支持报错(MS_VERSION<=1.7) |
算子输入参数的类型不匹配,且不支持隐式转换报错。 |
|||
21069 |
算子参数不支持报错(1.7<MS_VERSION<2) |
算子输入参数的类型不匹配,且不支持隐式转换报错。 |
|||
21070 |
算子反向未定义错误 |
该算子反向可能没有定义,反向求导时报错。 |
|||
21071 |
算子选择错误 |
Ascend设备算子选择出现错误,可能原因是使用的算子不存在或者算子参数/输入配置错误。 |
|||
21072 |
算子使用错误 |
识别当前报错为算子使用错误。 |
|||
Vm |
21073 |
device设备OOM |
内存占用过多导致分配内存失败,可能原因有: batch_size的值设置过大、引入了异常大的Parameter,例如单个数据shape为[640,1024,80,81],数据类型为float32,单个数据大小超过15G,两个如此大小的数据相加时,占用内存超过3*15G,容易造成Out of Memory。 |
||
21074 |
device设备占用报错 |
执行网络脚本的设备可能被其他任务占用。 |
|||
Compiler |
21076 |
静态图语法错误 |
在静态图模式下,if控制流分支中的变量必须都有定义。 |
||
21077 |
静态图语法错误 |
在静态图模式下,while/for控制流分支中的变量必须都有定义。 |
|||
Vm |
21081 |
算子编译失败 |
算子编译失败。 |
||
21082 |
device_id设置超出机器限制 |
device_id设置错误,超出机器支持的device_id范围。 |
|||
21083 |
算子选择失败 |
网络编译报错,某算子选择失败。 |
|||
21085 |
通信算子下发失败 |
通信算子下发失败。 |
|||
21086 |
流超限 |
一般是通信算子多导致流超过硬件限制。 |
|||
21087 |
算子编译中response is empty |
一般是算子编译的子进程挂了或者调用阻塞卡住导致的超时。 |
|||
21089 |
数据格式不匹配 |
输入数据的格式与算子选择得到的数据格式不一致。 |
|||
21090 |
网络执行报错(AICORE算子) |
网络执行报错,某个算子执行失败。 |
|||
Pytorch |
Operator |
23001 |
ACL接口异步执行算子失败 |
ACL接口异步执行算子报错,可能是算子入参有问题,可能是算子自身存在BUG。 |
|
23002 |
算子异步执行报错 |
执行训练模型脚本过程中PyTorch框架算子异步执行出队阶段出现报错。 |
|||
Environment |
23003 |
CANN包完整性校验失败 |
执行训练模型脚本中加载torch_npu插件,由于环境校验失败出现报错,可能是CANN包安装不完整。 |
||
23004 |
CANN包环境变量校验失败 |
执行训练模型脚本中加载torch_npu插件,由于环境校验失败出现报错,框架的环境变量缺失,或者部分缺失。 |
|||
Operator |
23005 |
Torch算子不支持 |
执行训练模型脚本过程中遇到npu不支持的算子,提示算子不支持,可能是npu上未进行算子适配。 |
||
Environment |
23008 |
HCCL接口报错 |
执行训练模型脚本过程中调用HCCL接口发生报错,调用HCCL接口失败。 |
||
23009 |
ACL接口报错 |
执行训练模型脚本过程中调用ACL接口发生报错,调用ACL接口超时。 |
|||
23010 |
ACL接口报错 |
执行训练模型脚本过程中调用ACL接口发生报错,调用ACL接口失败。 |
|||
23011 |
NPU设备(Device)被占用报错 |
在同一张卡上同时拉起两个容器进行训练,同一张卡不支持两个容器同时挂载使用。 |
|||
23012 |
NPU设备(Device)未找到报错 |
执行训练模型脚本过程中指定设备时发生报错,设备可能故障/下电/重启。 |
|||
CANN |
HCCL |
25001 |
训练框架报错ranktable配置文件错误 |
训练框架报错ranktable配置文件错误。 |
|
硬件 |
NPU |
DeviceOS |
26001 |
片上内存多比特ECC错误 |
片上内存多比特ECC错误。 |
26002 |
Task Shedule异常 |
Task Shedule报AI Core执行异常或超时。 |
|||
DeviceNPU |
26008 |
HWTS报错超时异常 |
HWTS报错超时异常。 |
||
26009 |
HWTS报错aicore任务异常 |
HWTS报错aicore任务异常。 |
|||
26010 |
黑匣子记录TsException |
黑匣子记录TsException。 |
|||
26011 |
黑匣子记录DriverException |
黑匣子记录DriverException。 |
|||
26013 |
AI Core报错AIC_ERROR |
AI Core报错AIC_ERROR。 |
|||
26014 |
RTS_HWTS报错HwtsAicReset |
RTS_HWTS报错HwtsAicReset。 |
|||
26015 |
RTS_HWTS报错ResetRunningSlot |
RTS_HWTS报错ResetRunningSlot。 |
|||
软件 |
NPU |
DeviceOS |
26016 |
NPU侧系统内存超限 |
NPU侧系统内存分配给OS和基础进程使用,ProcMgr监测系统内存余量,当系统内存余量小于300M时上报故障。 |
设备资源分析
一级分类 |
二级分类 |
三级分类 |
错误码 |
根因 |
描述 |
---|---|---|---|---|---|
硬件 |
NPU |
- |
30001 |
NPU发生过载降频 |
NPU状态异常。 |
CPU |
- |
32001 |
CPU抢占(全进程抢占) |
计算节点发生CPU资源抢占异常。 |
|
32002 |
CPU抢占(单进程抢占) |
计算节点发生CPU资源抢占异常。 |
|||
32003 |
CPU抢占(部分进程抢占) |
计算节点发生CPU资源抢占异常。 |
网络拥塞分析
一级分类 |
二级分类 |
三级分类 |
错误码 |
根因 |
描述 |
---|---|---|---|---|---|
网络 |
- |
Network |
31001 |
链路拥塞异常 |
部分通信链路发生冲突拥塞。 |