(1)cusparseStatus_t 结构体的形式
typedef enum{
CUSPARSE_STATUS_SUCCESS=0,
CUSPARSE_STATUS_NOT_INITIALIZED=1,
CUSPARSE_STATUS_ALLOC_FAILED=2,
CUSPARSE_STATUS_INVALID_VALUE=3,
CUSPARSE_STATUS_ARCH_MISMATCH=4,
CUSPARSE_STATUS_MAPPING_ERROR=5,
CUSPARSE_STATUS_EXECUTION_FAILED=6,
CUSPARSE_STATUS_INTERNAL_ERROR=7,
CUSPARSE_STATUS_MATRIX_TYPE_NOT_SUPPORTED=8,
CUSPARSE_STATUS_ZERO_PIVOT=9
} cusparseStatus_t;
(2)cusparseStatus_t 返回的值的含义及状态对应的修改措施
Value(String Type) | Int Type | Description |
---|---|---|
CUSPARSE_STATUS_SUCCESS | 0 | The operation completed successfully |
CUSPARSE_STATUS_NOT_INITIALIZED | 1 | The cuSPARSE library was not initialized. This is usually caused by the lack of a prior call, an error in the CUDA Runtime API called by the cuSPARSE routine, or an error in the hardware setup To correct: call cusparseCreate() prior to the function call; and check that the hardware, an appropriate version of the driver, and the cuSPARSE library are correctly installed The error also applies to generic APIs ( Generic APIs reference) for indicating a matrix/vector descriptor not initialized |
CUSPARSE_STATUS_ALLOC_FAILED | 2 | Resource allocation failed inside the cuSPARSE library. This is usually caused by a device memory allocation (cudaMalloc()) or by a host memory allocation failure To correct: prior to the function call, deallocate previously allocated memory as much as possible |
CUSPARSE_STATUS_INVALID_VALUE | 3 | An unsupported value or parameter was passed to the function (a negative vector size, for example) To correct: ensure that all the parameters being passed have valid values |
CUSPARSE_STATUS_ARCH_MISMATCH | 4 | The function requires a feature absent from the device architecture To correct: compile and run the application on a device with appropriate compute capability |
CUSPARSE_STATUS_EXECUTION_FAILED | 5 | The GPU program failed to execute. This is often caused by a launch failure of the kernel on the GPU, which can be caused by multiple reasons To correct: check that the hardware, an appropriate version of the driver, and the cuSPARSE library are correctly installed |
CUSPARSE_STATUS_INTERNAL_ERROR | 6 | An internal cuSPARSE operation failed To correct: check that the hardware, an appropriate version of the driver, and the cuSPARSE library are correctly installed. Also, check that the memory passed as a parameter to the routine is not being deallocated prior to the routine completion |
CUSPARSE_STATUS_MATRIX_TYPE_NOT_SUPPORTED | 7 | The matrix type is not supported by this function. This is usually caused by passing an invalid matrix descriptor to the function To correct: check that the fields in cusparseMatDescr_t descrAwere set correctly |
CUSPARSE_STATUS_NOT_SUPPORTED | 8 | The operation or data type combination is currently not supported by the function |