DISTRIBUTED 组件错误码#
范围:0xAXXXX
本文档说明 DISTRIBUTED 组件的错误码定义、场景说明与排查建议。
错误码定义#
相关错误码的统一定义,参见 framework/src/interface/utils/distributed_error.h 文件。
排查建议#
根据日志中不同ErrorCode关联到下述排查建议:
参数错误(0xA0000 - 0xA0009)#
0xA0000 INVALID_GROUP_NAME#
检查通信域名是否为空:确认传入的 group_name 不为 nullptr,且不为空字符串。
检查通信域名长度范围:确认传入的 group_name 长度在 [1, 128) 范围内,避免过长或非法长度。
0xA0001 INVALID_WORLD_SIZE#
检查创建通信域:确保在调用 create_shmem_tensor 时,输入的总进程数不为 0。重复调用 create_shmem_tensor 时,确保传入的 group_name 一致。
0xA0002 INVALID_TENSOR_DIM#
检查张量维度:确认张量的维度为 2 维,符合要求。
0xA0003 INVALID_TENSOR_SHAPE#
检查张量形状:确保张量形状为 2 维,且每个维度的大小为正整数,避免出现零维、负维等非法情况。
检查张量形状有效性:确认每个维度的形状符合预期,满足后续运算需求。
0xA0004 INVALID_TENSOR_DTYPE#
检查张量类型:确认张量不包含当前硬件不支持的低精度或高精度类型,且数据类型符合预期。
0xA0005 INVALID_TENSOR_FORMAT#
检查张量格式:确认张量格式为 ND 格式,确保数据格式符合规范。
0xA0006 INVALID_SHMEM_TENSOR#
检查输入Shmem Tensor:请根据报错信息确定原因,可能原因是ShmemTensor中没有合法的data或者signal Tensor。
0xA0007 INVALID_SHMEM_VIEW_PARAM#
检查ShmemView接口参数:请根据报错信息确定原因,可能原因是ShmemView传入shape或者offset信息不合法。
0xA0008 INVALID_OP_TYPE#
检查ShmemWaitUntil:请直接根据报错信息确定原因,可能原因是ShmemWaitUntil接口传入了不支持的比较类型。
0xA0009 INVALID_OPERAND_NUM#
检查输入输出参数个数:确保传入的输入和输出参数数量与 API 定义一致。
配置错误(0xA1000-0xA1002)#
0xA1000 INVALID_TILE_DIM#
检查tile的维度:确定tile的维度为2维。
0xA1001 INVALID_TILE_SHAPE#
检查tile的维度:确定tile每个维度的值必须大于0,均为合法有效值。
0xA1002 INVALID_ALIGNMENT#
检查UB buffer的总字节大小:确保UB buffer的总字节大小是 256 字节的整数倍。
运行时错误(0xA2000 - 0xA2002)#
0xA2000 WIN_SIZE_EXCEED_LIMIT#
检查创建的shmem_tensor: 确认创建的所有 shmem_tensor 的总元素大小小于 1024 * 1024 * 200字节。
0xA2001 TILE_NUM_EXCEED_LIMIT#
检查分块总个数: 确认在调用 shmem_wait_until 之前,设置的分块总数不超过 1024。
0xA2002 DIVISION_BY_ZERO#
检查分块合理性:确认各维度分块大小无非法零值。
machine 相关的错误(0xA3000 - 0xA3005)#
0xA3000 AICPU_TASK_TIMEOUT#
aicpu等待超时:确认 shmem_signal 发送的信号能够被 shmem_wait_until 正常接收并等待完成。
查日志上下文:参考
docs\trouble_shooting\machine.md文件,打开DEBUG日志。
0xA3001 AICPU_TASK_NUM_EXCEED_LIMIT#
检查任务队列大小:确认 SignalTileOp 队列的任务数未超出最大容量限制。
检查任务数量限制:确认当前任务数量 (taskCount) 不超过 1024。
查日志上下文:参考
docs\trouble_shooting\machine.md文件,打开DEBUG日志。
0xA3002 AICPU_TASK_QUEUE_EMPTY#
检查 AICPU 任务队列:确认任务队列在执行任务前不为空,避免在空队列上执行任务操作。
查日志上下文:参考
docs\trouble_shooting\machine.md文件,打开DEBUG日志。
0xA3003 AICPU_TASKID_NOT_IN_MAP#
检查任务 ID:确认给定的 taskId 存在于任务 ID 映射表中,避免任务 ID 查找失败。
查日志上下文:参考
docs\trouble_shooting\machine.md文件,打开DEBUG日志。
0xA3004 INVALID_GROUP_INDEX#
检查通信域索引:确认给定的 groupIndex 小于通信域的总数 commGroupNum_,确保索引在有效范围内。
查日志上下文:参考
docs\trouble_shooting\machine.md文件,打开DEBUG日志。
0xA3005 NULLPTR#
检查运行时管理对象:确保 AicoreManager等运行时依赖对象已正确初始化并传入。
查日志上下文:参考
docs\trouble_shooting\machine.md文件,打开DEBUG日志。