25 #ifndef NVNEURAL_CUBLASHELPERS_H 
   26 #define NVNEURAL_CUBLASHELPERS_H 
   28 #include <cublas_v2.h> 
   39 #define CheckCublasErrors(expr_) \ 
   42         const cublasStatus_t cbStatus = (expr_);                        \ 
   43         LogPossibleCublasFailure(cbStatus, #expr_, __FILE__, __LINE__); \ 
   44         if (CUBLAS_STATUS_SUCCESS != cbStatus)                          \ 
   46             return NeuralResult::Failure;                               \ 
   56 static void LogPossibleCublasFailure(cublasStatus_t status, 
const char* pExpression, 
const char* pFilename, 
int line)
 
   58     if (status != CUBLAS_STATUS_SUCCESS)
 
   60         DefaultLogger()->
logError(0, 
"%s(%d): %s returned %d", pFilename, line, pExpression, status);
 
Fundamental NvNeural data types are declared here.
 
NeuralResult
NeuralResult is a generic success/failure result type similar to COM HRESULT.
Definition: CoreTypes.h:275
 
NeuralResult InitializeCublas(INetworkBackendCuda *pBackend) noexcept
Initializes cuBLAS and registers it with the backend.
 
cublasHandle_t GetCublasHandle(const INetworkBackendCuda *pBackend) noexcept
Retrieves the cuBLAS handle associated with a CUDA backend.
 
All CUDA-specific NvNeural types are declared here.
 
virtual NeuralResult logError(VerbosityLevel verbosity, const char *format,...) noexcept=0
Logs an error message.
 
INetworkBackend companion interface with CUDA-specific functionality.
Definition: CudaTypes.h:346