#ifndef STIM_CUDA_ERROR_H #define STIM_CUDA_ERROR_H #include #include using namespace std; #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "cufft.h" #include "cublas_v2.h" //handle error macro static void cuHandleError( cudaError_t err, const char *file, int line ) { if (err != cudaSuccess) { printf("%s in %s at line %d\n", cudaGetErrorString( err ), file, line ); } } #define HANDLE_ERROR( err ) (cuHandleError( err, __FILE__, __LINE__ )) static void cufftHandleError( cufftResult err, const char*file, int line ) { if (err != CUFFT_SUCCESS) { if(err == CUFFT_INVALID_PLAN) cout<<"The plan parameter is not a valid handle."<