aclrtGetErrorVerbose
Note: This API is reserved and not supported currently.
Description
Obtains the detailed error information after a device fault occurs. This API must be called after a fault event is obtained and before task submission is terminated.
Prototype
aclError aclrtGetErrorVerbose(int32_t deviceId, aclrtErrorInfo *errorInfo);
Parameters
Parameter |
Input/Output |
Description |
|---|---|---|
deviceId |
Input |
Device ID. The value must be the same as the value of Device ID in aclrtSetDevice. |
errorInfo |
Output |
Error message. typedef enum {
ACL_RT_NO_ERROR = 0, // No error
ACL_RT_ERROR_MEMORY = 1, // Memory error. Not supported currently.
ACL_RT_ERROR_L2 = 2, // L2 cache error
ACL_RT_ERROR_AICORE = 3, // AI Core error
ACL_RT_ERROR_LINK = 4, // Not supported currently
ACL_RT_ERROR_OTHERS = 0xFFFF, // Other errors
} aclrtErrorType;typedef enum aclrtAicoreErrorType {
ACL_RT_AICORE_ERROR_UNKOWN, // Unknown error
ACL_RT_AICORE_ERROR_SW, // Software check recommended
ACL_RT_AICORE_ERROR_HW_LOCAL, // Device hardware check recommended
} aclrtAicoreErrorType;#define ACL_RT_MEM_UCE_INFO_MAX_NUM 20
typedef struct {
size_t arraySize; // Size of the memUceInfoArray array
aclrtMemUceInfo memUceInfoArray[ACL_RT_MEM_UCE_INFO_MAX_NUM]; // Array of virtual addresses of a memory UCE
} aclrtMemUceInfoArray;typedef union aclrtErrorInfoDetail {
aclrtMemUceInfoArray uceInfo; // Memory UCE
aclrtAicoreErrorType aicoreErrType; // AI Core error
} aclrtErrorInfoDetail; typedef struct aclrtErrorInfo {
uint8_t tryRepair; // Whether repairing is required. 0: no; 1: yes
uint8_t hasDetail; // Whether error details are available. 0: no; 1: yes
uint8_t reserved[2]; // Reserved parameter
aclrtErrorType errorType; // Error type
aclrtErrorInfoDetail detail; // Error details
} aclrtErrorInfo;
|
Returns
0 on success; else, failure. For details, see aclError.
Parent topic: Exception Handling