23 #ifndef __CUDA_UTILITY_H_ 24 #define __CUDA_UTILITY_H_ 27 #include <cuda_runtime.h> 38 #define CUDA(x) cudaCheckError((x), #x, __FILE__, __LINE__) 44 #define CUDA_SUCCESS(x) (CUDA(x) == cudaSuccess) 50 #define CUDA_FAILED(x) (CUDA(x) != cudaSuccess) 56 #define CUDA_VERIFY(x) if(CUDA_FAILED(x)) return false; 62 #define LOG_CUDA "[cuda] " 75 inline cudaError_t
cudaCheckError(cudaError_t retval,
const char* txt,
const char* file,
int line )
77 #if !defined(CUDA_TRACE) 78 if( retval == cudaSuccess)
90 if( retval != cudaSuccess )
92 printf(
LOG_CUDA " %s (error %u) (hex 0x%02X)\n", cudaGetErrorString(retval), retval, retval);
93 printf(
LOG_CUDA " %s:%i\n", file, line);
105 #define SAFE_DELETE(x) if(x != NULL) { delete x; x = NULL; } 112 inline __device__ __host__
int iDivUp(
int a,
int b ) {
return (a % b != 0) ? (a / b + 1) : (a / b); }
cudaError_t cudaCheckError(cudaError_t retval, const char *txt, const char *file, int line)
cudaCheckError
Definition: cudaUtility.h:75
#define LOG_CUDA
LOG_CUDA string.
Definition: cudaUtility.h:62
__device__ __host__ int iDivUp(int a, int b)
If a / b has a remainder, round up.
Definition: cudaUtility.h:112