26 #ifndef NVNEURAL_CUDAHELPERS_H 
   27 #define NVNEURAL_CUDAHELPERS_H 
   32 #include <cuda_runtime_api.h> 
   48     if (status != cudaSuccess)
 
   52         if ((status == cudaErrorInsufficientDriver) ||
 
   53             (status == cudaErrorInitializationError))
 
   58         return NeuralResult::Failure;
 
   61     return NeuralResult::Success;
 
   70 #define CheckCudartErrors(status_) \ 
   73         const auto localResult = nvneural::CheckCudartErrors_Impl((status_), __FILE__, __LINE__); \ 
   74         if (failed(localResult))                                                                  \ 
   87     if (status != CUDA_SUCCESS)
 
   92         return NeuralResult::Failure;
 
   95     return NeuralResult::Success;
 
  104 #define CheckCudaDriverErrors(status_)                                                                \ 
  107         const auto localResult = nvneural::CheckCudaDriverErrors_Impl((status_), __FILE__, __LINE__); \ 
  108         if (failed(localResult))                                                                      \ 
  110             return localResult;                                                                       \ 
Common helper classes and template function implementations.
 
ILogger * DefaultLogger()
Returns a pointer to the default logger for this module.
Definition: Logging.cpp:38
 
NeuralResult
NeuralResult is a generic success/failure result type similar to COM HRESULT.
Definition: CoreTypes.h:275
 
const size_t STANDARD_CUDA_BLOCK_SIZE
A commonly used Cuda Thread Block size.
Definition: CudaHelpers.h:39
 
NeuralResult CheckCudaDriverErrors_Impl(CUresult status, const char file[], int line)
Implementation function for CheckCudaDriverErrors.
Definition: CudaHelpers.h:85
 
NeuralResult CheckCudartErrors_Impl(cudaError_t status, const char file[], int line)
Implementation function for CheckCudartErrors.
Definition: CudaHelpers.h:46
 
All CUDA-specific NvNeural types are declared here.
 
virtual NeuralResult logError(VerbosityLevel verbosity, const char *format,...) noexcept=0
Logs an error message.