libkvikio  23.12.00
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
kvikio::cudaAPI Class Reference

Shim layer of the cuda C-API. More...

#include <cuda.hpp>

Public Member Functions

 cudaAPI (cudaAPI const &)=delete
 
void operator= (cudaAPI const &)=delete
 

Static Public Member Functions

static cudaAPIinstance ()
 

Public Attributes

decltype(cuInit) * Init {nullptr}
 
decltype(cuMemHostAlloc) * MemHostAlloc {nullptr}
 
decltype(cuMemFreeHost) * MemFreeHost {nullptr}
 
decltype(cuMemcpyHtoD) * MemcpyHtoD {nullptr}
 
decltype(cuMemcpyDtoH) * MemcpyDtoH {nullptr}
 
decltype(cuPointerGetAttribute) * PointerGetAttribute {nullptr}
 
decltype(cuPointerGetAttributes) * PointerGetAttributes {nullptr}
 
decltype(cuCtxPushCurrent) * CtxPushCurrent {nullptr}
 
decltype(cuCtxPopCurrent) * CtxPopCurrent {nullptr}
 
decltype(cuCtxGetCurrent) * CtxGetCurrent {nullptr}
 
decltype(cuMemGetAddressRange) * MemGetAddressRange {nullptr}
 
decltype(cuGetErrorName) * GetErrorName {nullptr}
 
decltype(cuGetErrorString) * GetErrorString {nullptr}
 
decltype(cuDeviceGet) * DeviceGet {nullptr}
 
decltype(cuDevicePrimaryCtxRetain) * DevicePrimaryCtxRetain {nullptr}
 
decltype(cuDevicePrimaryCtxRelease) * DevicePrimaryCtxRelease {nullptr}
 
decltype(cuStreamSynchronize) * StreamSynchronize {nullptr}
 

Detailed Description

Shim layer of the cuda C-API.

This is a singleton class that use dlopen on construction to load the C-API of cuda.

For example, cudaAPI::instance().MemHostAlloc() corresponds to calling cuMemHostAlloc()

Definition at line 31 of file cuda.hpp.


The documentation for this class was generated from the following file: