File: error.cpp

package info (click to toggle)
magma 2.5.4%2Bds-3
  • links: PTS, VCS
  • area: contrib
  • in suites: bullseye
  • size: 55,132 kB
  • sloc: cpp: 403,043; fortran: 121,916; ansic: 29,190; python: 25,167; f90: 13,666; makefile: 776; csh: 232; xml: 182; sh: 178; perl: 88
file content (48 lines) | stat: -rw-r--r-- 1,948 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/*
    -- MAGMA (version 2.5.4) --
       Univ. of Tennessee, Knoxville
       Univ. of California, Berkeley
       Univ. of Colorado, Denver
       @date October 2020

       @author Mark Gates
*/

#include <cuda.h>  // for CUDA_VERSION

#include "magmasparse_internal.h"

/**
    Maps a cuSPARSE error to a MAGMA error.
    
    @param[in]
    status      cuSPARSE error
    
    @return MAGMA error
    
    @ingroup magma_error_internal
    ********************************************************************/
extern "C" magma_int_t
cusparse2magma_error( cusparseStatus_t status )
{
    switch( status ) {
        case CUSPARSE_STATUS_SUCCESS:                   return MAGMA_SUCCESS;                                break;
        case CUSPARSE_STATUS_NOT_INITIALIZED:           return MAGMA_ERR_CUSPARSE_NOT_INITIALIZED;           break;
        case CUSPARSE_STATUS_ALLOC_FAILED:              return MAGMA_ERR_CUSPARSE_ALLOC_FAILED;              break;
        case CUSPARSE_STATUS_INVALID_VALUE:             return MAGMA_ERR_CUSPARSE_INVALID_VALUE;             break;
        case CUSPARSE_STATUS_ARCH_MISMATCH:             return MAGMA_ERR_CUSPARSE_ARCH_MISMATCH;             break;
        case CUSPARSE_STATUS_MAPPING_ERROR:             return MAGMA_ERR_CUSPARSE_MAPPING_ERROR;             break;
        case CUSPARSE_STATUS_EXECUTION_FAILED:          return MAGMA_ERR_CUSPARSE_EXECUTION_FAILED;          break;
        case CUSPARSE_STATUS_INTERNAL_ERROR:            return MAGMA_ERR_CUSPARSE_INTERNAL_ERROR;            break;
        case CUSPARSE_STATUS_MATRIX_TYPE_NOT_SUPPORTED: return MAGMA_ERR_CUSPARSE_MATRIX_TYPE_NOT_SUPPORTED; break;
        
        // added in CUDA 6.0
        #if CUDA_VERSION >= 6000
        case CUSPARSE_STATUS_ZERO_PIVOT:                return MAGMA_ERR_CUSPARSE_ZERO_PIVOT;                break;
        #endif
        
        default:
            return MAGMA_ERR_UNKNOWN;
            break;
    }
}