9 void magma_xerror( cudaError_t err,
const char* func,
const char* file,
int line )
11 if ( err != cudaSuccess ) {
12 fprintf( stderr,
"CUDA runtime error: %s (%d) in %s at %s:%d\n",
13 cudaGetErrorString( err ), err, func, file, line );
19 void magma_xerror( CUresult err,
const char* func,
const char* file,
int line )
21 if ( err != CUDA_SUCCESS ) {
22 fprintf( stderr,
"CUDA driver error: %s (%d) in %s at %s:%d\n",
29 void magma_xerror( cublasStatus_t err,
const char* func,
const char* file,
int line )
31 if ( err != CUBLAS_STATUS_SUCCESS ) {
32 fprintf( stderr,
"CUBLAS error: %s (%d) in %s at %s:%d\n",
42 fprintf( stderr,
"MAGMA error: %s (%d) in %s at %s:%d\n",
56 case CUDA_ERROR_INVALID_VALUE:
57 return "invalid value";
59 case CUDA_ERROR_OUT_OF_MEMORY:
60 return "out of memory";
62 case CUDA_ERROR_NOT_INITIALIZED:
63 return "not initialized";
65 case CUDA_ERROR_DEINITIALIZED:
66 return "deinitialized";
68 case CUDA_ERROR_PROFILER_DISABLED:
69 return "profiler disabled";
71 case CUDA_ERROR_PROFILER_NOT_INITIALIZED:
72 return "profiler not initialized";
74 case CUDA_ERROR_PROFILER_ALREADY_STARTED:
75 return "profiler already started";
77 case CUDA_ERROR_PROFILER_ALREADY_STOPPED:
78 return "profiler already stopped";
80 case CUDA_ERROR_NO_DEVICE:
83 case CUDA_ERROR_INVALID_DEVICE:
84 return "invalid device";
86 case CUDA_ERROR_INVALID_IMAGE:
87 return "invalid image";
89 case CUDA_ERROR_INVALID_CONTEXT:
90 return "invalid context";
92 case CUDA_ERROR_CONTEXT_ALREADY_CURRENT:
93 return "context already current";
95 case CUDA_ERROR_MAP_FAILED:
98 case CUDA_ERROR_UNMAP_FAILED:
99 return "unmap failed";
101 case CUDA_ERROR_ARRAY_IS_MAPPED:
102 return "array is mapped";
104 case CUDA_ERROR_ALREADY_MAPPED:
105 return "already mapped";
107 case CUDA_ERROR_NO_BINARY_FOR_GPU:
108 return "no binary for GPU";
110 case CUDA_ERROR_ALREADY_ACQUIRED:
111 return "already acquired";
113 case CUDA_ERROR_NOT_MAPPED:
116 case CUDA_ERROR_NOT_MAPPED_AS_ARRAY:
117 return "not mapped as array";
119 case CUDA_ERROR_NOT_MAPPED_AS_POINTER:
120 return "not mapped as pointer";
122 case CUDA_ERROR_ECC_UNCORRECTABLE:
123 return "ECC uncorrectable";
125 case CUDA_ERROR_UNSUPPORTED_LIMIT:
126 return "unsupported limit";
128 case CUDA_ERROR_CONTEXT_ALREADY_IN_USE:
129 return "context already in use";
131 case CUDA_ERROR_INVALID_SOURCE:
132 return "invalid source";
134 case CUDA_ERROR_FILE_NOT_FOUND:
135 return "file not found";
137 case CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND:
138 return "shared object symbol not found";
140 case CUDA_ERROR_SHARED_OBJECT_INIT_FAILED:
141 return "shared object init failed";
143 case CUDA_ERROR_OPERATING_SYSTEM:
144 return "operating system";
146 case CUDA_ERROR_INVALID_HANDLE:
147 return "invalid handle";
149 case CUDA_ERROR_NOT_FOUND:
152 case CUDA_ERROR_NOT_READY:
155 case CUDA_ERROR_LAUNCH_FAILED:
156 return "launch failed";
158 case CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES:
159 return "launch out of resources";
161 case CUDA_ERROR_LAUNCH_TIMEOUT:
162 return "launch timeout";
164 case CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING:
165 return "launch incompatible texturing";
167 case CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED:
168 return "peer access already enabled";
170 case CUDA_ERROR_PEER_ACCESS_NOT_ENABLED:
171 return "peer access not enabled";
173 case CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE:
174 return "primary context active";
176 case CUDA_ERROR_CONTEXT_IS_DESTROYED:
177 return "context is destroyed";
179 case CUDA_ERROR_UNKNOWN:
183 return "unknown error code";
193 case CUBLAS_STATUS_SUCCESS:
196 case CUBLAS_STATUS_NOT_INITIALIZED:
197 return "not initialized";
199 case CUBLAS_STATUS_ALLOC_FAILED:
200 return "out of memory";
202 case CUBLAS_STATUS_INVALID_VALUE:
203 return "invalid value";
205 case CUBLAS_STATUS_ARCH_MISMATCH:
206 return "architecture mismatch";
208 case CUBLAS_STATUS_MAPPING_ERROR:
209 return "memory mapping error";
211 case CUBLAS_STATUS_EXECUTION_FAILED:
212 return "execution failed";
214 case CUBLAS_STATUS_INTERNAL_ERROR:
215 return "internal error";
218 return "unknown error code";
231 return "illegal value";
234 return "host malloc";
237 return "device malloc";
240 return "CUDA stream";
243 return "invalid pointer";
246 return "unknown error code";