Visible to Intel only — GUID: GUID-B21BAFB0-92C1-419B-9B66-7D0B8EBC8C01
Visible to Intel only — GUID: GUID-B21BAFB0-92C1-419B-9B66-7D0B8EBC8C01
Convolution and Correlation Task Status and Error Reporting
The task status is an integer value, which is zero if no error has been detected while processing the task, or a specific non-zero error code otherwise. Negative status values indicate errors, and positive values indicate warnings.
An error can be caused by invalid parameter values, a system fault like a memory allocation failure, or can be an internal error self-detected by the software.
Each task descriptor contains the current status of the task. When creating a task object, the constructor assigns the VSL_STATUS_OK status to the task. When processing the task afterwards, other routines such as editors or executors can change the task status if an error occurs and write a corresponding error code into the task status field.
Note that at the stage of creating a task or editing its parameters, the set of parameters may be inconsistent. The parameter consistency check is only performed during the task commitment operation, which is implicitly invoked before task execution or task copying. If an error is detected at this stage, task execution or task copying is terminated and the task descriptor saves the corresponding error code. Once an error occurs, any further attempts to process that task descriptor is terminated and the task keeps the same error code.
Normally, every convolution or correlation function (except DeleteTask) returns the status assigned to the task while performing the function operation.
The header files define symbolic names for the status codes. These names are defined as macros via the #define statements.
If there is no error, the VSL_STATUS_OK status is returned, which is defined as zero:
- #define VSL_STATUS_OK 0
In case of an error, a non-zero error code is returned, which indicates the origin of the failure. The following status codes for the convolution/correlation error codes are pre-defined in the header files.
Status Code |
Description |
---|---|
VSL_CC_ERROR_NOT_IMPLEMENTED |
Requested functionality is not implemented. |
VSL_CC_ERROR_ALLOCATION_FAILURE |
Memory allocation failure. |
VSL_CC_ERROR_BAD_DESCRIPTOR |
Task descriptor is corrupted. |
VSL_CC_ERROR_SERVICE_FAILURE |
A service function has failed. |
VSL_CC_ERROR_EDIT_FAILURE |
Failure while editing the task. |
VSL_CC_ERROR_EDIT_PROHIBITED |
You cannot edit this parameter. |
VSL_CC_ERROR_COMMIT_FAILURE |
Task commitment has failed. |
VSL_CC_ERROR_COPY_FAILURE |
Failure while copying the task. |
VSL_CC_ERROR_DELETE_FAILURE |
Failure while deleting the task. |
VSL_CC_ERROR_BAD_ARGUMENT |
Bad argument or task parameter. |
VSL_CC_ERROR_JOB |
Bad parameter: job. |
SL_CC_ERROR_KIND |
Bad parameter: kind. |
VSL_CC_ERROR_MODE |
Bad parameter: mode. |
VSL_CC_ERROR_METHOD |
Bad parameter: method. |
VSL_CC_ERROR_TYPE |
Bad parameter: type. |
VSL_CC_ERROR_EXTERNAL_PRECISION |
Bad parameter: external_precision. |
VSL_CC_ERROR_INTERNAL_PRECISION |
Bad parameter: internal_precision. |
VSL_CC_ERROR_PRECISION |
Incompatible external/internal precisions. |
VSL_CC_ERROR_DIMS |
Bad parameter: dims. |
VSL_CC_ERROR_XSHAPE |
Bad parameter: xshape. |
VSL_CC_ERROR_YSHAPE |
Bad parameter: yshape. Callback function for an abstract BRNG returns an invalid number of updated entries in a buffer, that is, < 0 or >nmax. |
VSL_CC_ERROR_ZSHAPE |
Bad parameter: zshape. |
VSL_CC_ERROR_XSTRIDE |
Bad parameter: xstride. |
VSL_CC_ERROR_YSTRIDE |
Bad parameter: ystride. |
VSL_CC_ERROR_ZSTRIDE |
Bad parameter: zstride. |
VSL_CC_ERROR_X |
Bad parameter: x. |
VSL_CC_ERROR_Y |
Bad parameter: y. |
VSL_CC_ERROR_Z |
Bad parameter: z. |
VSL_CC_ERROR_START |
Bad parameter: start. |
VSL_CC_ERROR_DECIMATION |
Bad parameter: decimation. |
VSL_CC_ERROR_OTHER |
Another error. |