|
@@ -160,93 +160,9 @@ STARPU_ATOMIC_SOMETHING(or, old | value)
|
|
|
|
|
|
|
|
|
|
|
|
-#define STARPU_CUDA_REPORT_ERROR(status) \
|
|
|
+#define STARPU_CUDA_REPORT_ERROR(status) \
|
|
|
do { \
|
|
|
- char *errormsg; \
|
|
|
- switch (status) { \
|
|
|
- case CUDA_SUCCESS: \
|
|
|
- errormsg = "success"; \
|
|
|
- break; \
|
|
|
- case CUDA_ERROR_INVALID_VALUE: \
|
|
|
- errormsg = "invalid value"; \
|
|
|
- break; \
|
|
|
- case CUDA_ERROR_OUT_OF_MEMORY: \
|
|
|
- errormsg = "out of memory"; \
|
|
|
- break; \
|
|
|
- case CUDA_ERROR_NOT_INITIALIZED: \
|
|
|
- errormsg = "not initialized"; \
|
|
|
- break; \
|
|
|
- case CUDA_ERROR_DEINITIALIZED: \
|
|
|
- errormsg = "deinitialized"; \
|
|
|
- break; \
|
|
|
- case CUDA_ERROR_NO_DEVICE: \
|
|
|
- errormsg = "no device"; \
|
|
|
- break; \
|
|
|
- case CUDA_ERROR_INVALID_DEVICE: \
|
|
|
- errormsg = "invalid device"; \
|
|
|
- break; \
|
|
|
- case CUDA_ERROR_INVALID_IMAGE: \
|
|
|
- errormsg = "invalid image"; \
|
|
|
- break; \
|
|
|
- case CUDA_ERROR_INVALID_CONTEXT: \
|
|
|
- errormsg = "invalid context"; \
|
|
|
- break; \
|
|
|
- case CUDA_ERROR_CONTEXT_ALREADY_CURRENT: \
|
|
|
- errormsg = "context already current"; \
|
|
|
- break; \
|
|
|
- case CUDA_ERROR_MAP_FAILED: \
|
|
|
- errormsg = "map failed"; \
|
|
|
- break; \
|
|
|
- case CUDA_ERROR_UNMAP_FAILED: \
|
|
|
- errormsg = "unmap failed"; \
|
|
|
- break; \
|
|
|
- case CUDA_ERROR_ARRAY_IS_MAPPED: \
|
|
|
- errormsg = "array is mapped"; \
|
|
|
- break; \
|
|
|
- case CUDA_ERROR_ALREADY_MAPPED: \
|
|
|
- errormsg = "already mapped"; \
|
|
|
- break; \
|
|
|
- case CUDA_ERROR_NO_BINARY_FOR_GPU: \
|
|
|
- errormsg = "no binary for gpu"; \
|
|
|
- break; \
|
|
|
- case CUDA_ERROR_ALREADY_ACQUIRED: \
|
|
|
- errormsg = "already acquired"; \
|
|
|
- break; \
|
|
|
- case CUDA_ERROR_NOT_MAPPED: \
|
|
|
- errormsg = "not mapped"; \
|
|
|
- break; \
|
|
|
- case CUDA_ERROR_INVALID_SOURCE: \
|
|
|
- errormsg = "invalid source"; \
|
|
|
- break; \
|
|
|
- case CUDA_ERROR_FILE_NOT_FOUND: \
|
|
|
- errormsg = "file not found"; \
|
|
|
- break; \
|
|
|
- case CUDA_ERROR_INVALID_HANDLE: \
|
|
|
- errormsg = "invalid handle"; \
|
|
|
- break; \
|
|
|
- case CUDA_ERROR_NOT_FOUND: \
|
|
|
- errormsg = "not found"; \
|
|
|
- break; \
|
|
|
- case CUDA_ERROR_NOT_READY: \
|
|
|
- errormsg = "not ready"; \
|
|
|
- break; \
|
|
|
- case CUDA_ERROR_LAUNCH_FAILED: \
|
|
|
- errormsg = "launch failed"; \
|
|
|
- break; \
|
|
|
- case CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES: \
|
|
|
- errormsg = "launch out of resources"; \
|
|
|
- break; \
|
|
|
- case CUDA_ERROR_LAUNCH_TIMEOUT: \
|
|
|
- errormsg = "launch timeout"; \
|
|
|
- break; \
|
|
|
- case CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING: \
|
|
|
- errormsg = "launch incompatible texturing";\
|
|
|
- break; \
|
|
|
- case CUDA_ERROR_UNKNOWN: \
|
|
|
- default: \
|
|
|
- errormsg = "unknown error"; \
|
|
|
- break; \
|
|
|
- } \
|
|
|
+ const char *errormsg = cudaGetErrorString(status); \
|
|
|
printf("oops in %s ... %s \n", __func__, errormsg); \
|
|
|
assert(0); \
|
|
|
} while (0)
|