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.