よく見かけるけど、中身とかよくわかってなかったのでメモ.
CUDA_SAFE_CALL()の中身
cutil.hに書いてあるCUDA_SAFE_CALL()の中身.
実態はマクロ.
# define CUDA_SAFE_CALL_NO_SYNC( call) { \ cudaError err = call; \ if( cudaSuccess != err) { \ fprintf(stderr, "Cuda error in file '%s' in line %i : %s.\n", \ __FILE__, __LINE__, cudaGetErrorString( err) ); \ exit(EXIT_FAILURE); \ } } # define CUDA_SAFE_CALL( call) CUDA_SAFE_CALL_NO_SYNC(call);
cudaMemcpyKind
メモリをコピーするときの方向を表すやつ(Memcpyの引数).
「/usr/local/cuda/include/driver_types.h」に書かれている.
enum cudaMemcpyKind { cudaMemcpyHostToHost = 0, /**< Host -> Host */ cudaMemcpyHostToDevice = 1, /**< Host -> Device */ cudaMemcpyDeviceToHost = 2, /**< Device -> Host */ cudaMemcpyDeviceToDevice = 3 /**< Device -> Device */ };