19 #include <raft/core/error.hpp> 
   38     case CUFFT_SUCCESS: 
return "The cuFFT operation was successful.";
 
   39     case CUFFT_INVALID_PLAN: 
return "cuFFT was passed an invalid plan handle.";
 
   40     case CUFFT_ALLOC_FAILED: 
return "cuFFT failed to allocate GPU or CPU memory.";
 
   41     case CUFFT_INVALID_VALUE: 
return "User specified an invalid pointer or parameter.";
 
   42     case CUFFT_INTERNAL_ERROR: 
return "Driver or internal cuFFT library error.";
 
   43     case CUFFT_EXEC_FAILED: 
return "Failed to execute an FFT on the GPU.";
 
   44     case CUFFT_SETUP_FAILED: 
return "The cuFFT library failed to initialize.";
 
   45     case CUFFT_INVALID_SIZE: 
return "User specified an invalid transform size.";
 
   46 #if defined(CUDART_VERSION) && CUDART_VERSION < 13000 
   47     case CUFFT_INCOMPLETE_PARAMETER_LIST: 
return "Missing parameters in call.";
 
   49     case CUFFT_INVALID_DEVICE:
 
   50       return "Execution of a plan was on different GPU than plan creation.";
 
   51 #if defined(CUDART_VERSION) && CUDART_VERSION < 13000 
   52     case CUFFT_PARSE_ERROR: 
return "Internal plan database error.";
 
   54     case CUFFT_NO_WORKSPACE: 
return "No workspace has been provided prior to plan execution.";
 
   55     case CUFFT_NOT_IMPLEMENTED:
 
   56       return "Function does not implement functionality for parameters given.";
 
   57     case CUFFT_NOT_SUPPORTED: 
return "Operation is not supported for parameters given.";
 
   58     default: 
return "Unknown error.";
 
   68 #define CUFFT_TRY(call)                             \ 
   70     const cufftResult status = call;                \ 
   71     if (status != CUFFT_SUCCESS) {                  \ 
   74                     "cuFFT error encountered at: ", \
 
   75                     "call='%s', Reason=%s",         \
 
   77                     raft::getCufftErrStr(status));  \
 
   78       throw raft::cufft_error(msg);                 \
 
   87     CUFFT_TRY(cufftSetStream(handle, stream));
 
   90   operator cufftHandle()
 const { 
return handle; }
 
Definition: cufft_utils.h:82
 
~CuFFTHandle()
Definition: cufft_utils.h:89
 
CuFFTHandle(cudaStream_t stream)
Definition: cufft_utils.h:84
 
#define CUFFT_TRY(call)
Error checking macro for cuFFT functions.
Definition: cufft_utils.h:68
 
Definition: dbscan.hpp:25
 
const char * getCufftErrStr(cufftResult status)
Definition: cufft_utils.h:34
 
Exception thrown when a cuFFT error is encountered.
Definition: cufft_utils.h:29
 
cufft_error(std::string const &message)
Definition: cufft_utils.h:31
 
cufft_error(char const *const message)
Definition: cufft_utils.h:30