15#ifndef OPENJIJ_UTILITY_GPU_HANDLE_ERROR_HPP__
16#define OPENJIJ_UTILITY_GPU_HANDLE_ERROR_HPP__
24#include <cuda_runtime.h>
35#ifndef HANDLE_ERROR_CUDA
36#define HANDLE_ERROR_CUDA(expr) \
38 cudaError_t err = (expr); \
39 if (err != cudaSuccess) \
40 std::cerr << "cuda error_code: " << err \
41 << " err_name: " << cudaGetErrorString(err) << " at " \
42 << __FILE__ << " line " << __LINE__ << std::endl; \
46#ifndef HANDLE_ERROR_CURAND
47#define HANDLE_ERROR_CURAND(expr) \
49 curandStatus_t st = (expr); \
50 if (st != CURAND_STATUS_SUCCESS) \
51 std::cerr << "curand_error: " << st << " at " << __FILE__ << " line " \
52 << __LINE__ << std::endl; \
56#ifndef HANDLE_ERROR_CUBLAS
57#define HANDLE_ERROR_CUBLAS(expr) \
59 cublasStatus_t st = (expr); \
60 if (st != CUBLAS_STATUS_SUCCESS) \
61 std::cerr << "cublas_error: " << st << " at " << __FILE__ << " line " \
62 << __LINE__ << std::endl; \
68#ifndef HANDLE_ERROR_CUDA
69#define HANDLE_ERROR_CUDA(expr) expr
72#ifndef HANDLE_ERROR_CURAND
73#define HANDLE_ERROR_CURAND(expr) expr
76#ifndef HANDLE_ERROR_CUBLAS
77#define HANDLE_ERROR_CUBLAS(expr) expr
Definition algorithm.hpp:24