NVIDIA NvNeural SDK  2022.2
GPU inference framework for NVIDIA Nsight Deep Learning Designer
CudaHelpers.h File Reference

All CUDA helper functions and structs are declared here. More...

#include <nvneural/CudaTypes.h>
#include <nvneural/CoreHelpers.h>
#include <cassert>
#include <cuda_runtime_api.h>

Go to the source code of this file.

Macros

#define CheckCudaDriverErrors(status_)
 CheckCudaDriverErrors is an error-handling macro. More...
 
#define CheckCudartErrors(status_)
 CheckCudartErrors is an error-handling macro. More...
 

Functions

NeuralResult nvneural::CheckCudaDriverErrors_Impl (CUresult status, const char file[], int line)
 Implementation function for CheckCudaDriverErrors. More...
 
NeuralResult nvneural::CheckCudartErrors_Impl (cudaError_t status, const char file[], int line)
 Implementation function for CheckCudartErrors. More...
 

Variables

const size_t nvneural::STANDARD_CUDA_BLOCK_SIZE = 32
 A commonly used Cuda Thread Block size. More...
 

Detailed Description

All CUDA helper functions and structs are declared here.

Macro Definition Documentation

◆ CheckCudaDriverErrors

#define CheckCudaDriverErrors (   status_)
Value:
do \
{ \
const auto localResult = nvneural::CheckCudaDriverErrors_Impl((status_), __FILE__, __LINE__); \
if (failed(localResult)) \
{ \
return localResult; \
} \
} while (false)
constexpr bool failed(NeuralResult result) noexcept
Helper function akin to COM's FAILED() macro.
Definition: CoreTypes.h:289
NeuralResult CheckCudaDriverErrors_Impl(CUresult status, const char file[], int line)
Implementation function for CheckCudaDriverErrors.
Definition: CudaHelpers.h:85

CheckCudaDriverErrors is an error-handling macro.

It returns NeuralResult::Failure from the caller if the provided CUresult expression evaluates to anything but CUDA_SUCCESS.

Use this for CUDA driver API calls.

Example: CheckCudaDriverErrors(cuCtxSynchronize());

◆ CheckCudartErrors

#define CheckCudartErrors (   status_)
Value:
do \
{ \
const auto localResult = nvneural::CheckCudartErrors_Impl((status_), __FILE__, __LINE__); \
if (failed(localResult)) \
{ \
return localResult; \
} \
} while (false)
NeuralResult CheckCudartErrors_Impl(cudaError_t status, const char file[], int line)
Implementation function for CheckCudartErrors.
Definition: CudaHelpers.h:46

CheckCudartErrors is an error-handling macro.

It returns NeuralResult::Failure from the caller if the provided cudaError_t expression evaluates to anything but cudaSuccess.

Use this for CUDA runtime API calls.

Example: CheckCudartErrors(cudaDeviceSynchronize());

Function Documentation

◆ CheckCudaDriverErrors_Impl()

NeuralResult nvneural::CheckCudaDriverErrors_Impl ( CUresult  status,
const char  file[],
int  line 
)
inline

Implementation function for CheckCudaDriverErrors.

Parameters
statusCUDA driver result to check
fileFilename holding the check
lineLine number of the check

◆ CheckCudartErrors_Impl()

NeuralResult nvneural::CheckCudartErrors_Impl ( cudaError_t  status,
const char  file[],
int  line 
)
inline

Implementation function for CheckCudartErrors.

Parameters
statusCUDA runtime result to check
fileFilename holding the check
lineLine number of the check

Variable Documentation

◆ STANDARD_CUDA_BLOCK_SIZE

const size_t nvneural::STANDARD_CUDA_BLOCK_SIZE = 32

A commonly used Cuda Thread Block size.

This block size is in no way mandatory. Users are encouraged to use whatever launch scheme makes the most sense for their kernel and target hardware.