| // Auto-generated, do not edit. |
| |
| extern "C" { |
| CUresult CUDAAPI cuGetErrorString(CUresult error, const char **pStr) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUresult, const char **); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuGetErrorString"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(error, pStr); |
| } |
| |
| CUresult CUDAAPI cuGetErrorName(CUresult error, const char **pStr) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUresult, const char **); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuGetErrorName"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(error, pStr); |
| } |
| |
| CUresult CUDAAPI cuInit(unsigned int Flags) { |
| using FuncPtr = CUresult(CUDAAPI *)(unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuInit"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(Flags); |
| } |
| |
| CUresult CUDAAPI cuDriverGetVersion(int *driverVersion) { |
| using FuncPtr = CUresult(CUDAAPI *)(int *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuDriverGetVersion"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(driverVersion); |
| } |
| |
| CUresult CUDAAPI cuDeviceGet(CUdevice *device, int ordinal) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdevice *, int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuDeviceGet"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(device, ordinal); |
| } |
| |
| CUresult CUDAAPI cuDeviceGetCount(int *count) { |
| using FuncPtr = CUresult(CUDAAPI *)(int *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuDeviceGetCount"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(count); |
| } |
| |
| CUresult CUDAAPI cuDeviceGetName(char *name, int len, CUdevice dev) { |
| using FuncPtr = CUresult(CUDAAPI *)(char *, int, CUdevice); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuDeviceGetName"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(name, len, dev); |
| } |
| |
| CUresult CUDAAPI cuDeviceGetUuid(CUuuid *uuid, CUdevice dev) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUuuid *, CUdevice); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuDeviceGetUuid"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(uuid, dev); |
| } |
| |
| CUresult CUDAAPI cuDeviceTotalMem(size_t *bytes, CUdevice dev) { |
| using FuncPtr = CUresult(CUDAAPI *)(size_t *, CUdevice); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuDeviceTotalMem_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(bytes, dev); |
| } |
| |
| CUresult CUDAAPI cuDeviceGetAttribute(int *pi, CUdevice_attribute attrib, |
| CUdevice dev) { |
| using FuncPtr = CUresult(CUDAAPI *)(int *, CUdevice_attribute, CUdevice); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuDeviceGetAttribute"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pi, attrib, dev); |
| } |
| |
| __CUDA_DEPRECATED CUresult CUDAAPI cuDeviceGetProperties(CUdevprop *prop, |
| CUdevice dev) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdevprop *, CUdevice); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuDeviceGetProperties"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(prop, dev); |
| } |
| |
| __CUDA_DEPRECATED CUresult CUDAAPI cuDeviceComputeCapability(int *major, |
| int *minor, |
| CUdevice dev) { |
| using FuncPtr = CUresult(CUDAAPI *)(int *, int *, CUdevice); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuDeviceComputeCapability"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(major, minor, dev); |
| } |
| |
| CUresult CUDAAPI cuDevicePrimaryCtxRetain(CUcontext *pctx, CUdevice dev) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUcontext *, CUdevice); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuDevicePrimaryCtxRetain"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pctx, dev); |
| } |
| |
| CUresult CUDAAPI cuDevicePrimaryCtxRelease(CUdevice dev) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdevice); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuDevicePrimaryCtxRelease"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dev); |
| } |
| |
| CUresult CUDAAPI cuDevicePrimaryCtxSetFlags(CUdevice dev, unsigned int flags) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdevice, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuDevicePrimaryCtxSetFlags"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dev, flags); |
| } |
| |
| CUresult CUDAAPI cuDevicePrimaryCtxGetState(CUdevice dev, unsigned int *flags, |
| int *active) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdevice, unsigned int *, int *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuDevicePrimaryCtxGetState"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dev, flags, active); |
| } |
| |
| CUresult CUDAAPI cuDevicePrimaryCtxReset(CUdevice dev) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdevice); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuDevicePrimaryCtxReset"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dev); |
| } |
| |
| CUresult CUDAAPI cuCtxCreate(CUcontext *pctx, unsigned int flags, |
| CUdevice dev) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUcontext *, unsigned int, CUdevice); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuCtxCreate_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pctx, flags, dev); |
| } |
| |
| CUresult CUDAAPI cuCtxDestroy(CUcontext ctx) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUcontext); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuCtxDestroy_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(ctx); |
| } |
| |
| CUresult CUDAAPI cuCtxPushCurrent(CUcontext ctx) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUcontext); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuCtxPushCurrent_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(ctx); |
| } |
| |
| CUresult CUDAAPI cuCtxPopCurrent(CUcontext *pctx) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUcontext *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuCtxPopCurrent_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pctx); |
| } |
| |
| CUresult CUDAAPI cuCtxSetCurrent(CUcontext ctx) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUcontext); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuCtxSetCurrent"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(ctx); |
| } |
| |
| CUresult CUDAAPI cuCtxGetCurrent(CUcontext *pctx) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUcontext *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuCtxGetCurrent"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pctx); |
| } |
| |
| CUresult CUDAAPI cuCtxGetDevice(CUdevice *device) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdevice *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuCtxGetDevice"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(device); |
| } |
| |
| CUresult CUDAAPI cuCtxGetFlags(unsigned int *flags) { |
| using FuncPtr = CUresult(CUDAAPI *)(unsigned int *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuCtxGetFlags"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(flags); |
| } |
| |
| CUresult CUDAAPI cuCtxSynchronize(void) { |
| using FuncPtr = CUresult(CUDAAPI *)(); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuCtxSynchronize"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(); |
| } |
| |
| CUresult CUDAAPI cuCtxSetLimit(CUlimit limit, size_t value) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUlimit, size_t); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuCtxSetLimit"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(limit, value); |
| } |
| |
| CUresult CUDAAPI cuCtxGetLimit(size_t *pvalue, CUlimit limit) { |
| using FuncPtr = CUresult(CUDAAPI *)(size_t *, CUlimit); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuCtxGetLimit"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pvalue, limit); |
| } |
| |
| CUresult CUDAAPI cuCtxGetCacheConfig(CUfunc_cache *pconfig) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUfunc_cache *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuCtxGetCacheConfig"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pconfig); |
| } |
| |
| CUresult CUDAAPI cuCtxSetCacheConfig(CUfunc_cache config) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUfunc_cache); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuCtxSetCacheConfig"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(config); |
| } |
| |
| CUresult CUDAAPI cuCtxGetSharedMemConfig(CUsharedconfig *pConfig) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUsharedconfig *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuCtxGetSharedMemConfig"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pConfig); |
| } |
| |
| CUresult CUDAAPI cuCtxSetSharedMemConfig(CUsharedconfig config) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUsharedconfig); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuCtxSetSharedMemConfig"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(config); |
| } |
| |
| CUresult CUDAAPI cuCtxGetApiVersion(CUcontext ctx, unsigned int *version) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUcontext, unsigned int *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuCtxGetApiVersion"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(ctx, version); |
| } |
| |
| CUresult CUDAAPI cuCtxGetStreamPriorityRange(int *leastPriority, |
| int *greatestPriority) { |
| using FuncPtr = CUresult(CUDAAPI *)(int *, int *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuCtxGetStreamPriorityRange"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(leastPriority, greatestPriority); |
| } |
| |
| __CUDA_DEPRECATED CUresult CUDAAPI cuCtxAttach(CUcontext *pctx, |
| unsigned int flags) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUcontext *, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuCtxAttach"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pctx, flags); |
| } |
| |
| __CUDA_DEPRECATED CUresult CUDAAPI cuCtxDetach(CUcontext ctx) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUcontext); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuCtxDetach"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(ctx); |
| } |
| |
| CUresult CUDAAPI cuModuleLoad(CUmodule *module, const char *fname) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUmodule *, const char *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuModuleLoad"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(module, fname); |
| } |
| |
| CUresult CUDAAPI cuModuleLoadData(CUmodule *module, const void *image) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUmodule *, const void *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuModuleLoadData"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(module, image); |
| } |
| |
| CUresult CUDAAPI cuModuleLoadDataEx(CUmodule *module, const void *image, |
| unsigned int numOptions, |
| CUjit_option *options, |
| void **optionValues) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUmodule *, const void *, unsigned int, |
| CUjit_option *, void **); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuModuleLoadDataEx"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(module, image, numOptions, options, optionValues); |
| } |
| |
| CUresult CUDAAPI cuModuleLoadFatBinary(CUmodule *module, const void *fatCubin) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUmodule *, const void *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuModuleLoadFatBinary"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(module, fatCubin); |
| } |
| |
| CUresult CUDAAPI cuModuleUnload(CUmodule hmod) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUmodule); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuModuleUnload"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hmod); |
| } |
| |
| CUresult CUDAAPI cuModuleGetFunction(CUfunction *hfunc, CUmodule hmod, |
| const char *name) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUfunction *, CUmodule, const char *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuModuleGetFunction"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hfunc, hmod, name); |
| } |
| |
| CUresult CUDAAPI cuModuleGetGlobal(CUdeviceptr *dptr, size_t *bytes, |
| CUmodule hmod, const char *name) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(CUdeviceptr *, size_t *, CUmodule, const char *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuModuleGetGlobal_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dptr, bytes, hmod, name); |
| } |
| |
| CUresult CUDAAPI cuModuleGetTexRef(CUtexref *pTexRef, CUmodule hmod, |
| const char *name) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUtexref *, CUmodule, const char *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuModuleGetTexRef"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pTexRef, hmod, name); |
| } |
| |
| CUresult CUDAAPI cuModuleGetSurfRef(CUsurfref *pSurfRef, CUmodule hmod, |
| const char *name) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUsurfref *, CUmodule, const char *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuModuleGetSurfRef"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pSurfRef, hmod, name); |
| } |
| |
| CUresult CUDAAPI cuLinkCreate(unsigned int numOptions, CUjit_option *options, |
| void **optionValues, CUlinkState *stateOut) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(unsigned int, CUjit_option *, void **, CUlinkState *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuLinkCreate_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(numOptions, options, optionValues, stateOut); |
| } |
| |
| CUresult CUDAAPI cuLinkAddData(CUlinkState state, CUjitInputType type, |
| void *data, size_t size, const char *name, |
| unsigned int numOptions, CUjit_option *options, |
| void **optionValues) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(CUlinkState, CUjitInputType, void *, size_t, |
| const char *, unsigned int, CUjit_option *, void **); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuLinkAddData_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(state, type, data, size, name, numOptions, options, |
| optionValues); |
| } |
| |
| CUresult CUDAAPI cuLinkAddFile(CUlinkState state, CUjitInputType type, |
| const char *path, unsigned int numOptions, |
| CUjit_option *options, void **optionValues) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUlinkState, CUjitInputType, const char *, |
| unsigned int, CUjit_option *, void **); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuLinkAddFile_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(state, type, path, numOptions, options, optionValues); |
| } |
| |
| CUresult CUDAAPI cuLinkComplete(CUlinkState state, void **cubinOut, |
| size_t *sizeOut) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUlinkState, void **, size_t *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuLinkComplete"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(state, cubinOut, sizeOut); |
| } |
| |
| CUresult CUDAAPI cuLinkDestroy(CUlinkState state) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUlinkState); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuLinkDestroy"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(state); |
| } |
| |
| CUresult CUDAAPI cuMemGetInfo(size_t *free, size_t *total) { |
| using FuncPtr = CUresult(CUDAAPI *)(size_t *, size_t *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemGetInfo_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(free, total); |
| } |
| |
| CUresult CUDAAPI cuMemAlloc(CUdeviceptr *dptr, size_t bytesize) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdeviceptr *, size_t); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemAlloc_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dptr, bytesize); |
| } |
| |
| CUresult CUDAAPI cuMemAllocPitch(CUdeviceptr *dptr, size_t *pPitch, |
| size_t WidthInBytes, size_t Height, |
| unsigned int ElementSizeBytes) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdeviceptr *, size_t *, size_t, size_t, |
| unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemAllocPitch_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dptr, pPitch, WidthInBytes, Height, ElementSizeBytes); |
| } |
| |
| CUresult CUDAAPI cuMemFree(CUdeviceptr dptr) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdeviceptr); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemFree_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dptr); |
| } |
| |
| CUresult CUDAAPI cuMemGetAddressRange(CUdeviceptr *pbase, size_t *psize, |
| CUdeviceptr dptr) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdeviceptr *, size_t *, CUdeviceptr); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemGetAddressRange_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pbase, psize, dptr); |
| } |
| |
| CUresult CUDAAPI cuMemAllocHost(void **pp, size_t bytesize) { |
| using FuncPtr = CUresult(CUDAAPI *)(void **, size_t); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemAllocHost_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pp, bytesize); |
| } |
| |
| CUresult CUDAAPI cuMemFreeHost(void *p) { |
| using FuncPtr = CUresult(CUDAAPI *)(void *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemFreeHost"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(p); |
| } |
| |
| CUresult CUDAAPI cuMemHostAlloc(void **pp, size_t bytesize, |
| unsigned int Flags) { |
| using FuncPtr = CUresult(CUDAAPI *)(void **, size_t, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemHostAlloc"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pp, bytesize, Flags); |
| } |
| |
| CUresult CUDAAPI cuMemHostGetDevicePointer(CUdeviceptr *pdptr, void *p, |
| unsigned int Flags) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdeviceptr *, void *, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemHostGetDevicePointer_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pdptr, p, Flags); |
| } |
| |
| CUresult CUDAAPI cuMemHostGetFlags(unsigned int *pFlags, void *p) { |
| using FuncPtr = CUresult(CUDAAPI *)(unsigned int *, void *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemHostGetFlags"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pFlags, p); |
| } |
| |
| CUresult CUDAAPI cuMemAllocManaged(CUdeviceptr *dptr, size_t bytesize, |
| unsigned int flags) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdeviceptr *, size_t, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemAllocManaged"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dptr, bytesize, flags); |
| } |
| |
| CUresult CUDAAPI cuDeviceGetByPCIBusId(CUdevice *dev, const char *pciBusId) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdevice *, const char *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuDeviceGetByPCIBusId"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dev, pciBusId); |
| } |
| |
| CUresult CUDAAPI cuDeviceGetPCIBusId(char *pciBusId, int len, CUdevice dev) { |
| using FuncPtr = CUresult(CUDAAPI *)(char *, int, CUdevice); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuDeviceGetPCIBusId"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pciBusId, len, dev); |
| } |
| |
| CUresult CUDAAPI cuIpcGetEventHandle(CUipcEventHandle *pHandle, CUevent event) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUipcEventHandle *, CUevent); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuIpcGetEventHandle"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pHandle, event); |
| } |
| |
| CUresult CUDAAPI cuIpcOpenEventHandle(CUevent *phEvent, |
| CUipcEventHandle handle) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUevent *, CUipcEventHandle); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuIpcOpenEventHandle"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(phEvent, handle); |
| } |
| |
| CUresult CUDAAPI cuIpcGetMemHandle(CUipcMemHandle *pHandle, CUdeviceptr dptr) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUipcMemHandle *, CUdeviceptr); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuIpcGetMemHandle"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pHandle, dptr); |
| } |
| |
| CUresult CUDAAPI cuIpcOpenMemHandle(CUdeviceptr *pdptr, CUipcMemHandle handle, |
| unsigned int Flags) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(CUdeviceptr *, CUipcMemHandle, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuIpcOpenMemHandle"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pdptr, handle, Flags); |
| } |
| |
| CUresult CUDAAPI cuIpcCloseMemHandle(CUdeviceptr dptr) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdeviceptr); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuIpcCloseMemHandle"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dptr); |
| } |
| |
| CUresult CUDAAPI cuMemHostRegister(void *p, size_t bytesize, |
| unsigned int Flags) { |
| using FuncPtr = CUresult(CUDAAPI *)(void *, size_t, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemHostRegister_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(p, bytesize, Flags); |
| } |
| |
| CUresult CUDAAPI cuMemHostUnregister(void *p) { |
| using FuncPtr = CUresult(CUDAAPI *)(void *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemHostUnregister"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(p); |
| } |
| |
| CUresult CUDAAPI cuMemcpy(CUdeviceptr dst, CUdeviceptr src, size_t ByteCount) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdeviceptr, CUdeviceptr, size_t); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemcpy"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dst, src, ByteCount); |
| } |
| |
| CUresult CUDAAPI cuMemcpyPeer(CUdeviceptr dstDevice, CUcontext dstContext, |
| CUdeviceptr srcDevice, CUcontext srcContext, |
| size_t ByteCount) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdeviceptr, CUcontext, CUdeviceptr, |
| CUcontext, size_t); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemcpyPeer"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstDevice, dstContext, srcDevice, srcContext, ByteCount); |
| } |
| |
| CUresult CUDAAPI cuMemcpyHtoD(CUdeviceptr dstDevice, const void *srcHost, |
| size_t ByteCount) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdeviceptr, const void *, size_t); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemcpyHtoD_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstDevice, srcHost, ByteCount); |
| } |
| |
| CUresult CUDAAPI cuMemcpyDtoH(void *dstHost, CUdeviceptr srcDevice, |
| size_t ByteCount) { |
| using FuncPtr = CUresult(CUDAAPI *)(void *, CUdeviceptr, size_t); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemcpyDtoH_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstHost, srcDevice, ByteCount); |
| } |
| |
| CUresult CUDAAPI cuMemcpyDtoD(CUdeviceptr dstDevice, CUdeviceptr srcDevice, |
| size_t ByteCount) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdeviceptr, CUdeviceptr, size_t); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemcpyDtoD_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstDevice, srcDevice, ByteCount); |
| } |
| |
| CUresult CUDAAPI cuMemcpyDtoA(CUarray dstArray, size_t dstOffset, |
| CUdeviceptr srcDevice, size_t ByteCount) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUarray, size_t, CUdeviceptr, size_t); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemcpyDtoA_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstArray, dstOffset, srcDevice, ByteCount); |
| } |
| |
| CUresult CUDAAPI cuMemcpyAtoD(CUdeviceptr dstDevice, CUarray srcArray, |
| size_t srcOffset, size_t ByteCount) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdeviceptr, CUarray, size_t, size_t); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemcpyAtoD_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstDevice, srcArray, srcOffset, ByteCount); |
| } |
| |
| CUresult CUDAAPI cuMemcpyHtoA(CUarray dstArray, size_t dstOffset, |
| const void *srcHost, size_t ByteCount) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUarray, size_t, const void *, size_t); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemcpyHtoA_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstArray, dstOffset, srcHost, ByteCount); |
| } |
| |
| CUresult CUDAAPI cuMemcpyAtoH(void *dstHost, CUarray srcArray, size_t srcOffset, |
| size_t ByteCount) { |
| using FuncPtr = CUresult(CUDAAPI *)(void *, CUarray, size_t, size_t); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemcpyAtoH_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstHost, srcArray, srcOffset, ByteCount); |
| } |
| |
| CUresult CUDAAPI cuMemcpyAtoA(CUarray dstArray, size_t dstOffset, |
| CUarray srcArray, size_t srcOffset, |
| size_t ByteCount) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUarray, size_t, CUarray, size_t, size_t); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemcpyAtoA_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstArray, dstOffset, srcArray, srcOffset, ByteCount); |
| } |
| |
| CUresult CUDAAPI cuMemcpy2D(const CUDA_MEMCPY2D *pCopy) { |
| using FuncPtr = CUresult(CUDAAPI *)(const CUDA_MEMCPY2D *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemcpy2D_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pCopy); |
| } |
| |
| CUresult CUDAAPI cuMemcpy2DUnaligned(const CUDA_MEMCPY2D *pCopy) { |
| using FuncPtr = CUresult(CUDAAPI *)(const CUDA_MEMCPY2D *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemcpy2DUnaligned_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pCopy); |
| } |
| |
| CUresult CUDAAPI cuMemcpy3D(const CUDA_MEMCPY3D *pCopy) { |
| using FuncPtr = CUresult(CUDAAPI *)(const CUDA_MEMCPY3D *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemcpy3D_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pCopy); |
| } |
| |
| CUresult CUDAAPI cuMemcpy3DPeer(const CUDA_MEMCPY3D_PEER *pCopy) { |
| using FuncPtr = CUresult(CUDAAPI *)(const CUDA_MEMCPY3D_PEER *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemcpy3DPeer"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pCopy); |
| } |
| |
| CUresult CUDAAPI cuMemcpyAsync(CUdeviceptr dst, CUdeviceptr src, |
| size_t ByteCount, CUstream hStream) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(CUdeviceptr, CUdeviceptr, size_t, CUstream); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemcpyAsync"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dst, src, ByteCount, hStream); |
| } |
| |
| CUresult CUDAAPI cuMemcpyPeerAsync(CUdeviceptr dstDevice, CUcontext dstContext, |
| CUdeviceptr srcDevice, CUcontext srcContext, |
| size_t ByteCount, CUstream hStream) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdeviceptr, CUcontext, CUdeviceptr, |
| CUcontext, size_t, CUstream); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemcpyPeerAsync"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstDevice, dstContext, srcDevice, srcContext, ByteCount, |
| hStream); |
| } |
| |
| CUresult CUDAAPI cuMemcpyHtoDAsync(CUdeviceptr dstDevice, const void *srcHost, |
| size_t ByteCount, CUstream hStream) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(CUdeviceptr, const void *, size_t, CUstream); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemcpyHtoDAsync_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstDevice, srcHost, ByteCount, hStream); |
| } |
| |
| CUresult CUDAAPI cuMemcpyDtoHAsync(void *dstHost, CUdeviceptr srcDevice, |
| size_t ByteCount, CUstream hStream) { |
| using FuncPtr = CUresult(CUDAAPI *)(void *, CUdeviceptr, size_t, CUstream); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemcpyDtoHAsync_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstHost, srcDevice, ByteCount, hStream); |
| } |
| |
| CUresult CUDAAPI cuMemcpyDtoDAsync(CUdeviceptr dstDevice, CUdeviceptr srcDevice, |
| size_t ByteCount, CUstream hStream) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(CUdeviceptr, CUdeviceptr, size_t, CUstream); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemcpyDtoDAsync_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstDevice, srcDevice, ByteCount, hStream); |
| } |
| |
| CUresult CUDAAPI cuMemcpyHtoAAsync(CUarray dstArray, size_t dstOffset, |
| const void *srcHost, size_t ByteCount, |
| CUstream hStream) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(CUarray, size_t, const void *, size_t, CUstream); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemcpyHtoAAsync_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstArray, dstOffset, srcHost, ByteCount, hStream); |
| } |
| |
| CUresult CUDAAPI cuMemcpyAtoHAsync(void *dstHost, CUarray srcArray, |
| size_t srcOffset, size_t ByteCount, |
| CUstream hStream) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(void *, CUarray, size_t, size_t, CUstream); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemcpyAtoHAsync_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstHost, srcArray, srcOffset, ByteCount, hStream); |
| } |
| |
| CUresult CUDAAPI cuMemcpy2DAsync(const CUDA_MEMCPY2D *pCopy, CUstream hStream) { |
| using FuncPtr = CUresult(CUDAAPI *)(const CUDA_MEMCPY2D *, CUstream); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemcpy2DAsync_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pCopy, hStream); |
| } |
| |
| CUresult CUDAAPI cuMemcpy3DAsync(const CUDA_MEMCPY3D *pCopy, CUstream hStream) { |
| using FuncPtr = CUresult(CUDAAPI *)(const CUDA_MEMCPY3D *, CUstream); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemcpy3DAsync_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pCopy, hStream); |
| } |
| |
| CUresult CUDAAPI cuMemcpy3DPeerAsync(const CUDA_MEMCPY3D_PEER *pCopy, |
| CUstream hStream) { |
| using FuncPtr = CUresult(CUDAAPI *)(const CUDA_MEMCPY3D_PEER *, CUstream); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemcpy3DPeerAsync"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pCopy, hStream); |
| } |
| |
| CUresult CUDAAPI cuMemsetD8(CUdeviceptr dstDevice, unsigned char uc, size_t N) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdeviceptr, unsigned char, size_t); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemsetD8_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstDevice, uc, N); |
| } |
| |
| CUresult CUDAAPI cuMemsetD16(CUdeviceptr dstDevice, unsigned short us, |
| size_t N) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdeviceptr, unsigned short, size_t); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemsetD16_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstDevice, us, N); |
| } |
| |
| CUresult CUDAAPI cuMemsetD32(CUdeviceptr dstDevice, unsigned int ui, size_t N) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdeviceptr, unsigned int, size_t); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemsetD32_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstDevice, ui, N); |
| } |
| |
| CUresult CUDAAPI cuMemsetD2D8(CUdeviceptr dstDevice, size_t dstPitch, |
| unsigned char uc, size_t Width, size_t Height) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(CUdeviceptr, size_t, unsigned char, size_t, size_t); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemsetD2D8_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstDevice, dstPitch, uc, Width, Height); |
| } |
| |
| CUresult CUDAAPI cuMemsetD2D16(CUdeviceptr dstDevice, size_t dstPitch, |
| unsigned short us, size_t Width, size_t Height) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(CUdeviceptr, size_t, unsigned short, size_t, size_t); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemsetD2D16_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstDevice, dstPitch, us, Width, Height); |
| } |
| |
| CUresult CUDAAPI cuMemsetD2D32(CUdeviceptr dstDevice, size_t dstPitch, |
| unsigned int ui, size_t Width, size_t Height) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(CUdeviceptr, size_t, unsigned int, size_t, size_t); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemsetD2D32_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstDevice, dstPitch, ui, Width, Height); |
| } |
| |
| CUresult CUDAAPI cuMemsetD8Async(CUdeviceptr dstDevice, unsigned char uc, |
| size_t N, CUstream hStream) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(CUdeviceptr, unsigned char, size_t, CUstream); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemsetD8Async"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstDevice, uc, N, hStream); |
| } |
| |
| CUresult CUDAAPI cuMemsetD16Async(CUdeviceptr dstDevice, unsigned short us, |
| size_t N, CUstream hStream) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(CUdeviceptr, unsigned short, size_t, CUstream); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemsetD16Async"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstDevice, us, N, hStream); |
| } |
| |
| CUresult CUDAAPI cuMemsetD32Async(CUdeviceptr dstDevice, unsigned int ui, |
| size_t N, CUstream hStream) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(CUdeviceptr, unsigned int, size_t, CUstream); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemsetD32Async"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstDevice, ui, N, hStream); |
| } |
| |
| CUresult CUDAAPI cuMemsetD2D8Async(CUdeviceptr dstDevice, size_t dstPitch, |
| unsigned char uc, size_t Width, |
| size_t Height, CUstream hStream) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdeviceptr, size_t, unsigned char, |
| size_t, size_t, CUstream); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemsetD2D8Async"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstDevice, dstPitch, uc, Width, Height, hStream); |
| } |
| |
| CUresult CUDAAPI cuMemsetD2D16Async(CUdeviceptr dstDevice, size_t dstPitch, |
| unsigned short us, size_t Width, |
| size_t Height, CUstream hStream) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdeviceptr, size_t, unsigned short, |
| size_t, size_t, CUstream); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemsetD2D16Async"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstDevice, dstPitch, us, Width, Height, hStream); |
| } |
| |
| CUresult CUDAAPI cuMemsetD2D32Async(CUdeviceptr dstDevice, size_t dstPitch, |
| unsigned int ui, size_t Width, |
| size_t Height, CUstream hStream) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdeviceptr, size_t, unsigned int, size_t, |
| size_t, CUstream); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemsetD2D32Async"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dstDevice, dstPitch, ui, Width, Height, hStream); |
| } |
| |
| CUresult CUDAAPI cuArrayCreate(CUarray *pHandle, |
| const CUDA_ARRAY_DESCRIPTOR *pAllocateArray) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUarray *, const CUDA_ARRAY_DESCRIPTOR *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuArrayCreate_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pHandle, pAllocateArray); |
| } |
| |
| CUresult CUDAAPI cuArrayGetDescriptor(CUDA_ARRAY_DESCRIPTOR *pArrayDescriptor, |
| CUarray hArray) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUDA_ARRAY_DESCRIPTOR *, CUarray); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuArrayGetDescriptor_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pArrayDescriptor, hArray); |
| } |
| |
| CUresult CUDAAPI cuArrayDestroy(CUarray hArray) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUarray); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuArrayDestroy"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hArray); |
| } |
| |
| CUresult CUDAAPI cuArray3DCreate( |
| CUarray *pHandle, const CUDA_ARRAY3D_DESCRIPTOR *pAllocateArray) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(CUarray *, const CUDA_ARRAY3D_DESCRIPTOR *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuArray3DCreate_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pHandle, pAllocateArray); |
| } |
| |
| CUresult CUDAAPI cuArray3DGetDescriptor( |
| CUDA_ARRAY3D_DESCRIPTOR *pArrayDescriptor, CUarray hArray) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUDA_ARRAY3D_DESCRIPTOR *, CUarray); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuArray3DGetDescriptor_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pArrayDescriptor, hArray); |
| } |
| |
| CUresult CUDAAPI |
| cuMipmappedArrayCreate(CUmipmappedArray *pHandle, |
| const CUDA_ARRAY3D_DESCRIPTOR *pMipmappedArrayDesc, |
| unsigned int numMipmapLevels) { |
| using FuncPtr = CUresult(CUDAAPI *)( |
| CUmipmappedArray *, const CUDA_ARRAY3D_DESCRIPTOR *, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMipmappedArrayCreate"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pHandle, pMipmappedArrayDesc, numMipmapLevels); |
| } |
| |
| CUresult CUDAAPI cuMipmappedArrayGetLevel(CUarray *pLevelArray, |
| CUmipmappedArray hMipmappedArray, |
| unsigned int level) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(CUarray *, CUmipmappedArray, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMipmappedArrayGetLevel"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pLevelArray, hMipmappedArray, level); |
| } |
| |
| CUresult CUDAAPI cuMipmappedArrayDestroy(CUmipmappedArray hMipmappedArray) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUmipmappedArray); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMipmappedArrayDestroy"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hMipmappedArray); |
| } |
| |
| CUresult CUDAAPI cuPointerGetAttribute(void *data, |
| CUpointer_attribute attribute, |
| CUdeviceptr ptr) { |
| using FuncPtr = CUresult(CUDAAPI *)(void *, CUpointer_attribute, CUdeviceptr); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuPointerGetAttribute"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(data, attribute, ptr); |
| } |
| |
| CUresult CUDAAPI cuMemPrefetchAsync(CUdeviceptr devPtr, size_t count, |
| CUdevice dstDevice, CUstream hStream) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdeviceptr, size_t, CUdevice, CUstream); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemPrefetchAsync"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(devPtr, count, dstDevice, hStream); |
| } |
| |
| CUresult CUDAAPI cuMemAdvise(CUdeviceptr devPtr, size_t count, |
| CUmem_advise advice, CUdevice device) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(CUdeviceptr, size_t, CUmem_advise, CUdevice); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemAdvise"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(devPtr, count, advice, device); |
| } |
| |
| CUresult CUDAAPI cuMemRangeGetAttribute(void *data, size_t dataSize, |
| CUmem_range_attribute attribute, |
| CUdeviceptr devPtr, size_t count) { |
| using FuncPtr = CUresult(CUDAAPI *)(void *, size_t, CUmem_range_attribute, |
| CUdeviceptr, size_t); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemRangeGetAttribute"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(data, dataSize, attribute, devPtr, count); |
| } |
| |
| CUresult CUDAAPI cuMemRangeGetAttributes(void **data, size_t *dataSizes, |
| CUmem_range_attribute *attributes, |
| size_t numAttributes, |
| CUdeviceptr devPtr, size_t count) { |
| using FuncPtr = CUresult(CUDAAPI *)( |
| void **, size_t *, CUmem_range_attribute *, size_t, CUdeviceptr, size_t); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuMemRangeGetAttributes"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(data, dataSizes, attributes, numAttributes, devPtr, count); |
| } |
| |
| CUresult CUDAAPI cuPointerSetAttribute(const void *value, |
| CUpointer_attribute attribute, |
| CUdeviceptr ptr) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(const void *, CUpointer_attribute, CUdeviceptr); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuPointerSetAttribute"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(value, attribute, ptr); |
| } |
| |
| CUresult CUDAAPI cuPointerGetAttributes(unsigned int numAttributes, |
| CUpointer_attribute *attributes, |
| void **data, CUdeviceptr ptr) { |
| using FuncPtr = CUresult(CUDAAPI *)(unsigned int, CUpointer_attribute *, |
| void **, CUdeviceptr); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuPointerGetAttributes"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(numAttributes, attributes, data, ptr); |
| } |
| |
| CUresult CUDAAPI cuStreamCreate(CUstream *phStream, unsigned int Flags) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUstream *, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuStreamCreate"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(phStream, Flags); |
| } |
| |
| CUresult CUDAAPI cuStreamCreateWithPriority(CUstream *phStream, |
| unsigned int flags, int priority) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUstream *, unsigned int, int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuStreamCreateWithPriority"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(phStream, flags, priority); |
| } |
| |
| CUresult CUDAAPI cuStreamGetPriority(CUstream hStream, int *priority) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUstream, int *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuStreamGetPriority"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hStream, priority); |
| } |
| |
| CUresult CUDAAPI cuStreamGetFlags(CUstream hStream, unsigned int *flags) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUstream, unsigned int *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuStreamGetFlags"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hStream, flags); |
| } |
| |
| CUresult CUDAAPI cuStreamGetCtx(CUstream hStream, CUcontext *pctx) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUstream, CUcontext *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuStreamGetCtx"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hStream, pctx); |
| } |
| |
| CUresult CUDAAPI cuStreamWaitEvent(CUstream hStream, CUevent hEvent, |
| unsigned int Flags) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUstream, CUevent, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuStreamWaitEvent"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hStream, hEvent, Flags); |
| } |
| |
| CUresult CUDAAPI cuStreamAddCallback(CUstream hStream, |
| CUstreamCallback callback, void *userData, |
| unsigned int flags) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(CUstream, CUstreamCallback, void *, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuStreamAddCallback"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hStream, callback, userData, flags); |
| } |
| |
| CUresult CUDAAPI cuStreamAttachMemAsync(CUstream hStream, CUdeviceptr dptr, |
| size_t length, unsigned int flags) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(CUstream, CUdeviceptr, size_t, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuStreamAttachMemAsync"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hStream, dptr, length, flags); |
| } |
| |
| CUresult CUDAAPI cuStreamQuery(CUstream hStream) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUstream); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuStreamQuery"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hStream); |
| } |
| |
| CUresult CUDAAPI cuStreamSynchronize(CUstream hStream) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUstream); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuStreamSynchronize"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hStream); |
| } |
| |
| CUresult CUDAAPI cuStreamDestroy(CUstream hStream) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUstream); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuStreamDestroy_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hStream); |
| } |
| |
| CUresult CUDAAPI cuEventCreate(CUevent *phEvent, unsigned int Flags) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUevent *, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuEventCreate"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(phEvent, Flags); |
| } |
| |
| CUresult CUDAAPI cuEventRecord(CUevent hEvent, CUstream hStream) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUevent, CUstream); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuEventRecord"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hEvent, hStream); |
| } |
| |
| CUresult CUDAAPI cuEventQuery(CUevent hEvent) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUevent); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuEventQuery"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hEvent); |
| } |
| |
| CUresult CUDAAPI cuEventSynchronize(CUevent hEvent) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUevent); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuEventSynchronize"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hEvent); |
| } |
| |
| CUresult CUDAAPI cuEventDestroy(CUevent hEvent) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUevent); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuEventDestroy_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hEvent); |
| } |
| |
| CUresult CUDAAPI cuEventElapsedTime(float *pMilliseconds, CUevent hStart, |
| CUevent hEnd) { |
| using FuncPtr = CUresult(CUDAAPI *)(float *, CUevent, CUevent); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuEventElapsedTime"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pMilliseconds, hStart, hEnd); |
| } |
| |
| CUresult CUDAAPI |
| cuImportExternalMemory(CUexternalMemory *extMem_out, |
| const CUDA_EXTERNAL_MEMORY_HANDLE_DESC *memHandleDesc) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUexternalMemory *, |
| const CUDA_EXTERNAL_MEMORY_HANDLE_DESC *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuImportExternalMemory"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(extMem_out, memHandleDesc); |
| } |
| |
| CUresult CUDAAPI cuExternalMemoryGetMappedBuffer( |
| CUdeviceptr *devPtr, CUexternalMemory extMem, |
| const CUDA_EXTERNAL_MEMORY_BUFFER_DESC *bufferDesc) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdeviceptr *, CUexternalMemory, |
| const CUDA_EXTERNAL_MEMORY_BUFFER_DESC *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuExternalMemoryGetMappedBuffer"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(devPtr, extMem, bufferDesc); |
| } |
| |
| CUresult CUDAAPI cuExternalMemoryGetMappedMipmappedArray( |
| CUmipmappedArray *mipmap, CUexternalMemory extMem, |
| const CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC *mipmapDesc) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(CUmipmappedArray *, CUexternalMemory, |
| const CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC *); |
| static auto func_ptr = |
| LoadSymbol<FuncPtr>("cuExternalMemoryGetMappedMipmappedArray"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(mipmap, extMem, mipmapDesc); |
| } |
| |
| CUresult CUDAAPI cuDestroyExternalMemory(CUexternalMemory extMem) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUexternalMemory); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuDestroyExternalMemory"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(extMem); |
| } |
| |
| CUresult CUDAAPI cuImportExternalSemaphore( |
| CUexternalSemaphore *extSem_out, |
| const CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC *semHandleDesc) { |
| using FuncPtr = CUresult(CUDAAPI *)( |
| CUexternalSemaphore *, const CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuImportExternalSemaphore"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(extSem_out, semHandleDesc); |
| } |
| |
| CUresult CUDAAPI cuSignalExternalSemaphoresAsync( |
| const CUexternalSemaphore *extSemArray, |
| const CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *paramsArray, |
| unsigned int numExtSems, CUstream stream) { |
| using FuncPtr = CUresult(CUDAAPI *)( |
| const CUexternalSemaphore *, |
| const CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *, unsigned int, CUstream); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuSignalExternalSemaphoresAsync"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(extSemArray, paramsArray, numExtSems, stream); |
| } |
| |
| CUresult CUDAAPI cuWaitExternalSemaphoresAsync( |
| const CUexternalSemaphore *extSemArray, |
| const CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *paramsArray, |
| unsigned int numExtSems, CUstream stream) { |
| using FuncPtr = CUresult(CUDAAPI *)( |
| const CUexternalSemaphore *, const CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *, |
| unsigned int, CUstream); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuWaitExternalSemaphoresAsync"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(extSemArray, paramsArray, numExtSems, stream); |
| } |
| |
| CUresult CUDAAPI cuDestroyExternalSemaphore(CUexternalSemaphore extSem) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUexternalSemaphore); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuDestroyExternalSemaphore"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(extSem); |
| } |
| |
| CUresult CUDAAPI cuStreamWaitValue32(CUstream stream, CUdeviceptr addr, |
| cuuint32_t value, unsigned int flags) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(CUstream, CUdeviceptr, cuuint32_t, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuStreamWaitValue32"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(stream, addr, value, flags); |
| } |
| |
| CUresult CUDAAPI cuStreamWaitValue64(CUstream stream, CUdeviceptr addr, |
| cuuint64_t value, unsigned int flags) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(CUstream, CUdeviceptr, cuuint64_t, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuStreamWaitValue64"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(stream, addr, value, flags); |
| } |
| |
| CUresult CUDAAPI cuStreamWriteValue32(CUstream stream, CUdeviceptr addr, |
| cuuint32_t value, unsigned int flags) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(CUstream, CUdeviceptr, cuuint32_t, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuStreamWriteValue32"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(stream, addr, value, flags); |
| } |
| |
| CUresult CUDAAPI cuStreamWriteValue64(CUstream stream, CUdeviceptr addr, |
| cuuint64_t value, unsigned int flags) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(CUstream, CUdeviceptr, cuuint64_t, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuStreamWriteValue64"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(stream, addr, value, flags); |
| } |
| |
| CUresult CUDAAPI cuStreamBatchMemOp(CUstream stream, unsigned int count, |
| CUstreamBatchMemOpParams *paramArray, |
| unsigned int flags) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUstream, unsigned int, |
| CUstreamBatchMemOpParams *, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuStreamBatchMemOp"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(stream, count, paramArray, flags); |
| } |
| |
| CUresult CUDAAPI cuFuncGetAttribute(int *pi, CUfunction_attribute attrib, |
| CUfunction hfunc) { |
| using FuncPtr = CUresult(CUDAAPI *)(int *, CUfunction_attribute, CUfunction); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuFuncGetAttribute"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pi, attrib, hfunc); |
| } |
| |
| CUresult CUDAAPI cuFuncSetAttribute(CUfunction hfunc, |
| CUfunction_attribute attrib, int value) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUfunction, CUfunction_attribute, int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuFuncSetAttribute"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hfunc, attrib, value); |
| } |
| |
| CUresult CUDAAPI cuFuncSetCacheConfig(CUfunction hfunc, CUfunc_cache config) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUfunction, CUfunc_cache); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuFuncSetCacheConfig"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hfunc, config); |
| } |
| |
| CUresult CUDAAPI cuFuncSetSharedMemConfig(CUfunction hfunc, |
| CUsharedconfig config) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUfunction, CUsharedconfig); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuFuncSetSharedMemConfig"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hfunc, config); |
| } |
| |
| CUresult CUDAAPI cuLaunchKernel(CUfunction f, unsigned int gridDimX, |
| unsigned int gridDimY, unsigned int gridDimZ, |
| unsigned int blockDimX, unsigned int blockDimY, |
| unsigned int blockDimZ, |
| unsigned int sharedMemBytes, CUstream hStream, |
| void **kernelParams, void **extra) { |
| using FuncPtr = CUresult(CUDAAPI *)( |
| CUfunction, unsigned int, unsigned int, unsigned int, unsigned int, |
| unsigned int, unsigned int, unsigned int, CUstream, void **, void **); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuLaunchKernel"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(f, gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY, |
| blockDimZ, sharedMemBytes, hStream, kernelParams, extra); |
| } |
| |
| CUresult CUDAAPI cuLaunchCooperativeKernel( |
| CUfunction f, unsigned int gridDimX, unsigned int gridDimY, |
| unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, |
| unsigned int blockDimZ, unsigned int sharedMemBytes, CUstream hStream, |
| void **kernelParams) { |
| using FuncPtr = CUresult(CUDAAPI *)( |
| CUfunction, unsigned int, unsigned int, unsigned int, unsigned int, |
| unsigned int, unsigned int, unsigned int, CUstream, void **); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuLaunchCooperativeKernel"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(f, gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY, |
| blockDimZ, sharedMemBytes, hStream, kernelParams); |
| } |
| |
| CUresult CUDAAPI cuLaunchCooperativeKernelMultiDevice( |
| CUDA_LAUNCH_PARAMS *launchParamsList, unsigned int numDevices, |
| unsigned int flags) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(CUDA_LAUNCH_PARAMS *, unsigned int, unsigned int); |
| static auto func_ptr = |
| LoadSymbol<FuncPtr>("cuLaunchCooperativeKernelMultiDevice"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(launchParamsList, numDevices, flags); |
| } |
| |
| CUresult CUDAAPI cuLaunchHostFunc(CUstream hStream, CUhostFn fn, |
| void *userData) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUstream, CUhostFn, void *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuLaunchHostFunc"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hStream, fn, userData); |
| } |
| |
| __CUDA_DEPRECATED CUresult CUDAAPI cuFuncSetBlockShape(CUfunction hfunc, int x, |
| int y, int z) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUfunction, int, int, int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuFuncSetBlockShape"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hfunc, x, y, z); |
| } |
| |
| __CUDA_DEPRECATED CUresult CUDAAPI cuFuncSetSharedSize(CUfunction hfunc, |
| unsigned int bytes) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUfunction, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuFuncSetSharedSize"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hfunc, bytes); |
| } |
| |
| __CUDA_DEPRECATED CUresult CUDAAPI cuParamSetSize(CUfunction hfunc, |
| unsigned int numbytes) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUfunction, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuParamSetSize"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hfunc, numbytes); |
| } |
| |
| __CUDA_DEPRECATED CUresult CUDAAPI cuParamSeti(CUfunction hfunc, int offset, |
| unsigned int value) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUfunction, int, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuParamSeti"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hfunc, offset, value); |
| } |
| |
| __CUDA_DEPRECATED CUresult CUDAAPI cuParamSetf(CUfunction hfunc, int offset, |
| float value) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUfunction, int, float); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuParamSetf"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hfunc, offset, value); |
| } |
| |
| __CUDA_DEPRECATED CUresult CUDAAPI cuParamSetv(CUfunction hfunc, int offset, |
| void *ptr, |
| unsigned int numbytes) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUfunction, int, void *, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuParamSetv"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hfunc, offset, ptr, numbytes); |
| } |
| |
| __CUDA_DEPRECATED CUresult CUDAAPI cuLaunch(CUfunction f) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUfunction); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuLaunch"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(f); |
| } |
| |
| __CUDA_DEPRECATED CUresult CUDAAPI cuLaunchGrid(CUfunction f, int grid_width, |
| int grid_height) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUfunction, int, int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuLaunchGrid"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(f, grid_width, grid_height); |
| } |
| |
| __CUDA_DEPRECATED CUresult CUDAAPI cuLaunchGridAsync(CUfunction f, |
| int grid_width, |
| int grid_height, |
| CUstream hStream) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUfunction, int, int, CUstream); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuLaunchGridAsync"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(f, grid_width, grid_height, hStream); |
| } |
| |
| __CUDA_DEPRECATED CUresult CUDAAPI cuParamSetTexRef(CUfunction hfunc, |
| int texunit, |
| CUtexref hTexRef) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUfunction, int, CUtexref); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuParamSetTexRef"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hfunc, texunit, hTexRef); |
| } |
| |
| CUresult CUDAAPI cuOccupancyMaxActiveBlocksPerMultiprocessor( |
| int *numBlocks, CUfunction func, int blockSize, size_t dynamicSMemSize) { |
| using FuncPtr = CUresult(CUDAAPI *)(int *, CUfunction, int, size_t); |
| static auto func_ptr = |
| LoadSymbol<FuncPtr>("cuOccupancyMaxActiveBlocksPerMultiprocessor"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(numBlocks, func, blockSize, dynamicSMemSize); |
| } |
| |
| CUresult CUDAAPI cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags( |
| int *numBlocks, CUfunction func, int blockSize, size_t dynamicSMemSize, |
| unsigned int flags) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(int *, CUfunction, int, size_t, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>( |
| "cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(numBlocks, func, blockSize, dynamicSMemSize, flags); |
| } |
| |
| CUresult CUDAAPI cuOccupancyMaxPotentialBlockSize( |
| int *minGridSize, int *blockSize, CUfunction func, |
| CUoccupancyB2DSize blockSizeToDynamicSMemSize, size_t dynamicSMemSize, |
| int blockSizeLimit) { |
| using FuncPtr = CUresult(CUDAAPI *)(int *, int *, CUfunction, |
| CUoccupancyB2DSize, size_t, int); |
| static auto func_ptr = |
| LoadSymbol<FuncPtr>("cuOccupancyMaxPotentialBlockSize"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(minGridSize, blockSize, func, blockSizeToDynamicSMemSize, |
| dynamicSMemSize, blockSizeLimit); |
| } |
| |
| CUresult CUDAAPI cuOccupancyMaxPotentialBlockSizeWithFlags( |
| int *minGridSize, int *blockSize, CUfunction func, |
| CUoccupancyB2DSize blockSizeToDynamicSMemSize, size_t dynamicSMemSize, |
| int blockSizeLimit, unsigned int flags) { |
| using FuncPtr = CUresult(CUDAAPI *)( |
| int *, int *, CUfunction, CUoccupancyB2DSize, size_t, int, unsigned int); |
| static auto func_ptr = |
| LoadSymbol<FuncPtr>("cuOccupancyMaxPotentialBlockSizeWithFlags"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(minGridSize, blockSize, func, blockSizeToDynamicSMemSize, |
| dynamicSMemSize, blockSizeLimit, flags); |
| } |
| |
| CUresult CUDAAPI cuTexRefSetArray(CUtexref hTexRef, CUarray hArray, |
| unsigned int Flags) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUtexref, CUarray, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefSetArray"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hTexRef, hArray, Flags); |
| } |
| |
| CUresult CUDAAPI cuTexRefSetMipmappedArray(CUtexref hTexRef, |
| CUmipmappedArray hMipmappedArray, |
| unsigned int Flags) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUtexref, CUmipmappedArray, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefSetMipmappedArray"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hTexRef, hMipmappedArray, Flags); |
| } |
| |
| CUresult CUDAAPI cuTexRefSetAddress(size_t *ByteOffset, CUtexref hTexRef, |
| CUdeviceptr dptr, size_t bytes) { |
| using FuncPtr = CUresult(CUDAAPI *)(size_t *, CUtexref, CUdeviceptr, size_t); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefSetAddress_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(ByteOffset, hTexRef, dptr, bytes); |
| } |
| |
| CUresult CUDAAPI cuTexRefSetAddress2D(CUtexref hTexRef, |
| const CUDA_ARRAY_DESCRIPTOR *desc, |
| CUdeviceptr dptr, size_t Pitch) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUtexref, const CUDA_ARRAY_DESCRIPTOR *, |
| CUdeviceptr, size_t); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefSetAddress2D_v3"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hTexRef, desc, dptr, Pitch); |
| } |
| |
| CUresult CUDAAPI cuTexRefSetFormat(CUtexref hTexRef, CUarray_format fmt, |
| int NumPackedComponents) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUtexref, CUarray_format, int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefSetFormat"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hTexRef, fmt, NumPackedComponents); |
| } |
| |
| CUresult CUDAAPI cuTexRefSetAddressMode(CUtexref hTexRef, int dim, |
| CUaddress_mode am) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUtexref, int, CUaddress_mode); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefSetAddressMode"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hTexRef, dim, am); |
| } |
| |
| CUresult CUDAAPI cuTexRefSetFilterMode(CUtexref hTexRef, CUfilter_mode fm) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUtexref, CUfilter_mode); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefSetFilterMode"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hTexRef, fm); |
| } |
| |
| CUresult CUDAAPI cuTexRefSetMipmapFilterMode(CUtexref hTexRef, |
| CUfilter_mode fm) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUtexref, CUfilter_mode); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefSetMipmapFilterMode"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hTexRef, fm); |
| } |
| |
| CUresult CUDAAPI cuTexRefSetMipmapLevelBias(CUtexref hTexRef, float bias) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUtexref, float); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefSetMipmapLevelBias"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hTexRef, bias); |
| } |
| |
| CUresult CUDAAPI cuTexRefSetMipmapLevelClamp(CUtexref hTexRef, |
| float minMipmapLevelClamp, |
| float maxMipmapLevelClamp) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUtexref, float, float); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefSetMipmapLevelClamp"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hTexRef, minMipmapLevelClamp, maxMipmapLevelClamp); |
| } |
| |
| CUresult CUDAAPI cuTexRefSetMaxAnisotropy(CUtexref hTexRef, |
| unsigned int maxAniso) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUtexref, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefSetMaxAnisotropy"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hTexRef, maxAniso); |
| } |
| |
| CUresult CUDAAPI cuTexRefSetBorderColor(CUtexref hTexRef, float *pBorderColor) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUtexref, float *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefSetBorderColor"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hTexRef, pBorderColor); |
| } |
| |
| CUresult CUDAAPI cuTexRefSetFlags(CUtexref hTexRef, unsigned int Flags) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUtexref, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefSetFlags"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hTexRef, Flags); |
| } |
| |
| CUresult CUDAAPI cuTexRefGetAddress(CUdeviceptr *pdptr, CUtexref hTexRef) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUdeviceptr *, CUtexref); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefGetAddress_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pdptr, hTexRef); |
| } |
| |
| CUresult CUDAAPI cuTexRefGetArray(CUarray *phArray, CUtexref hTexRef) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUarray *, CUtexref); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefGetArray"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(phArray, hTexRef); |
| } |
| |
| CUresult CUDAAPI cuTexRefGetMipmappedArray(CUmipmappedArray *phMipmappedArray, |
| CUtexref hTexRef) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUmipmappedArray *, CUtexref); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefGetMipmappedArray"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(phMipmappedArray, hTexRef); |
| } |
| |
| CUresult CUDAAPI cuTexRefGetAddressMode(CUaddress_mode *pam, CUtexref hTexRef, |
| int dim) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUaddress_mode *, CUtexref, int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefGetAddressMode"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pam, hTexRef, dim); |
| } |
| |
| CUresult CUDAAPI cuTexRefGetFilterMode(CUfilter_mode *pfm, CUtexref hTexRef) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUfilter_mode *, CUtexref); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefGetFilterMode"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pfm, hTexRef); |
| } |
| |
| CUresult CUDAAPI cuTexRefGetFormat(CUarray_format *pFormat, int *pNumChannels, |
| CUtexref hTexRef) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUarray_format *, int *, CUtexref); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefGetFormat"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pFormat, pNumChannels, hTexRef); |
| } |
| |
| CUresult CUDAAPI cuTexRefGetMipmapFilterMode(CUfilter_mode *pfm, |
| CUtexref hTexRef) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUfilter_mode *, CUtexref); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefGetMipmapFilterMode"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pfm, hTexRef); |
| } |
| |
| CUresult CUDAAPI cuTexRefGetMipmapLevelBias(float *pbias, CUtexref hTexRef) { |
| using FuncPtr = CUresult(CUDAAPI *)(float *, CUtexref); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefGetMipmapLevelBias"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pbias, hTexRef); |
| } |
| |
| CUresult CUDAAPI cuTexRefGetMipmapLevelClamp(float *pminMipmapLevelClamp, |
| float *pmaxMipmapLevelClamp, |
| CUtexref hTexRef) { |
| using FuncPtr = CUresult(CUDAAPI *)(float *, float *, CUtexref); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefGetMipmapLevelClamp"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pminMipmapLevelClamp, pmaxMipmapLevelClamp, hTexRef); |
| } |
| |
| CUresult CUDAAPI cuTexRefGetMaxAnisotropy(int *pmaxAniso, CUtexref hTexRef) { |
| using FuncPtr = CUresult(CUDAAPI *)(int *, CUtexref); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefGetMaxAnisotropy"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pmaxAniso, hTexRef); |
| } |
| |
| CUresult CUDAAPI cuTexRefGetBorderColor(float *pBorderColor, CUtexref hTexRef) { |
| using FuncPtr = CUresult(CUDAAPI *)(float *, CUtexref); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefGetBorderColor"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pBorderColor, hTexRef); |
| } |
| |
| CUresult CUDAAPI cuTexRefGetFlags(unsigned int *pFlags, CUtexref hTexRef) { |
| using FuncPtr = CUresult(CUDAAPI *)(unsigned int *, CUtexref); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefGetFlags"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pFlags, hTexRef); |
| } |
| |
| __CUDA_DEPRECATED CUresult CUDAAPI cuTexRefCreate(CUtexref *pTexRef) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUtexref *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefCreate"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pTexRef); |
| } |
| |
| __CUDA_DEPRECATED CUresult CUDAAPI cuTexRefDestroy(CUtexref hTexRef) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUtexref); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexRefDestroy"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hTexRef); |
| } |
| |
| CUresult CUDAAPI cuSurfRefSetArray(CUsurfref hSurfRef, CUarray hArray, |
| unsigned int Flags) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUsurfref, CUarray, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuSurfRefSetArray"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(hSurfRef, hArray, Flags); |
| } |
| |
| CUresult CUDAAPI cuSurfRefGetArray(CUarray *phArray, CUsurfref hSurfRef) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUarray *, CUsurfref); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuSurfRefGetArray"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(phArray, hSurfRef); |
| } |
| |
| CUresult CUDAAPI |
| cuTexObjectCreate(CUtexObject *pTexObject, const CUDA_RESOURCE_DESC *pResDesc, |
| const CUDA_TEXTURE_DESC *pTexDesc, |
| const CUDA_RESOURCE_VIEW_DESC *pResViewDesc) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUtexObject *, const CUDA_RESOURCE_DESC *, |
| const CUDA_TEXTURE_DESC *, |
| const CUDA_RESOURCE_VIEW_DESC *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexObjectCreate"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pTexObject, pResDesc, pTexDesc, pResViewDesc); |
| } |
| |
| CUresult CUDAAPI cuTexObjectDestroy(CUtexObject texObject) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUtexObject); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexObjectDestroy"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(texObject); |
| } |
| |
| CUresult CUDAAPI cuTexObjectGetResourceDesc(CUDA_RESOURCE_DESC *pResDesc, |
| CUtexObject texObject) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUDA_RESOURCE_DESC *, CUtexObject); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexObjectGetResourceDesc"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pResDesc, texObject); |
| } |
| |
| CUresult CUDAAPI cuTexObjectGetTextureDesc(CUDA_TEXTURE_DESC *pTexDesc, |
| CUtexObject texObject) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUDA_TEXTURE_DESC *, CUtexObject); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexObjectGetTextureDesc"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pTexDesc, texObject); |
| } |
| |
| CUresult CUDAAPI cuTexObjectGetResourceViewDesc( |
| CUDA_RESOURCE_VIEW_DESC *pResViewDesc, CUtexObject texObject) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUDA_RESOURCE_VIEW_DESC *, CUtexObject); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuTexObjectGetResourceViewDesc"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pResViewDesc, texObject); |
| } |
| |
| CUresult CUDAAPI cuSurfObjectCreate(CUsurfObject *pSurfObject, |
| const CUDA_RESOURCE_DESC *pResDesc) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(CUsurfObject *, const CUDA_RESOURCE_DESC *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuSurfObjectCreate"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pSurfObject, pResDesc); |
| } |
| |
| CUresult CUDAAPI cuSurfObjectDestroy(CUsurfObject surfObject) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUsurfObject); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuSurfObjectDestroy"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(surfObject); |
| } |
| |
| CUresult CUDAAPI cuSurfObjectGetResourceDesc(CUDA_RESOURCE_DESC *pResDesc, |
| CUsurfObject surfObject) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUDA_RESOURCE_DESC *, CUsurfObject); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuSurfObjectGetResourceDesc"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pResDesc, surfObject); |
| } |
| |
| CUresult CUDAAPI cuDeviceCanAccessPeer(int *canAccessPeer, CUdevice dev, |
| CUdevice peerDev) { |
| using FuncPtr = CUresult(CUDAAPI *)(int *, CUdevice, CUdevice); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuDeviceCanAccessPeer"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(canAccessPeer, dev, peerDev); |
| } |
| |
| CUresult CUDAAPI cuCtxEnablePeerAccess(CUcontext peerContext, |
| unsigned int Flags) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUcontext, unsigned int); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuCtxEnablePeerAccess"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(peerContext, Flags); |
| } |
| |
| CUresult CUDAAPI cuCtxDisablePeerAccess(CUcontext peerContext) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUcontext); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuCtxDisablePeerAccess"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(peerContext); |
| } |
| |
| CUresult CUDAAPI cuDeviceGetP2PAttribute(int *value, |
| CUdevice_P2PAttribute attrib, |
| CUdevice srcDevice, |
| CUdevice dstDevice) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(int *, CUdevice_P2PAttribute, CUdevice, CUdevice); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuDeviceGetP2PAttribute"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(value, attrib, srcDevice, dstDevice); |
| } |
| |
| CUresult CUDAAPI cuGraphicsUnregisterResource(CUgraphicsResource resource) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUgraphicsResource); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuGraphicsUnregisterResource"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(resource); |
| } |
| |
| CUresult CUDAAPI cuGraphicsSubResourceGetMappedArray( |
| CUarray *pArray, CUgraphicsResource resource, unsigned int arrayIndex, |
| unsigned int mipLevel) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUarray *, CUgraphicsResource, |
| unsigned int, unsigned int); |
| static auto func_ptr = |
| LoadSymbol<FuncPtr>("cuGraphicsSubResourceGetMappedArray"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pArray, resource, arrayIndex, mipLevel); |
| } |
| |
| CUresult CUDAAPI cuGraphicsResourceGetMappedMipmappedArray( |
| CUmipmappedArray *pMipmappedArray, CUgraphicsResource resource) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUmipmappedArray *, CUgraphicsResource); |
| static auto func_ptr = |
| LoadSymbol<FuncPtr>("cuGraphicsResourceGetMappedMipmappedArray"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pMipmappedArray, resource); |
| } |
| |
| CUresult CUDAAPI cuGraphicsResourceGetMappedPointer( |
| CUdeviceptr *pDevPtr, size_t *pSize, CUgraphicsResource resource) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(CUdeviceptr *, size_t *, CUgraphicsResource); |
| static auto func_ptr = |
| LoadSymbol<FuncPtr>("cuGraphicsResourceGetMappedPointer_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(pDevPtr, pSize, resource); |
| } |
| |
| CUresult CUDAAPI cuGraphicsResourceSetMapFlags(CUgraphicsResource resource, |
| unsigned int flags) { |
| using FuncPtr = CUresult(CUDAAPI *)(CUgraphicsResource, unsigned int); |
| static auto func_ptr = |
| LoadSymbol<FuncPtr>("cuGraphicsResourceSetMapFlags_v2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(resource, flags); |
| } |
| |
| CUresult CUDAAPI cuGraphicsMapResources(unsigned int count, |
| CUgraphicsResource *resources, |
| CUstream hStream) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(unsigned int, CUgraphicsResource *, CUstream); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuGraphicsMapResources"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(count, resources, hStream); |
| } |
| |
| CUresult CUDAAPI cuGraphicsUnmapResources(unsigned int count, |
| CUgraphicsResource *resources, |
| CUstream hStream) { |
| using FuncPtr = |
| CUresult(CUDAAPI *)(unsigned int, CUgraphicsResource *, CUstream); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuGraphicsUnmapResources"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(count, resources, hStream); |
| } |
| |
| CUresult CUDAAPI cuGetExportTable(const void **ppExportTable, |
| const CUuuid *pExportTableId) { |
| using FuncPtr = CUresult(CUDAAPI *)(const void **, const CUuuid *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuGetExportTable"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(ppExportTable, pExportTableId); |
| } |
| |
| } // extern "C" |