aclrtGetErrorVerbose
须知:本接口为预留接口,暂不支持。
功能说明
用于在发生设备故障后获取详细错误信息。此接口必须在获取故障事件之后,提交任务中止之前调用。
函数原型
aclError aclrtGetErrorVerbose(int32_t deviceId, aclrtErrorInfo *errorInfo);
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| deviceId | 输入 | Device ID。 与aclrtSetDevice接口中Device ID保持一致。 |
| errorInfo | 输出 | 错误信息。 typedef enum { ACL_RT_NO_ERROR = 0, // 无错误 ACL_RT_ERROR_MEMORY = 1, // 内存错误,暂不支持 ACL_RT_ERROR_L2 = 2, // L2 Cache二级缓存错误 ACL_RT_ERROR_AICORE = 3, // AI Core错误 ACL_RT_ERROR_LINK = 4, // 暂不支持 ACL_RT_ERROR_OTHERS = 5, // 其它错误 } aclrtErrorType; typedef enum aclrtAicoreErrorType { ACL_RT_AICORE_ERROR_UNKOWN, // 未知错误 ACL_RT_AICORE_ERROR_SW, // 建议排查软件错误 ACL_RT_AICORE_ERROR_HW_LOCAL, // 建议排查当前Device的硬件错误 } aclrtAicoreErrorType; #define ACL_RT_MEM_UCE_INFO_MAX_NUM 20 typedef struct { size_t arraySize; // memUceInfoArray数组大小 aclrtMemUceInfo memUceInfoArray[ACL_RT_MEM_UCE_INFO_MAX_NUM]; // 内存UCE的错误虚拟地址数组 } aclrtMemUceInfoArray; typedef union aclrtErrorInfoDetail { aclrtMemUceInfoArray uceInfo; // 内存UCE(uncorrect error) aclrtAicoreErrorType aicoreErrType; // AI Core错误 } aclrtErrorInfoDetail; typedef struct aclrtErrorInfo { uint8_t tryRepair; // 是否需要修复 ,0表示无需修复,1表示需修复 uint8_t hasDetail; // 是否有详细报错信息,0表示没有,1表示有 uint8_t reserved[2]; // 预留参数 aclrtErrorType errorType; // 错误类型 aclrtErrorInfoDetail detail; // 错误详细信息 } aclrtErrorInfo; |
返回值说明
返回0表示成功,返回其他值表示失败,请参见aclError。