Skip to content

Driver API#

This page shows how the SCALE runtime library corresponds to each version of the CUDA Driver API.

82% (268 of 325 declarations available)

4.1. Data types used by CUDA driver#

 #define CUDA_ARRAY3D_2DARRAY
 #define CUDA_ARRAY3D_CUBEMAP
 #define CUDA_ARRAY3D_DEPTH_TEXTURE
 #define CUDA_ARRAY3D_LAYERED
 #define CUDA_ARRAY3D_SURFACE_LDST
 #define CUDA_ARRAY3D_TEXTURE_GATHER
 #define CUDA_VERSION
 #define CU_DEVICE_CPU
 #define CU_DEVICE_INVALID
 #define CU_IPC_HANDLE_SIZE
 #define CU_LAUNCH_PARAM_BUFFER_POINTER
 #define CU_LAUNCH_PARAM_BUFFER_SIZE
 #define CU_LAUNCH_PARAM_END
 #define CU_MEMHOSTALLOC_DEVICEMAP
 #define CU_MEMHOSTALLOC_PORTABLE
 #define CU_MEMHOSTALLOC_WRITECOMBINED
 #define CU_MEMHOSTREGISTER_DEVICEMAP
 #define CU_MEMHOSTREGISTER_IOMEMORY
 #define CU_MEMHOSTREGISTER_PORTABLE
-#define CU_PARAM_TR_DEFAULT
 #define CU_STREAM_LEGACY
 #define CU_STREAM_PER_THREAD
-#define CU_TRSA_OVERRIDE_FORMAT
 #define CU_TRSF_NORMALIZED_COORDINATES
 #define CU_TRSF_READ_AS_INTEGER
 #define CU_TRSF_SRGB
-#define MAX_PLANES
 enum CUaddress_mode
     CU_TR_ADDRESS_MODE_WRAP = 0
     CU_TR_ADDRESS_MODE_CLAMP = 1
     CU_TR_ADDRESS_MODE_MIRROR = 2
     CU_TR_ADDRESS_MODE_BORDER = 3
 enum CUarray_cubemap_face
     CU_CUBEMAP_FACE_POSITIVE_X = 0
     CU_CUBEMAP_FACE_NEGATIVE_X = 1
     CU_CUBEMAP_FACE_POSITIVE_Y = 2
     CU_CUBEMAP_FACE_NEGATIVE_Y = 3
     CU_CUBEMAP_FACE_POSITIVE_Z = 4
     CU_CUBEMAP_FACE_NEGATIVE_Z = 5
 enum CUarray_format
     CU_AD_FORMAT_UNSIGNED_INT8 = 1
     CU_AD_FORMAT_UNSIGNED_INT16 = 2
     CU_AD_FORMAT_UNSIGNED_INT32 = 3
     CU_AD_FORMAT_SIGNED_INT8 = 8
     CU_AD_FORMAT_SIGNED_INT16 = 9
     CU_AD_FORMAT_SIGNED_INT32 = 10
     CU_AD_FORMAT_HALF = 16
     CU_AD_FORMAT_FLOAT = 32
 enum CUcomputemode
     CU_COMPUTEMODE_DEFAULT = 0
     CU_COMPUTEMODE_PROHIBITED = 2
     CU_COMPUTEMODE_EXCLUSIVE_PROCESS = 3
 enum CUctx_flags
     CU_CTX_SCHED_AUTO = 0
     CU_CTX_SCHED_SPIN = 1
     CU_CTX_SCHED_YIELD = 2
     CU_CTX_SCHED_BLOCKING_SYNC = 4
     CU_CTX_BLOCKING_SYNC = 4
     CU_CTX_SCHED_MASK = 7
     CU_CTX_MAP_HOST = 8
     CU_CTX_LMEM_RESIZE_TO_MAX = 16
-    CU_CTX_FLAGS_MASK = 31
 enum CUdevice_P2PAttribute
     CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK = 1
     CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED = 2
     CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED = 3
 enum CUdevice_attribute
     CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1
     CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = 2
     CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y = 3
     CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z = 4
     CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = 5
     CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y = 6
     CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z = 7
     CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK = 8
     CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK = 8
     CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY = 9
     CU_DEVICE_ATTRIBUTE_WARP_SIZE = 10
     CU_DEVICE_ATTRIBUTE_MAX_PITCH = 11
     CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK = 12
     CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK = 12
     CU_DEVICE_ATTRIBUTE_CLOCK_RATE = 13
     CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT = 14
     CU_DEVICE_ATTRIBUTE_GPU_OVERLAP = 15
     CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT = 16
     CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT = 17
     CU_DEVICE_ATTRIBUTE_INTEGRATED = 18
     CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY = 19
     CU_DEVICE_ATTRIBUTE_COMPUTE_MODE = 20
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH = 21
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH = 22
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT = 23
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH = 24
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT = 25
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH = 26
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH = 27
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT = 28
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS = 29
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH = 27
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT = 28
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES = 29
     CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT = 30
     CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS = 31
     CU_DEVICE_ATTRIBUTE_ECC_ENABLED = 32
     CU_DEVICE_ATTRIBUTE_PCI_BUS_ID = 33
     CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID = 34
     CU_DEVICE_ATTRIBUTE_TCC_DRIVER = 35
     CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE = 36
     CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH = 37
     CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE = 38
     CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR = 39
     CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT = 40
     CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING = 41
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH = 42
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS = 43
     CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER = 44
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH = 45
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT = 46
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE = 47
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE = 48
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE = 49
     CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID = 50
     CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT = 51
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH = 52
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH = 53
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS = 54
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH = 55
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH = 56
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT = 57
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH = 58
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT = 59
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH = 60
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH = 61
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS = 62
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH = 63
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT = 64
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS = 65
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH = 66
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH = 67
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS = 68
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH = 69
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH = 70
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT = 71
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH = 72
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH = 73
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT = 74
     CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR = 75
     CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR = 76
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH = 77
     CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED = 78
     CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED = 79
     CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED = 80
     CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR = 81
     CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR = 82
     CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY = 83
     CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD = 84
     CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID = 85
     CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED = 86
     CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO = 87
     CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS = 88
     CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS = 89
     CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED = 90
     CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM = 91
-    CU_DEVICE_ATTRIBUTE_MAX = 92
-enum CUeglColorFormat
-enum CUeglFrameType
-enum CUeglResourceLocationFlags
 enum CUevent_flags
     CU_EVENT_DEFAULT = 0
     CU_EVENT_BLOCKING_SYNC = 1
     CU_EVENT_DISABLE_TIMING = 2
     CU_EVENT_INTERPROCESS = 4
 enum CUfilter_mode
     CU_TR_FILTER_MODE_POINT = 0
     CU_TR_FILTER_MODE_LINEAR = 1
 enum CUfunc_cache
     CU_FUNC_CACHE_PREFER_NONE = 0
     CU_FUNC_CACHE_PREFER_SHARED = 1
     CU_FUNC_CACHE_PREFER_L1 = 2
     CU_FUNC_CACHE_PREFER_EQUAL = 3
 enum CUfunction_attribute
     CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 0
     CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES = 1
     CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES = 2
     CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES = 3
     CU_FUNC_ATTRIBUTE_NUM_REGS = 4
     CU_FUNC_ATTRIBUTE_PTX_VERSION = 5
     CU_FUNC_ATTRIBUTE_BINARY_VERSION = 6
     CU_FUNC_ATTRIBUTE_CACHE_MODE_CA = 7
-    CU_FUNC_ATTRIBUTE_MAX = 8
 enum CUgraphicsMapResourceFlags
     CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE = 0
     CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY = 1
     CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 2
 enum CUgraphicsRegisterFlags
     CU_GRAPHICS_REGISTER_FLAGS_NONE = 0
     CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY = 1
     CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD = 2
     CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST = 4
     CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER = 8
-enum CUipcMem_flags
 enum CUjitInputType
     CU_JIT_INPUT_CUBIN = 0
     CU_JIT_INPUT_PTX = 1
     CU_JIT_INPUT_FATBINARY = 2
     CU_JIT_INPUT_OBJECT = 3
     CU_JIT_INPUT_LIBRARY = 4
-    CU_JIT_NUM_INPUT_TYPES = 5
-enum CUjit_cacheMode
-enum CUjit_fallback
 enum CUjit_option
     CU_JIT_MAX_REGISTERS = 0
     CU_JIT_THREADS_PER_BLOCK = 1
     CU_JIT_WALL_TIME = 2
     CU_JIT_INFO_LOG_BUFFER = 3
     CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES = 4
     CU_JIT_ERROR_LOG_BUFFER = 5
     CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES = 6
     CU_JIT_OPTIMIZATION_LEVEL = 7
     CU_JIT_TARGET_FROM_CUCONTEXT = 8
     CU_JIT_TARGET = 9
     CU_JIT_FALLBACK_STRATEGY = 10
     CU_JIT_GENERATE_DEBUG_INFO = 11
     CU_JIT_LOG_VERBOSE = 12
     CU_JIT_GENERATE_LINE_INFO = 13
     CU_JIT_CACHE_MODE = 14
     CU_JIT_NEW_SM3X_OPT = 15
     CU_JIT_FAST_COMPILE = 16
-    CU_JIT_NUM_OPTIONS = 17
-enum CUjit_target
 enum CUlimit
     CU_LIMIT_STACK_SIZE = 0
     CU_LIMIT_PRINTF_FIFO_SIZE = 1
     CU_LIMIT_MALLOC_HEAP_SIZE = 2
     CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH = 3
     CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT = 4
-    CU_LIMIT_MAX = 5
 enum CUmemAttach_flags
     CU_MEM_ATTACH_GLOBAL = 1
     CU_MEM_ATTACH_HOST = 2
     CU_MEM_ATTACH_SINGLE = 4
 enum CUmem_advise
     CU_MEM_ADVISE_SET_READ_MOSTLY = 1
     CU_MEM_ADVISE_UNSET_READ_MOSTLY = 2
     CU_MEM_ADVISE_SET_PREFERRED_LOCATION = 3
     CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION = 4
     CU_MEM_ADVISE_SET_ACCESSED_BY = 5
     CU_MEM_ADVISE_UNSET_ACCESSED_BY = 6
 enum CUmemorytype
     CU_MEMORYTYPE_HOST = 1
     CU_MEMORYTYPE_DEVICE = 2
     CU_MEMORYTYPE_ARRAY = 3
     CU_MEMORYTYPE_UNIFIED = 4
 enum CUoccupancy_flags
     CU_OCCUPANCY_DEFAULT = 0
     CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE = 1
 enum CUpointer_attribute
     CU_POINTER_ATTRIBUTE_CONTEXT = 1
     CU_POINTER_ATTRIBUTE_MEMORY_TYPE = 2
     CU_POINTER_ATTRIBUTE_DEVICE_POINTER = 3
     CU_POINTER_ATTRIBUTE_HOST_POINTER = 4
     CU_POINTER_ATTRIBUTE_P2P_TOKENS = 5
     CU_POINTER_ATTRIBUTE_SYNC_MEMOPS = 6
     CU_POINTER_ATTRIBUTE_BUFFER_ID = 7
     CU_POINTER_ATTRIBUTE_IS_MANAGED = 8
 enum CUresourceViewFormat
     CU_RES_VIEW_FORMAT_NONE = 0
     CU_RES_VIEW_FORMAT_UINT_1X8 = 1
     CU_RES_VIEW_FORMAT_UINT_2X8 = 2
     CU_RES_VIEW_FORMAT_UINT_4X8 = 3
     CU_RES_VIEW_FORMAT_SINT_1X8 = 4
     CU_RES_VIEW_FORMAT_SINT_2X8 = 5
     CU_RES_VIEW_FORMAT_SINT_4X8 = 6
     CU_RES_VIEW_FORMAT_UINT_1X16 = 7
     CU_RES_VIEW_FORMAT_UINT_2X16 = 8
     CU_RES_VIEW_FORMAT_UINT_4X16 = 9
     CU_RES_VIEW_FORMAT_SINT_1X16 = 10
     CU_RES_VIEW_FORMAT_SINT_2X16 = 11
     CU_RES_VIEW_FORMAT_SINT_4X16 = 12
     CU_RES_VIEW_FORMAT_UINT_1X32 = 13
     CU_RES_VIEW_FORMAT_UINT_2X32 = 14
     CU_RES_VIEW_FORMAT_UINT_4X32 = 15
     CU_RES_VIEW_FORMAT_SINT_1X32 = 16
     CU_RES_VIEW_FORMAT_SINT_2X32 = 17
     CU_RES_VIEW_FORMAT_SINT_4X32 = 18
     CU_RES_VIEW_FORMAT_FLOAT_1X16 = 19
     CU_RES_VIEW_FORMAT_FLOAT_2X16 = 20
     CU_RES_VIEW_FORMAT_FLOAT_4X16 = 21
     CU_RES_VIEW_FORMAT_FLOAT_1X32 = 22
     CU_RES_VIEW_FORMAT_FLOAT_2X32 = 23
     CU_RES_VIEW_FORMAT_FLOAT_4X32 = 24
     CU_RES_VIEW_FORMAT_UNSIGNED_BC1 = 25
     CU_RES_VIEW_FORMAT_UNSIGNED_BC2 = 26
     CU_RES_VIEW_FORMAT_UNSIGNED_BC3 = 27
     CU_RES_VIEW_FORMAT_UNSIGNED_BC4 = 28
     CU_RES_VIEW_FORMAT_SIGNED_BC4 = 29
     CU_RES_VIEW_FORMAT_UNSIGNED_BC5 = 30
     CU_RES_VIEW_FORMAT_SIGNED_BC5 = 31
     CU_RES_VIEW_FORMAT_UNSIGNED_BC6H = 32
     CU_RES_VIEW_FORMAT_SIGNED_BC6H = 33
     CU_RES_VIEW_FORMAT_UNSIGNED_BC7 = 34
 enum CUresourcetype
     CU_RESOURCE_TYPE_ARRAY = 0
     CU_RESOURCE_TYPE_MIPMAPPED_ARRAY = 1
     CU_RESOURCE_TYPE_LINEAR = 2
     CU_RESOURCE_TYPE_PITCH2D = 3
 enum CUresult
     CUDA_SUCCESS = 0
     CUDA_ERROR_INVALID_VALUE = 1
     CUDA_ERROR_OUT_OF_MEMORY = 2
     CUDA_ERROR_NOT_INITIALIZED = 3
     CUDA_ERROR_DEINITIALIZED = 4
     CUDA_ERROR_PROFILER_DISABLED = 5
     CUDA_ERROR_PROFILER_NOT_INITIALIZED = 6
     CUDA_ERROR_PROFILER_ALREADY_STARTED = 7
     CUDA_ERROR_PROFILER_ALREADY_STOPPED = 8
     CUDA_ERROR_NO_DEVICE = 100
     CUDA_ERROR_INVALID_DEVICE = 101
     CUDA_ERROR_INVALID_IMAGE = 200
     CUDA_ERROR_INVALID_CONTEXT = 201
     CUDA_ERROR_CONTEXT_ALREADY_CURRENT = 202
     CUDA_ERROR_MAP_FAILED = 205
     CUDA_ERROR_UNMAP_FAILED = 206
     CUDA_ERROR_ARRAY_IS_MAPPED = 207
     CUDA_ERROR_ALREADY_MAPPED = 208
     CUDA_ERROR_NO_BINARY_FOR_GPU = 209
     CUDA_ERROR_ALREADY_ACQUIRED = 210
     CUDA_ERROR_NOT_MAPPED = 211
     CUDA_ERROR_NOT_MAPPED_AS_ARRAY = 212
     CUDA_ERROR_NOT_MAPPED_AS_POINTER = 213
     CUDA_ERROR_ECC_UNCORRECTABLE = 214
     CUDA_ERROR_UNSUPPORTED_LIMIT = 215
     CUDA_ERROR_CONTEXT_ALREADY_IN_USE = 216
     CUDA_ERROR_PEER_ACCESS_UNSUPPORTED = 217
     CUDA_ERROR_INVALID_PTX = 218
     CUDA_ERROR_INVALID_GRAPHICS_CONTEXT = 219
     CUDA_ERROR_NVLINK_UNCORRECTABLE = 220
     CUDA_ERROR_INVALID_SOURCE = 300
     CUDA_ERROR_FILE_NOT_FOUND = 301
     CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND = 302
     CUDA_ERROR_SHARED_OBJECT_INIT_FAILED = 303
     CUDA_ERROR_OPERATING_SYSTEM = 304
     CUDA_ERROR_INVALID_HANDLE = 400
     CUDA_ERROR_NOT_FOUND = 500
     CUDA_ERROR_NOT_READY = 600
     CUDA_ERROR_ILLEGAL_ADDRESS = 700
     CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES = 701
     CUDA_ERROR_LAUNCH_TIMEOUT = 702
     CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING = 703
     CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED = 704
     CUDA_ERROR_PEER_ACCESS_NOT_ENABLED = 705
     CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE = 708
     CUDA_ERROR_CONTEXT_IS_DESTROYED = 709
     CUDA_ERROR_ASSERT = 710
     CUDA_ERROR_TOO_MANY_PEERS = 711
     CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED = 712
     CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED = 713
     CUDA_ERROR_HARDWARE_STACK_ERROR = 714
     CUDA_ERROR_ILLEGAL_INSTRUCTION = 715
     CUDA_ERROR_MISALIGNED_ADDRESS = 716
     CUDA_ERROR_INVALID_ADDRESS_SPACE = 717
     CUDA_ERROR_INVALID_PC = 718
     CUDA_ERROR_LAUNCH_FAILED = 719
     CUDA_ERROR_NOT_PERMITTED = 800
     CUDA_ERROR_NOT_SUPPORTED = 801
     CUDA_ERROR_UNKNOWN = 999
 enum CUsharedconfig
     CU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE = 0
     CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE = 1
     CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE = 2
-enum CUstreamBatchMemOpType
-enum CUstreamWaitValue_flags
 enum CUstreamWriteValue_flags
     CU_STREAM_WRITE_VALUE_DEFAULT = 0
     CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER = 1
 enum CUstream_flags
     CU_STREAM_DEFAULT = 0
     CU_STREAM_NON_BLOCKING = 1
struct CUDA_ARRAY3D_DESCRIPTOR
struct CUDA_ARRAY_DESCRIPTOR
struct CUDA_MEMCPY2D
struct CUDA_MEMCPY3D
struct CUDA_MEMCPY3D_PEER
-struct CUDA_POINTER_ATTRIBUTE_P2P_TOKENS
struct CUDA_RESOURCE_DESC
struct CUDA_RESOURCE_VIEW_DESC
struct CUDA_TEXTURE_DESC
struct CUdevprop
-struct CUeglFrame
struct CUipcEventHandle
struct CUipcMemHandle
union CUstreamBatchMemOpParams
 typedef CUarray_st * CUarray;
 typedef CUctx_st * CUcontext;
 typedef int CUdevice;
-typedef unsigned int CUdeviceptr;
-typedef CUeglStreamConnection_st * CUeglStreamConnection;
 typedef CUevent_st * CUevent;
 typedef CUfunc_st * CUfunction;
 typedef CUgraphicsResource_st * CUgraphicsResource;
 typedef CUmipmappedArray_st * CUmipmappedArray;
 typedef CUmod_st * CUmodule;
 typedef size_t(* CUoccupancyB2DSize)(int blockSize);
 typedef CUstream_st * CUstream;
 typedef void(* CUstreamCallback)(CUstream hStream, CUresult status, void* userData);
 typedef unsigned long long CUsurfObject;
-typedef CUsurfref_st * CUsurfref;
 typedef unsigned long long CUtexObject;
 typedef CUtexref_st * CUtexref;

4.2. Error Handling#

 CUresult cuGetErrorName(CUresult error, const char** pStr);
 CUresult cuGetErrorString(CUresult error, const char** pStr);

4.3. Initialization#

 CUresult cuInit(unsigned int Flags);

4.4. Version Management#

 CUresult cuDriverGetVersion(int* driverVersion);

4.5. Device Management#

 CUresult cuDeviceGet(CUdevice* device, int ordinal);
 CUresult cuDeviceGetAttribute(int* pi, CUdevice_attribute attrib, CUdevice dev);
 CUresult cuDeviceGetCount(int* count);
 CUresult cuDeviceGetName(char* name, int len, CUdevice dev);
 CUresult cuDeviceTotalMem(size_t* bytes, CUdevice dev);

4.6. Device Management [DEPRECATED]#

 CUresult cuDeviceComputeCapability(int* major, int* minor, CUdevice dev);
 CUresult cuDeviceGetProperties(CUdevprop* prop, CUdevice dev);

4.7. Primary Context Management#

 CUresult cuDevicePrimaryCtxGetState(CUdevice dev, unsigned int* flags, int* active);
 CUresult cuDevicePrimaryCtxRelease(CUdevice dev);
 CUresult cuDevicePrimaryCtxReset(CUdevice dev);
 CUresult cuDevicePrimaryCtxRetain(CUcontext* pctx, CUdevice dev);
 CUresult cuDevicePrimaryCtxSetFlags(CUdevice dev, unsigned int flags);

4.8. Context Management#

 CUresult cuCtxCreate(CUcontext* pctx, unsigned int flags, CUdevice dev);
 CUresult cuCtxDestroy(CUcontext ctx);
 CUresult cuCtxGetApiVersion(CUcontext ctx, unsigned int* version);
 CUresult cuCtxGetCacheConfig(CUfunc_cache* pconfig);
 CUresult cuCtxGetCurrent(CUcontext* pctx);
 CUresult cuCtxGetDevice(CUdevice* device);
 CUresult cuCtxGetFlags(unsigned int* flags);
 CUresult cuCtxGetLimit(size_t* pvalue, CUlimit limit);
 CUresult cuCtxGetSharedMemConfig(CUsharedconfig* pConfig);
 CUresult cuCtxGetStreamPriorityRange(int* leastPriority, int* greatestPriority);
 CUresult cuCtxPopCurrent(CUcontext* pctx);
 CUresult cuCtxPushCurrent(CUcontext ctx);
 CUresult cuCtxSetCacheConfig(CUfunc_cache config);
 CUresult cuCtxSetCurrent(CUcontext ctx);
 CUresult cuCtxSetLimit(CUlimit limit, size_t value);
 CUresult cuCtxSetSharedMemConfig(CUsharedconfig config);
 CUresult cuCtxSynchronize(void);

4.9. Context Management [DEPRECATED]#

 CUresult cuCtxAttach(CUcontext* pctx, unsigned int flags);
 CUresult cuCtxDetach(CUcontext ctx);

4.10. Module Management#

 CUresult cuLinkAddData(CUlinkState state, CUjitInputType type, void* data, size_t size, const char* name, unsigned int numOptions, CUjit_option* options, void** optionValues);
 CUresult cuLinkAddFile(CUlinkState state, CUjitInputType type, const char* path, unsigned int numOptions, CUjit_option* options, void** optionValues);
 CUresult cuLinkComplete(CUlinkState state, void** cubinOut, size_t* sizeOut);
 CUresult cuLinkCreate(unsigned int numOptions, CUjit_option* options, void** optionValues, CUlinkState* stateOut);
 CUresult cuLinkDestroy(CUlinkState state);
 CUresult cuModuleGetFunction(CUfunction* hfunc, CUmodule hmod, const char* name);
 CUresult cuModuleGetGlobal(CUdeviceptr* dptr, size_t* bytes, CUmodule hmod, const char* name);
-CUresult cuModuleGetSurfRef(CUsurfref* pSurfRef, CUmodule hmod, const char* name);
-CUresult cuModuleGetTexRef(CUtexref* pTexRef, CUmodule hmod, const char* name);
 CUresult cuModuleLoad(CUmodule* module, const char* fname);
 CUresult cuModuleLoadData(CUmodule* module, const void* image);
 CUresult cuModuleLoadDataEx(CUmodule* module, const void* image, unsigned int numOptions, CUjit_option* options, void** optionValues);
 CUresult cuModuleLoadFatBinary(CUmodule* module, const void* fatCubin);
 CUresult cuModuleUnload(CUmodule hmod);

4.11. Memory Management#

 CUresult cuArray3DCreate(CUarray* pHandle, const CUDA_ARRAY3D_DESCRIPTOR* pAllocateArray);
 CUresult cuArray3DGetDescriptor(CUDA_ARRAY3D_DESCRIPTOR* pArrayDescriptor, CUarray hArray);
 CUresult cuArrayCreate(CUarray* pHandle, const CUDA_ARRAY_DESCRIPTOR* pAllocateArray);
 CUresult cuArrayDestroy(CUarray hArray);
 CUresult cuArrayGetDescriptor(CUDA_ARRAY_DESCRIPTOR* pArrayDescriptor, CUarray hArray);
 CUresult cuDeviceGetByPCIBusId(CUdevice* dev, const char* pciBusId);
 CUresult cuDeviceGetPCIBusId(char* pciBusId, int len, CUdevice dev);
 CUresult cuIpcCloseMemHandle(CUdeviceptr dptr);
 CUresult cuIpcGetEventHandle(CUipcEventHandle* pHandle, CUevent event);
 CUresult cuIpcGetMemHandle(CUipcMemHandle* pHandle, CUdeviceptr dptr);
 CUresult cuIpcOpenEventHandle(CUevent* phEvent, CUipcEventHandle handle);
 CUresult cuIpcOpenMemHandle(CUdeviceptr* pdptr, CUipcMemHandle handle, unsigned int Flags);
 CUresult cuMemAlloc(CUdeviceptr* dptr, size_t bytesize);
 CUresult cuMemAllocHost(void** pp, size_t bytesize);
 CUresult cuMemAllocManaged(CUdeviceptr* dptr, size_t bytesize, unsigned int flags);
 CUresult cuMemAllocPitch(CUdeviceptr* dptr, size_t* pPitch, size_t WidthInBytes, size_t Height, unsigned int ElementSizeBytes);
 CUresult cuMemFree(CUdeviceptr dptr);
 CUresult cuMemFreeHost(void* p);
 CUresult cuMemGetAddressRange(CUdeviceptr* pbase, size_t* psize, CUdeviceptr dptr);
 CUresult cuMemGetInfo(size_t* free, size_t* total);
 CUresult cuMemHostAlloc(void** pp, size_t bytesize, unsigned int Flags);
 CUresult cuMemHostGetDevicePointer(CUdeviceptr* pdptr, void* p, unsigned int Flags);
 CUresult cuMemHostGetFlags(unsigned int* pFlags, void* p);
 CUresult cuMemHostRegister(void* p, size_t bytesize, unsigned int Flags);
 CUresult cuMemHostUnregister(void* p);
 CUresult cuMemcpy(CUdeviceptr dst, CUdeviceptr src, size_t ByteCount);
 CUresult cuMemcpy2D(const CUDA_MEMCPY2D* pCopy);
 CUresult cuMemcpy2DAsync(const CUDA_MEMCPY2D* pCopy, CUstream hStream);
 CUresult cuMemcpy2DUnaligned(const CUDA_MEMCPY2D* pCopy);
 CUresult cuMemcpy3D(const CUDA_MEMCPY3D* pCopy);
 CUresult cuMemcpy3DAsync(const CUDA_MEMCPY3D* pCopy, CUstream hStream);
-CUresult cuMemcpy3DPeer(const CUDA_MEMCPY3D_PEER* pCopy);
-CUresult cuMemcpy3DPeerAsync(const CUDA_MEMCPY3D_PEER* pCopy, CUstream hStream);
 CUresult cuMemcpyAsync(CUdeviceptr dst, CUdeviceptr src, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyAtoA(CUarray dstArray, size_t dstOffset, CUarray srcArray, size_t srcOffset, size_t ByteCount);
 CUresult cuMemcpyAtoD(CUdeviceptr dstDevice, CUarray srcArray, size_t srcOffset, size_t ByteCount);
 CUresult cuMemcpyAtoH(void* dstHost, CUarray srcArray, size_t srcOffset, size_t ByteCount);
 CUresult cuMemcpyAtoHAsync(void* dstHost, CUarray srcArray, size_t srcOffset, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyDtoA(CUarray dstArray, size_t dstOffset, CUdeviceptr srcDevice, size_t ByteCount);
 CUresult cuMemcpyDtoD(CUdeviceptr dstDevice, CUdeviceptr srcDevice, size_t ByteCount);
 CUresult cuMemcpyDtoDAsync(CUdeviceptr dstDevice, CUdeviceptr srcDevice, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyDtoH(void* dstHost, CUdeviceptr srcDevice, size_t ByteCount);
 CUresult cuMemcpyDtoHAsync(void* dstHost, CUdeviceptr srcDevice, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyHtoA(CUarray dstArray, size_t dstOffset, const void* srcHost, size_t ByteCount);
 CUresult cuMemcpyHtoAAsync(CUarray dstArray, size_t dstOffset, const void* srcHost, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyHtoD(CUdeviceptr dstDevice, const void* srcHost, size_t ByteCount);
 CUresult cuMemcpyHtoDAsync(CUdeviceptr dstDevice, const void* srcHost, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyPeer(CUdeviceptr dstDevice, CUcontext dstContext, CUdeviceptr srcDevice, CUcontext srcContext, size_t ByteCount);
 CUresult cuMemcpyPeerAsync(CUdeviceptr dstDevice, CUcontext dstContext, CUdeviceptr srcDevice, CUcontext srcContext, size_t ByteCount, CUstream hStream);
 CUresult cuMemsetD16(CUdeviceptr dstDevice, unsigned short us, size_t N);
 CUresult cuMemsetD16Async(CUdeviceptr dstDevice, unsigned short us, size_t N, CUstream hStream);
 CUresult cuMemsetD2D16(CUdeviceptr dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height);
 CUresult cuMemsetD2D16Async(CUdeviceptr dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height, CUstream hStream);
 CUresult cuMemsetD2D32(CUdeviceptr dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height);
 CUresult cuMemsetD2D32Async(CUdeviceptr dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height, CUstream hStream);
 CUresult cuMemsetD2D8(CUdeviceptr dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height);
 CUresult cuMemsetD2D8Async(CUdeviceptr dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height, CUstream hStream);
 CUresult cuMemsetD32(CUdeviceptr dstDevice, unsigned int ui, size_t N);
 CUresult cuMemsetD32Async(CUdeviceptr dstDevice, unsigned int ui, size_t N, CUstream hStream);
 CUresult cuMemsetD8(CUdeviceptr dstDevice, unsigned char uc, size_t N);
 CUresult cuMemsetD8Async(CUdeviceptr dstDevice, unsigned char uc, size_t N, CUstream hStream);
 CUresult cuMipmappedArrayCreate(CUmipmappedArray* pHandle, const CUDA_ARRAY3D_DESCRIPTOR* pMipmappedArrayDesc, unsigned int numMipmapLevels);
 CUresult cuMipmappedArrayDestroy(CUmipmappedArray hMipmappedArray);
 CUresult cuMipmappedArrayGetLevel(CUarray* pLevelArray, CUmipmappedArray hMipmappedArray, unsigned int level);

4.12. Unified Addressing#

 CUresult cuMemAdvise(CUdeviceptr devPtr, size_t count, CUmem_advise advice, CUdevice device);
 CUresult cuMemPrefetchAsync(CUdeviceptr devPtr, size_t count, CUdevice dstDevice, CUstream hStream);
 CUresult cuMemRangeGetAttribute(void* data, size_t dataSize, CUmem_range_attribute attribute, CUdeviceptr devPtr, size_t count);
 CUresult cuMemRangeGetAttributes(void** data, size_t* dataSizes, CUmem_range_attribute* attributes, size_t numAttributes, CUdeviceptr devPtr, size_t count);
 CUresult cuPointerGetAttribute(void* data, CUpointer_attribute attribute, CUdeviceptr ptr);
 CUresult cuPointerGetAttributes(unsigned int numAttributes, CUpointer_attribute* attributes, void** data, CUdeviceptr ptr);
 CUresult cuPointerSetAttribute(const void* value, CUpointer_attribute attribute, CUdeviceptr ptr);

4.13. Stream Management#

 CUresult cuStreamAddCallback(CUstream hStream, CUstreamCallback callback, void* userData, unsigned int flags);
 CUresult cuStreamAttachMemAsync(CUstream hStream, CUdeviceptr dptr, size_t length, unsigned int flags);
 CUresult cuStreamCreate(CUstream* phStream, unsigned int Flags);
 CUresult cuStreamCreateWithPriority(CUstream* phStream, unsigned int flags, int priority);
 CUresult cuStreamDestroy(CUstream hStream);
 CUresult cuStreamGetFlags(CUstream hStream, unsigned int* flags);
 CUresult cuStreamGetPriority(CUstream hStream, int* priority);
 CUresult cuStreamQuery(CUstream hStream);
 CUresult cuStreamSynchronize(CUstream hStream);
 CUresult cuStreamWaitEvent(CUstream hStream, CUevent hEvent, unsigned int Flags);

4.14. Event Management#

 CUresult cuEventCreate(CUevent* phEvent, unsigned int Flags);
 CUresult cuEventDestroy(CUevent hEvent);
 CUresult cuEventElapsedTime(float* pMilliseconds, CUevent hStart, CUevent hEnd);
 CUresult cuEventQuery(CUevent hEvent);
 CUresult cuEventRecord(CUevent hEvent, CUstream hStream);
 CUresult cuEventSynchronize(CUevent hEvent);
-CUresult cuStreamBatchMemOp(CUstream stream, unsigned int count, CUstreamBatchMemOpParams* paramArray, unsigned int flags);
-CUresult cuStreamWaitValue32(CUstream stream, CUdeviceptr addr, cuuint32_t value, unsigned int flags);
 CUresult cuStreamWriteValue32(CUstream stream, CUdeviceptr addr, cuuint32_t value, unsigned int flags);

4.15. Execution Control#

 CUresult cuFuncGetAttribute(int* pi, CUfunction_attribute attrib, CUfunction hfunc);
 CUresult cuFuncSetCacheConfig(CUfunction hfunc, CUfunc_cache config);
 CUresult cuFuncSetSharedMemConfig(CUfunction hfunc, CUsharedconfig config);
 CUresult 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);

4.16. Execution Control [DEPRECATED]#

 CUresult cuFuncSetBlockShape(CUfunction hfunc, int x, int y, int z);
 CUresult cuFuncSetSharedSize(CUfunction hfunc, unsigned int bytes);
 CUresult cuLaunch(CUfunction f);
 CUresult cuLaunchGrid(CUfunction f, int grid_width, int grid_height);
 CUresult cuLaunchGridAsync(CUfunction f, int grid_width, int grid_height, CUstream hStream);
 CUresult cuParamSetSize(CUfunction hfunc, unsigned int numbytes);
-CUresult cuParamSetTexRef(CUfunction hfunc, int texunit, CUtexref hTexRef);
 CUresult cuParamSetf(CUfunction hfunc, int offset, float value);
 CUresult cuParamSeti(CUfunction hfunc, int offset, unsigned int value);
 CUresult cuParamSetv(CUfunction hfunc, int offset, void* ptr, unsigned int numbytes);

4.17. Occupancy#

 CUresult cuOccupancyMaxActiveBlocksPerMultiprocessor(int* numBlocks, CUfunction func, int blockSize, size_t dynamicSMemSize);
 CUresult cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int* numBlocks, CUfunction func, int blockSize, size_t dynamicSMemSize, unsigned int flags);
 CUresult cuOccupancyMaxPotentialBlockSize(int* minGridSize, int* blockSize, CUfunction func, CUoccupancyB2DSize blockSizeToDynamicSMemSize, size_t dynamicSMemSize, int blockSizeLimit);
 CUresult cuOccupancyMaxPotentialBlockSizeWithFlags(int* minGridSize, int* blockSize, CUfunction func, CUoccupancyB2DSize blockSizeToDynamicSMemSize, size_t dynamicSMemSize, int blockSizeLimit, unsigned int flags);

4.18. Texture Reference Management#

 CUresult cuTexRefGetAddress(CUdeviceptr* pdptr, CUtexref hTexRef);
 CUresult cuTexRefGetAddressMode(CUaddress_mode* pam, CUtexref hTexRef, int dim);
 CUresult cuTexRefGetArray(CUarray* phArray, CUtexref hTexRef);
-CUresult cuTexRefGetBorderColor(float* pBorderColor, CUtexref hTexRef);
 CUresult cuTexRefGetFilterMode(CUfilter_mode* pfm, CUtexref hTexRef);
-CUresult cuTexRefGetFlags(unsigned int* pFlags, CUtexref hTexRef);
-CUresult cuTexRefGetFormat(CUarray_format* pFormat, int* pNumChannels, CUtexref hTexRef);
-CUresult cuTexRefGetMaxAnisotropy(int* pmaxAniso, CUtexref hTexRef);
-CUresult cuTexRefGetMipmapFilterMode(CUfilter_mode* pfm, CUtexref hTexRef);
-CUresult cuTexRefGetMipmapLevelBias(float* pbias, CUtexref hTexRef);
-CUresult cuTexRefGetMipmapLevelClamp(float* pminMipmapLevelClamp, float* pmaxMipmapLevelClamp, CUtexref hTexRef);
-CUresult cuTexRefGetMipmappedArray(CUmipmappedArray* phMipmappedArray, CUtexref hTexRef);
-CUresult cuTexRefSetAddress(size_t* ByteOffset, CUtexref hTexRef, CUdeviceptr dptr, size_t bytes);
-CUresult cuTexRefSetAddress2D(CUtexref hTexRef, const CUDA_ARRAY_DESCRIPTOR* desc, CUdeviceptr dptr, size_t Pitch);
-CUresult cuTexRefSetAddressMode(CUtexref hTexRef, int dim, CUaddress_mode am);
-CUresult cuTexRefSetArray(CUtexref hTexRef, CUarray hArray, unsigned int Flags);
-CUresult cuTexRefSetBorderColor(CUtexref hTexRef, float* pBorderColor);
-CUresult cuTexRefSetFilterMode(CUtexref hTexRef, CUfilter_mode fm);
-CUresult cuTexRefSetFlags(CUtexref hTexRef, unsigned int Flags);
-CUresult cuTexRefSetFormat(CUtexref hTexRef, CUarray_format fmt, int NumPackedComponents);
-CUresult cuTexRefSetMaxAnisotropy(CUtexref hTexRef, unsigned int maxAniso);
-CUresult cuTexRefSetMipmapFilterMode(CUtexref hTexRef, CUfilter_mode fm);
-CUresult cuTexRefSetMipmapLevelBias(CUtexref hTexRef, float bias);
-CUresult cuTexRefSetMipmapLevelClamp(CUtexref hTexRef, float minMipmapLevelClamp, float maxMipmapLevelClamp);
-CUresult cuTexRefSetMipmappedArray(CUtexref hTexRef, CUmipmappedArray hMipmappedArray, unsigned int Flags);

4.19. Texture Reference Management [DEPRECATED]#

 CUresult cuTexRefCreate(CUtexref* pTexRef);
 CUresult cuTexRefDestroy(CUtexref hTexRef);

4.20. Surface Reference Management#

-CUresult cuSurfRefGetArray(CUarray* phArray, CUsurfref hSurfRef);
-CUresult cuSurfRefSetArray(CUsurfref hSurfRef, CUarray hArray, unsigned int Flags);

4.21. Texture Object Management#

 CUresult cuTexObjectCreate(CUtexObject* pTexObject, const CUDA_RESOURCE_DESC* pResDesc, const CUDA_TEXTURE_DESC* pTexDesc, const CUDA_RESOURCE_VIEW_DESC* pResViewDesc);
 CUresult cuTexObjectDestroy(CUtexObject texObject);
 CUresult cuTexObjectGetResourceDesc(CUDA_RESOURCE_DESC* pResDesc, CUtexObject texObject);
 CUresult cuTexObjectGetResourceViewDesc(CUDA_RESOURCE_VIEW_DESC* pResViewDesc, CUtexObject texObject);
 CUresult cuTexObjectGetTextureDesc(CUDA_TEXTURE_DESC* pTexDesc, CUtexObject texObject);

4.22. Surface Object Management#

 CUresult cuSurfObjectCreate(CUsurfObject* pSurfObject, const CUDA_RESOURCE_DESC* pResDesc);
 CUresult cuSurfObjectDestroy(CUsurfObject surfObject);
 CUresult cuSurfObjectGetResourceDesc(CUDA_RESOURCE_DESC* pResDesc, CUsurfObject surfObject);

4.23. Peer Context Memory Access#

 CUresult cuCtxDisablePeerAccess(CUcontext peerContext);
 CUresult cuCtxEnablePeerAccess(CUcontext peerContext, unsigned int Flags);
 CUresult cuDeviceCanAccessPeer(int* canAccessPeer, CUdevice dev, CUdevice peerDev);
 CUresult cuDeviceGetP2PAttribute(int* value, CUdevice_P2PAttribute attrib, CUdevice srcDevice, CUdevice dstDevice);

4.24. Graphics Interoperability#

 CUresult cuGraphicsMapResources(unsigned int count, CUgraphicsResource* resources, CUstream hStream);
-CUresult cuGraphicsResourceGetMappedMipmappedArray(CUmipmappedArray* pMipmappedArray, CUgraphicsResource resource);
 CUresult cuGraphicsResourceGetMappedPointer(CUdeviceptr* pDevPtr, size_t* pSize, CUgraphicsResource resource);
 CUresult cuGraphicsResourceSetMapFlags(CUgraphicsResource resource, unsigned int flags);
 CUresult cuGraphicsSubResourceGetMappedArray(CUarray* pArray, CUgraphicsResource resource, unsigned int arrayIndex, unsigned int mipLevel);
 CUresult cuGraphicsUnmapResources(unsigned int count, CUgraphicsResource* resources, CUstream hStream);
 CUresult cuGraphicsUnregisterResource(CUgraphicsResource resource);

4.25. Profiler Control#

 CUresult cuProfilerInitialize(const char* configFile, const char* outputFile, CUoutput_mode outputMode);
 CUresult cuProfilerStart(void);
 CUresult cuProfilerStop(void);

4.26. OpenGL Interoperability#

 enum CUGLDeviceList
     CU_GL_DEVICE_LIST_ALL = 1
     CU_GL_DEVICE_LIST_CURRENT_FRAME = 2
     CU_GL_DEVICE_LIST_NEXT_FRAME = 3
 CUresult cuGLGetDevices(unsigned int* pCudaDeviceCount, CUdevice* pCudaDevices, unsigned int cudaDeviceCount, CUGLDeviceList deviceList);
 CUresult cuGraphicsGLRegisterBuffer(CUgraphicsResource* pCudaResource, GLuint buffer, unsigned int Flags);
 CUresult cuGraphicsGLRegisterImage(CUgraphicsResource* pCudaResource, GLuint image, GLenum target, unsigned int Flags);
-CUresult cuWGLGetDevice(CUdevice* pDevice, HGPUNV hGpu);

4.26.1. OpenGL Interoperability [DEPRECATED]#

 enum CUGLmap_flags
     CU_GL_MAP_RESOURCE_FLAGS_NONE = 0
     CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY = 1
     CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 2
 CUresult cuGLCtxCreate(CUcontext* pCtx, unsigned int Flags, CUdevice device);
 CUresult cuGLInit(void);
 CUresult cuGLMapBufferObject(CUdeviceptr* dptr, size_t* size, GLuint buffer);
 CUresult cuGLMapBufferObjectAsync(CUdeviceptr* dptr, size_t* size, GLuint buffer, CUstream hStream);
 CUresult cuGLRegisterBufferObject(GLuint buffer);
 CUresult cuGLSetBufferObjectMapFlags(GLuint buffer, unsigned int Flags);
 CUresult cuGLUnmapBufferObject(GLuint buffer);
 CUresult cuGLUnmapBufferObjectAsync(GLuint buffer, CUstream hStream);
 CUresult cuGLUnregisterBufferObject(GLuint buffer);

4.27. Direct3D 9 Interoperability#

-Windows APIs are currently unsupported

4.27.1. Direct3D 9 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

4.28. Direct3D 10 Interoperability#

-Windows APIs are currently unsupported

4.28.1. Direct3D 10 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

4.29. Direct3D 11 Interoperability#

-Windows APIs are currently unsupported

4.29.1. Direct3D 11 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

4.30. VDPAU Interoperability#

-VDPAU is currently unsupported

4.31. EGL Interoperability#

-EGL is currently unsupported

82% (274 of 336 declarations available)

4.1. Data types used by CUDA driver#

 #define CUDA_ARRAY3D_2DARRAY
 #define CUDA_ARRAY3D_CUBEMAP
 #define CUDA_ARRAY3D_DEPTH_TEXTURE
 #define CUDA_ARRAY3D_LAYERED
 #define CUDA_ARRAY3D_SURFACE_LDST
 #define CUDA_ARRAY3D_TEXTURE_GATHER
-#define CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC
-#define CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC
 #define CUDA_VERSION
 #define CU_DEVICE_CPU
 #define CU_DEVICE_INVALID
 #define CU_IPC_HANDLE_SIZE
 #define CU_LAUNCH_PARAM_BUFFER_POINTER
 #define CU_LAUNCH_PARAM_BUFFER_SIZE
 #define CU_LAUNCH_PARAM_END
 #define CU_MEMHOSTALLOC_DEVICEMAP
 #define CU_MEMHOSTALLOC_PORTABLE
 #define CU_MEMHOSTALLOC_WRITECOMBINED
 #define CU_MEMHOSTREGISTER_DEVICEMAP
 #define CU_MEMHOSTREGISTER_IOMEMORY
 #define CU_MEMHOSTREGISTER_PORTABLE
-#define CU_PARAM_TR_DEFAULT
 #define CU_STREAM_LEGACY
 #define CU_STREAM_PER_THREAD
-#define CU_TRSA_OVERRIDE_FORMAT
 #define CU_TRSF_NORMALIZED_COORDINATES
 #define CU_TRSF_READ_AS_INTEGER
 #define CU_TRSF_SRGB
-#define MAX_PLANES
 enum CUaddress_mode
     CU_TR_ADDRESS_MODE_WRAP = 0
     CU_TR_ADDRESS_MODE_CLAMP = 1
     CU_TR_ADDRESS_MODE_MIRROR = 2
     CU_TR_ADDRESS_MODE_BORDER = 3
 enum CUarray_cubemap_face
     CU_CUBEMAP_FACE_POSITIVE_X = 0
     CU_CUBEMAP_FACE_NEGATIVE_X = 1
     CU_CUBEMAP_FACE_POSITIVE_Y = 2
     CU_CUBEMAP_FACE_NEGATIVE_Y = 3
     CU_CUBEMAP_FACE_POSITIVE_Z = 4
     CU_CUBEMAP_FACE_NEGATIVE_Z = 5
 enum CUarray_format
     CU_AD_FORMAT_UNSIGNED_INT8 = 1
     CU_AD_FORMAT_UNSIGNED_INT16 = 2
     CU_AD_FORMAT_UNSIGNED_INT32 = 3
     CU_AD_FORMAT_SIGNED_INT8 = 8
     CU_AD_FORMAT_SIGNED_INT16 = 9
     CU_AD_FORMAT_SIGNED_INT32 = 10
     CU_AD_FORMAT_HALF = 16
     CU_AD_FORMAT_FLOAT = 32
 enum CUcomputemode
     CU_COMPUTEMODE_DEFAULT = 0
     CU_COMPUTEMODE_PROHIBITED = 2
     CU_COMPUTEMODE_EXCLUSIVE_PROCESS = 3
 enum CUctx_flags
     CU_CTX_SCHED_AUTO = 0
     CU_CTX_SCHED_SPIN = 1
     CU_CTX_SCHED_YIELD = 2
     CU_CTX_SCHED_BLOCKING_SYNC = 4
     CU_CTX_BLOCKING_SYNC = 4
     CU_CTX_SCHED_MASK = 7
     CU_CTX_MAP_HOST = 8
     CU_CTX_LMEM_RESIZE_TO_MAX = 16
-    CU_CTX_FLAGS_MASK = 31
 enum CUdevice_P2PAttribute
     CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK = 1
     CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED = 2
     CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED = 3
-    CU_DEVICE_P2P_ATTRIBUTE_ARRAY_ACCESS_ACCESS_SUPPORTED = 4
 enum CUdevice_attribute
     CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1
     CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = 2
     CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y = 3
     CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z = 4
     CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = 5
     CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y = 6
     CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z = 7
     CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK = 8
     CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK = 8
     CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY = 9
     CU_DEVICE_ATTRIBUTE_WARP_SIZE = 10
     CU_DEVICE_ATTRIBUTE_MAX_PITCH = 11
     CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK = 12
     CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK = 12
     CU_DEVICE_ATTRIBUTE_CLOCK_RATE = 13
     CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT = 14
     CU_DEVICE_ATTRIBUTE_GPU_OVERLAP = 15
     CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT = 16
     CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT = 17
     CU_DEVICE_ATTRIBUTE_INTEGRATED = 18
     CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY = 19
     CU_DEVICE_ATTRIBUTE_COMPUTE_MODE = 20
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH = 21
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH = 22
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT = 23
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH = 24
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT = 25
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH = 26
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH = 27
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT = 28
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS = 29
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH = 27
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT = 28
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES = 29
     CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT = 30
     CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS = 31
     CU_DEVICE_ATTRIBUTE_ECC_ENABLED = 32
     CU_DEVICE_ATTRIBUTE_PCI_BUS_ID = 33
     CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID = 34
     CU_DEVICE_ATTRIBUTE_TCC_DRIVER = 35
     CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE = 36
     CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH = 37
     CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE = 38
     CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR = 39
     CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT = 40
     CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING = 41
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH = 42
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS = 43
     CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER = 44
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH = 45
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT = 46
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE = 47
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE = 48
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE = 49
     CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID = 50
     CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT = 51
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH = 52
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH = 53
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS = 54
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH = 55
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH = 56
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT = 57
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH = 58
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT = 59
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH = 60
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH = 61
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS = 62
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH = 63
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT = 64
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS = 65
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH = 66
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH = 67
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS = 68
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH = 69
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH = 70
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT = 71
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH = 72
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH = 73
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT = 74
     CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR = 75
     CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR = 76
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH = 77
     CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED = 78
     CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED = 79
     CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED = 80
     CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR = 81
     CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR = 82
     CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY = 83
     CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD = 84
     CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID = 85
     CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED = 86
     CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO = 87
     CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS = 88
     CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS = 89
     CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED = 90
     CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM = 91
-    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS = 92
-    CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS = 93
-    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR = 94
     CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH = 95
     CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH = 96
     CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN = 97
     CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES = 98
     CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED = 99
     CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES = 100
     CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST = 101
-    CU_DEVICE_ATTRIBUTE_MAX = 102
-enum CUeglColorFormat
-enum CUeglFrameType
-enum CUeglResourceLocationFlags
 enum CUevent_flags
     CU_EVENT_DEFAULT = 0
     CU_EVENT_BLOCKING_SYNC = 1
     CU_EVENT_DISABLE_TIMING = 2
     CU_EVENT_INTERPROCESS = 4
 enum CUfilter_mode
     CU_TR_FILTER_MODE_POINT = 0
     CU_TR_FILTER_MODE_LINEAR = 1
 enum CUfunc_cache
     CU_FUNC_CACHE_PREFER_NONE = 0
     CU_FUNC_CACHE_PREFER_SHARED = 1
     CU_FUNC_CACHE_PREFER_L1 = 2
     CU_FUNC_CACHE_PREFER_EQUAL = 3
 enum CUfunction_attribute
     CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 0
     CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES = 1
     CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES = 2
     CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES = 3
     CU_FUNC_ATTRIBUTE_NUM_REGS = 4
     CU_FUNC_ATTRIBUTE_PTX_VERSION = 5
     CU_FUNC_ATTRIBUTE_BINARY_VERSION = 6
     CU_FUNC_ATTRIBUTE_CACHE_MODE_CA = 7
     CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES = 8
     CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = 9
-    CU_FUNC_ATTRIBUTE_MAX = 10
 enum CUgraphicsMapResourceFlags
     CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE = 0
     CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY = 1
     CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 2
 enum CUgraphicsRegisterFlags
     CU_GRAPHICS_REGISTER_FLAGS_NONE = 0
     CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY = 1
     CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD = 2
     CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST = 4
     CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER = 8
-enum CUipcMem_flags
 enum CUjitInputType
     CU_JIT_INPUT_CUBIN = 0
     CU_JIT_INPUT_PTX = 1
     CU_JIT_INPUT_FATBINARY = 2
     CU_JIT_INPUT_OBJECT = 3
     CU_JIT_INPUT_LIBRARY = 4
-    CU_JIT_NUM_INPUT_TYPES = 5
-enum CUjit_cacheMode
-enum CUjit_fallback
 enum CUjit_option
     CU_JIT_MAX_REGISTERS = 0
     CU_JIT_THREADS_PER_BLOCK = 1
     CU_JIT_WALL_TIME = 2
     CU_JIT_INFO_LOG_BUFFER = 3
     CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES = 4
     CU_JIT_ERROR_LOG_BUFFER = 5
     CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES = 6
     CU_JIT_OPTIMIZATION_LEVEL = 7
     CU_JIT_TARGET_FROM_CUCONTEXT = 8
     CU_JIT_TARGET = 9
     CU_JIT_FALLBACK_STRATEGY = 10
     CU_JIT_GENERATE_DEBUG_INFO = 11
     CU_JIT_LOG_VERBOSE = 12
     CU_JIT_GENERATE_LINE_INFO = 13
     CU_JIT_CACHE_MODE = 14
     CU_JIT_NEW_SM3X_OPT = 15
     CU_JIT_FAST_COMPILE = 16
-    CU_JIT_NUM_OPTIONS = 17
-enum CUjit_target
 enum CUlimit
     CU_LIMIT_STACK_SIZE = 0
     CU_LIMIT_PRINTF_FIFO_SIZE = 1
     CU_LIMIT_MALLOC_HEAP_SIZE = 2
     CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH = 3
     CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT = 4
-    CU_LIMIT_MAX = 5
 enum CUmemAttach_flags
     CU_MEM_ATTACH_GLOBAL = 1
     CU_MEM_ATTACH_HOST = 2
     CU_MEM_ATTACH_SINGLE = 4
 enum CUmem_advise
     CU_MEM_ADVISE_SET_READ_MOSTLY = 1
     CU_MEM_ADVISE_UNSET_READ_MOSTLY = 2
     CU_MEM_ADVISE_SET_PREFERRED_LOCATION = 3
     CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION = 4
     CU_MEM_ADVISE_SET_ACCESSED_BY = 5
     CU_MEM_ADVISE_UNSET_ACCESSED_BY = 6
 enum CUmemorytype
     CU_MEMORYTYPE_HOST = 1
     CU_MEMORYTYPE_DEVICE = 2
     CU_MEMORYTYPE_ARRAY = 3
     CU_MEMORYTYPE_UNIFIED = 4
 enum CUoccupancy_flags
     CU_OCCUPANCY_DEFAULT = 0
     CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE = 1
 enum CUpointer_attribute
     CU_POINTER_ATTRIBUTE_CONTEXT = 1
     CU_POINTER_ATTRIBUTE_MEMORY_TYPE = 2
     CU_POINTER_ATTRIBUTE_DEVICE_POINTER = 3
     CU_POINTER_ATTRIBUTE_HOST_POINTER = 4
     CU_POINTER_ATTRIBUTE_P2P_TOKENS = 5
     CU_POINTER_ATTRIBUTE_SYNC_MEMOPS = 6
     CU_POINTER_ATTRIBUTE_BUFFER_ID = 7
     CU_POINTER_ATTRIBUTE_IS_MANAGED = 8
     CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL = 9
 enum CUresourceViewFormat
     CU_RES_VIEW_FORMAT_NONE = 0
     CU_RES_VIEW_FORMAT_UINT_1X8 = 1
     CU_RES_VIEW_FORMAT_UINT_2X8 = 2
     CU_RES_VIEW_FORMAT_UINT_4X8 = 3
     CU_RES_VIEW_FORMAT_SINT_1X8 = 4
     CU_RES_VIEW_FORMAT_SINT_2X8 = 5
     CU_RES_VIEW_FORMAT_SINT_4X8 = 6
     CU_RES_VIEW_FORMAT_UINT_1X16 = 7
     CU_RES_VIEW_FORMAT_UINT_2X16 = 8
     CU_RES_VIEW_FORMAT_UINT_4X16 = 9
     CU_RES_VIEW_FORMAT_SINT_1X16 = 10
     CU_RES_VIEW_FORMAT_SINT_2X16 = 11
     CU_RES_VIEW_FORMAT_SINT_4X16 = 12
     CU_RES_VIEW_FORMAT_UINT_1X32 = 13
     CU_RES_VIEW_FORMAT_UINT_2X32 = 14
     CU_RES_VIEW_FORMAT_UINT_4X32 = 15
     CU_RES_VIEW_FORMAT_SINT_1X32 = 16
     CU_RES_VIEW_FORMAT_SINT_2X32 = 17
     CU_RES_VIEW_FORMAT_SINT_4X32 = 18
     CU_RES_VIEW_FORMAT_FLOAT_1X16 = 19
     CU_RES_VIEW_FORMAT_FLOAT_2X16 = 20
     CU_RES_VIEW_FORMAT_FLOAT_4X16 = 21
     CU_RES_VIEW_FORMAT_FLOAT_1X32 = 22
     CU_RES_VIEW_FORMAT_FLOAT_2X32 = 23
     CU_RES_VIEW_FORMAT_FLOAT_4X32 = 24
     CU_RES_VIEW_FORMAT_UNSIGNED_BC1 = 25
     CU_RES_VIEW_FORMAT_UNSIGNED_BC2 = 26
     CU_RES_VIEW_FORMAT_UNSIGNED_BC3 = 27
     CU_RES_VIEW_FORMAT_UNSIGNED_BC4 = 28
     CU_RES_VIEW_FORMAT_SIGNED_BC4 = 29
     CU_RES_VIEW_FORMAT_UNSIGNED_BC5 = 30
     CU_RES_VIEW_FORMAT_SIGNED_BC5 = 31
     CU_RES_VIEW_FORMAT_UNSIGNED_BC6H = 32
     CU_RES_VIEW_FORMAT_SIGNED_BC6H = 33
     CU_RES_VIEW_FORMAT_UNSIGNED_BC7 = 34
 enum CUresourcetype
     CU_RESOURCE_TYPE_ARRAY = 0
     CU_RESOURCE_TYPE_MIPMAPPED_ARRAY = 1
     CU_RESOURCE_TYPE_LINEAR = 2
     CU_RESOURCE_TYPE_PITCH2D = 3
 enum CUresult
     CUDA_SUCCESS = 0
     CUDA_ERROR_INVALID_VALUE = 1
     CUDA_ERROR_OUT_OF_MEMORY = 2
     CUDA_ERROR_NOT_INITIALIZED = 3
     CUDA_ERROR_DEINITIALIZED = 4
     CUDA_ERROR_PROFILER_DISABLED = 5
     CUDA_ERROR_PROFILER_NOT_INITIALIZED = 6
     CUDA_ERROR_PROFILER_ALREADY_STARTED = 7
     CUDA_ERROR_PROFILER_ALREADY_STOPPED = 8
     CUDA_ERROR_NO_DEVICE = 100
     CUDA_ERROR_INVALID_DEVICE = 101
     CUDA_ERROR_INVALID_IMAGE = 200
     CUDA_ERROR_INVALID_CONTEXT = 201
     CUDA_ERROR_CONTEXT_ALREADY_CURRENT = 202
     CUDA_ERROR_MAP_FAILED = 205
     CUDA_ERROR_UNMAP_FAILED = 206
     CUDA_ERROR_ARRAY_IS_MAPPED = 207
     CUDA_ERROR_ALREADY_MAPPED = 208
     CUDA_ERROR_NO_BINARY_FOR_GPU = 209
     CUDA_ERROR_ALREADY_ACQUIRED = 210
     CUDA_ERROR_NOT_MAPPED = 211
     CUDA_ERROR_NOT_MAPPED_AS_ARRAY = 212
     CUDA_ERROR_NOT_MAPPED_AS_POINTER = 213
     CUDA_ERROR_ECC_UNCORRECTABLE = 214
     CUDA_ERROR_UNSUPPORTED_LIMIT = 215
     CUDA_ERROR_CONTEXT_ALREADY_IN_USE = 216
     CUDA_ERROR_PEER_ACCESS_UNSUPPORTED = 217
     CUDA_ERROR_INVALID_PTX = 218
     CUDA_ERROR_INVALID_GRAPHICS_CONTEXT = 219
     CUDA_ERROR_NVLINK_UNCORRECTABLE = 220
     CUDA_ERROR_JIT_COMPILER_NOT_FOUND = 221
     CUDA_ERROR_INVALID_SOURCE = 300
     CUDA_ERROR_FILE_NOT_FOUND = 301
     CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND = 302
     CUDA_ERROR_SHARED_OBJECT_INIT_FAILED = 303
     CUDA_ERROR_OPERATING_SYSTEM = 304
     CUDA_ERROR_INVALID_HANDLE = 400
     CUDA_ERROR_NOT_FOUND = 500
     CUDA_ERROR_NOT_READY = 600
     CUDA_ERROR_ILLEGAL_ADDRESS = 700
     CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES = 701
     CUDA_ERROR_LAUNCH_TIMEOUT = 702
     CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING = 703
     CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED = 704
     CUDA_ERROR_PEER_ACCESS_NOT_ENABLED = 705
     CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE = 708
     CUDA_ERROR_CONTEXT_IS_DESTROYED = 709
     CUDA_ERROR_ASSERT = 710
     CUDA_ERROR_TOO_MANY_PEERS = 711
     CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED = 712
     CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED = 713
     CUDA_ERROR_HARDWARE_STACK_ERROR = 714
     CUDA_ERROR_ILLEGAL_INSTRUCTION = 715
     CUDA_ERROR_MISALIGNED_ADDRESS = 716
     CUDA_ERROR_INVALID_ADDRESS_SPACE = 717
     CUDA_ERROR_INVALID_PC = 718
     CUDA_ERROR_LAUNCH_FAILED = 719
     CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE = 720
     CUDA_ERROR_NOT_PERMITTED = 800
     CUDA_ERROR_NOT_SUPPORTED = 801
     CUDA_ERROR_UNKNOWN = 999
 enum CUshared_carveout
     CU_SHAREDMEM_CARVEOUT_DEFAULT = 18446744073709551615
     CU_SHAREDMEM_CARVEOUT_MAX_SHARED = 100
     CU_SHAREDMEM_CARVEOUT_MAX_L1 = 0
 enum CUsharedconfig
     CU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE = 0
     CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE = 1
     CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE = 2
-enum CUstreamBatchMemOpType
-enum CUstreamWaitValue_flags
 enum CUstreamWriteValue_flags
     CU_STREAM_WRITE_VALUE_DEFAULT = 0
     CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER = 1
 enum CUstream_flags
     CU_STREAM_DEFAULT = 0
     CU_STREAM_NON_BLOCKING = 1
struct CUDA_ARRAY3D_DESCRIPTOR
struct CUDA_ARRAY_DESCRIPTOR
struct CUDA_LAUNCH_PARAMS
struct CUDA_MEMCPY2D
struct CUDA_MEMCPY3D
struct CUDA_MEMCPY3D_PEER
-struct CUDA_POINTER_ATTRIBUTE_P2P_TOKENS
struct CUDA_RESOURCE_DESC
struct CUDA_RESOURCE_VIEW_DESC
struct CUDA_TEXTURE_DESC
struct CUdevprop
-struct CUeglFrame
struct CUipcEventHandle
struct CUipcMemHandle
union CUstreamBatchMemOpParams
 typedef CUarray_st * CUarray;
 typedef CUctx_st * CUcontext;
 typedef int CUdevice;
-typedef unsigned int CUdeviceptr;
-typedef CUeglStreamConnection_st * CUeglStreamConnection;
 typedef CUevent_st * CUevent;
 typedef CUfunc_st * CUfunction;
 typedef CUgraphicsResource_st * CUgraphicsResource;
 typedef CUmipmappedArray_st * CUmipmappedArray;
 typedef CUmod_st * CUmodule;
 typedef size_t(* CUoccupancyB2DSize)(int blockSize);
 typedef CUstream_st * CUstream;
 typedef void(* CUstreamCallback)(CUstream hStream, CUresult status, void* userData);
 typedef unsigned long long CUsurfObject;
-typedef CUsurfref_st * CUsurfref;
 typedef unsigned long long CUtexObject;
 typedef CUtexref_st * CUtexref;

4.2. Error Handling#

 CUresult cuGetErrorName(CUresult error, const char** pStr);
 CUresult cuGetErrorString(CUresult error, const char** pStr);

4.3. Initialization#

 CUresult cuInit(unsigned int Flags);

4.4. Version Management#

 CUresult cuDriverGetVersion(int* driverVersion);

4.5. Device Management#

 CUresult cuDeviceGet(CUdevice* device, int ordinal);
 CUresult cuDeviceGetAttribute(int* pi, CUdevice_attribute attrib, CUdevice dev);
 CUresult cuDeviceGetCount(int* count);
 CUresult cuDeviceGetName(char* name, int len, CUdevice dev);
 CUresult cuDeviceGetUuid(CUuuid* uuid, CUdevice dev);
 CUresult cuDeviceTotalMem(size_t* bytes, CUdevice dev);

4.6. Device Management [DEPRECATED]#

 CUresult cuDeviceComputeCapability(int* major, int* minor, CUdevice dev);
 CUresult cuDeviceGetProperties(CUdevprop* prop, CUdevice dev);

4.7. Primary Context Management#

 CUresult cuDevicePrimaryCtxGetState(CUdevice dev, unsigned int* flags, int* active);
 CUresult cuDevicePrimaryCtxRelease(CUdevice dev);
 CUresult cuDevicePrimaryCtxReset(CUdevice dev);
 CUresult cuDevicePrimaryCtxRetain(CUcontext* pctx, CUdevice dev);
 CUresult cuDevicePrimaryCtxSetFlags(CUdevice dev, unsigned int flags);

4.8. Context Management#

 CUresult cuCtxCreate(CUcontext* pctx, unsigned int flags, CUdevice dev);
 CUresult cuCtxDestroy(CUcontext ctx);
 CUresult cuCtxGetApiVersion(CUcontext ctx, unsigned int* version);
 CUresult cuCtxGetCacheConfig(CUfunc_cache* pconfig);
 CUresult cuCtxGetCurrent(CUcontext* pctx);
 CUresult cuCtxGetDevice(CUdevice* device);
 CUresult cuCtxGetFlags(unsigned int* flags);
 CUresult cuCtxGetLimit(size_t* pvalue, CUlimit limit);
 CUresult cuCtxGetSharedMemConfig(CUsharedconfig* pConfig);
 CUresult cuCtxGetStreamPriorityRange(int* leastPriority, int* greatestPriority);
 CUresult cuCtxPopCurrent(CUcontext* pctx);
 CUresult cuCtxPushCurrent(CUcontext ctx);
 CUresult cuCtxSetCacheConfig(CUfunc_cache config);
 CUresult cuCtxSetCurrent(CUcontext ctx);
 CUresult cuCtxSetLimit(CUlimit limit, size_t value);
 CUresult cuCtxSetSharedMemConfig(CUsharedconfig config);
 CUresult cuCtxSynchronize(void);

4.9. Context Management [DEPRECATED]#

 CUresult cuCtxAttach(CUcontext* pctx, unsigned int flags);
 CUresult cuCtxDetach(CUcontext ctx);

4.10. Module Management#

 CUresult cuLinkAddData(CUlinkState state, CUjitInputType type, void* data, size_t size, const char* name, unsigned int numOptions, CUjit_option* options, void** optionValues);
 CUresult cuLinkAddFile(CUlinkState state, CUjitInputType type, const char* path, unsigned int numOptions, CUjit_option* options, void** optionValues);
 CUresult cuLinkComplete(CUlinkState state, void** cubinOut, size_t* sizeOut);
 CUresult cuLinkCreate(unsigned int numOptions, CUjit_option* options, void** optionValues, CUlinkState* stateOut);
 CUresult cuLinkDestroy(CUlinkState state);
 CUresult cuModuleGetFunction(CUfunction* hfunc, CUmodule hmod, const char* name);
 CUresult cuModuleGetGlobal(CUdeviceptr* dptr, size_t* bytes, CUmodule hmod, const char* name);
-CUresult cuModuleGetSurfRef(CUsurfref* pSurfRef, CUmodule hmod, const char* name);
-CUresult cuModuleGetTexRef(CUtexref* pTexRef, CUmodule hmod, const char* name);
 CUresult cuModuleLoad(CUmodule* module, const char* fname);
 CUresult cuModuleLoadData(CUmodule* module, const void* image);
 CUresult cuModuleLoadDataEx(CUmodule* module, const void* image, unsigned int numOptions, CUjit_option* options, void** optionValues);
 CUresult cuModuleLoadFatBinary(CUmodule* module, const void* fatCubin);
 CUresult cuModuleUnload(CUmodule hmod);

4.11. Memory Management#

 CUresult cuArray3DCreate(CUarray* pHandle, const CUDA_ARRAY3D_DESCRIPTOR* pAllocateArray);
 CUresult cuArray3DGetDescriptor(CUDA_ARRAY3D_DESCRIPTOR* pArrayDescriptor, CUarray hArray);
 CUresult cuArrayCreate(CUarray* pHandle, const CUDA_ARRAY_DESCRIPTOR* pAllocateArray);
 CUresult cuArrayDestroy(CUarray hArray);
 CUresult cuArrayGetDescriptor(CUDA_ARRAY_DESCRIPTOR* pArrayDescriptor, CUarray hArray);
 CUresult cuDeviceGetByPCIBusId(CUdevice* dev, const char* pciBusId);
 CUresult cuDeviceGetPCIBusId(char* pciBusId, int len, CUdevice dev);
 CUresult cuIpcCloseMemHandle(CUdeviceptr dptr);
 CUresult cuIpcGetEventHandle(CUipcEventHandle* pHandle, CUevent event);
 CUresult cuIpcGetMemHandle(CUipcMemHandle* pHandle, CUdeviceptr dptr);
 CUresult cuIpcOpenEventHandle(CUevent* phEvent, CUipcEventHandle handle);
 CUresult cuIpcOpenMemHandle(CUdeviceptr* pdptr, CUipcMemHandle handle, unsigned int Flags);
 CUresult cuMemAlloc(CUdeviceptr* dptr, size_t bytesize);
 CUresult cuMemAllocHost(void** pp, size_t bytesize);
 CUresult cuMemAllocManaged(CUdeviceptr* dptr, size_t bytesize, unsigned int flags);
 CUresult cuMemAllocPitch(CUdeviceptr* dptr, size_t* pPitch, size_t WidthInBytes, size_t Height, unsigned int ElementSizeBytes);
 CUresult cuMemFree(CUdeviceptr dptr);
 CUresult cuMemFreeHost(void* p);
 CUresult cuMemGetAddressRange(CUdeviceptr* pbase, size_t* psize, CUdeviceptr dptr);
 CUresult cuMemGetInfo(size_t* free, size_t* total);
 CUresult cuMemHostAlloc(void** pp, size_t bytesize, unsigned int Flags);
 CUresult cuMemHostGetDevicePointer(CUdeviceptr* pdptr, void* p, unsigned int Flags);
 CUresult cuMemHostGetFlags(unsigned int* pFlags, void* p);
 CUresult cuMemHostRegister(void* p, size_t bytesize, unsigned int Flags);
 CUresult cuMemHostUnregister(void* p);
 CUresult cuMemcpy(CUdeviceptr dst, CUdeviceptr src, size_t ByteCount);
 CUresult cuMemcpy2D(const CUDA_MEMCPY2D* pCopy);
 CUresult cuMemcpy2DAsync(const CUDA_MEMCPY2D* pCopy, CUstream hStream);
 CUresult cuMemcpy2DUnaligned(const CUDA_MEMCPY2D* pCopy);
 CUresult cuMemcpy3D(const CUDA_MEMCPY3D* pCopy);
 CUresult cuMemcpy3DAsync(const CUDA_MEMCPY3D* pCopy, CUstream hStream);
-CUresult cuMemcpy3DPeer(const CUDA_MEMCPY3D_PEER* pCopy);
-CUresult cuMemcpy3DPeerAsync(const CUDA_MEMCPY3D_PEER* pCopy, CUstream hStream);
 CUresult cuMemcpyAsync(CUdeviceptr dst, CUdeviceptr src, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyAtoA(CUarray dstArray, size_t dstOffset, CUarray srcArray, size_t srcOffset, size_t ByteCount);
 CUresult cuMemcpyAtoD(CUdeviceptr dstDevice, CUarray srcArray, size_t srcOffset, size_t ByteCount);
 CUresult cuMemcpyAtoH(void* dstHost, CUarray srcArray, size_t srcOffset, size_t ByteCount);
 CUresult cuMemcpyAtoHAsync(void* dstHost, CUarray srcArray, size_t srcOffset, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyDtoA(CUarray dstArray, size_t dstOffset, CUdeviceptr srcDevice, size_t ByteCount);
 CUresult cuMemcpyDtoD(CUdeviceptr dstDevice, CUdeviceptr srcDevice, size_t ByteCount);
 CUresult cuMemcpyDtoDAsync(CUdeviceptr dstDevice, CUdeviceptr srcDevice, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyDtoH(void* dstHost, CUdeviceptr srcDevice, size_t ByteCount);
 CUresult cuMemcpyDtoHAsync(void* dstHost, CUdeviceptr srcDevice, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyHtoA(CUarray dstArray, size_t dstOffset, const void* srcHost, size_t ByteCount);
 CUresult cuMemcpyHtoAAsync(CUarray dstArray, size_t dstOffset, const void* srcHost, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyHtoD(CUdeviceptr dstDevice, const void* srcHost, size_t ByteCount);
 CUresult cuMemcpyHtoDAsync(CUdeviceptr dstDevice, const void* srcHost, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyPeer(CUdeviceptr dstDevice, CUcontext dstContext, CUdeviceptr srcDevice, CUcontext srcContext, size_t ByteCount);
 CUresult cuMemcpyPeerAsync(CUdeviceptr dstDevice, CUcontext dstContext, CUdeviceptr srcDevice, CUcontext srcContext, size_t ByteCount, CUstream hStream);
 CUresult cuMemsetD16(CUdeviceptr dstDevice, unsigned short us, size_t N);
 CUresult cuMemsetD16Async(CUdeviceptr dstDevice, unsigned short us, size_t N, CUstream hStream);
 CUresult cuMemsetD2D16(CUdeviceptr dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height);
 CUresult cuMemsetD2D16Async(CUdeviceptr dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height, CUstream hStream);
 CUresult cuMemsetD2D32(CUdeviceptr dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height);
 CUresult cuMemsetD2D32Async(CUdeviceptr dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height, CUstream hStream);
 CUresult cuMemsetD2D8(CUdeviceptr dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height);
 CUresult cuMemsetD2D8Async(CUdeviceptr dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height, CUstream hStream);
 CUresult cuMemsetD32(CUdeviceptr dstDevice, unsigned int ui, size_t N);
 CUresult cuMemsetD32Async(CUdeviceptr dstDevice, unsigned int ui, size_t N, CUstream hStream);
 CUresult cuMemsetD8(CUdeviceptr dstDevice, unsigned char uc, size_t N);
 CUresult cuMemsetD8Async(CUdeviceptr dstDevice, unsigned char uc, size_t N, CUstream hStream);
 CUresult cuMipmappedArrayCreate(CUmipmappedArray* pHandle, const CUDA_ARRAY3D_DESCRIPTOR* pMipmappedArrayDesc, unsigned int numMipmapLevels);
 CUresult cuMipmappedArrayDestroy(CUmipmappedArray hMipmappedArray);
 CUresult cuMipmappedArrayGetLevel(CUarray* pLevelArray, CUmipmappedArray hMipmappedArray, unsigned int level);

4.12. Unified Addressing#

 CUresult cuMemAdvise(CUdeviceptr devPtr, size_t count, CUmem_advise advice, CUdevice device);
 CUresult cuMemPrefetchAsync(CUdeviceptr devPtr, size_t count, CUdevice dstDevice, CUstream hStream);
 CUresult cuMemRangeGetAttribute(void* data, size_t dataSize, CUmem_range_attribute attribute, CUdeviceptr devPtr, size_t count);
 CUresult cuMemRangeGetAttributes(void** data, size_t* dataSizes, CUmem_range_attribute* attributes, size_t numAttributes, CUdeviceptr devPtr, size_t count);
 CUresult cuPointerGetAttribute(void* data, CUpointer_attribute attribute, CUdeviceptr ptr);
 CUresult cuPointerGetAttributes(unsigned int numAttributes, CUpointer_attribute* attributes, void** data, CUdeviceptr ptr);
 CUresult cuPointerSetAttribute(const void* value, CUpointer_attribute attribute, CUdeviceptr ptr);

4.13. Stream Management#

 CUresult cuStreamAddCallback(CUstream hStream, CUstreamCallback callback, void* userData, unsigned int flags);
 CUresult cuStreamAttachMemAsync(CUstream hStream, CUdeviceptr dptr, size_t length, unsigned int flags);
 CUresult cuStreamCreate(CUstream* phStream, unsigned int Flags);
 CUresult cuStreamCreateWithPriority(CUstream* phStream, unsigned int flags, int priority);
 CUresult cuStreamDestroy(CUstream hStream);
 CUresult cuStreamGetCtx(CUstream hStream, CUcontext* pctx);
 CUresult cuStreamGetFlags(CUstream hStream, unsigned int* flags);
 CUresult cuStreamGetPriority(CUstream hStream, int* priority);
 CUresult cuStreamQuery(CUstream hStream);
 CUresult cuStreamSynchronize(CUstream hStream);
 CUresult cuStreamWaitEvent(CUstream hStream, CUevent hEvent, unsigned int Flags);

4.14. Event Management#

 CUresult cuEventCreate(CUevent* phEvent, unsigned int Flags);
 CUresult cuEventDestroy(CUevent hEvent);
 CUresult cuEventElapsedTime(float* pMilliseconds, CUevent hStart, CUevent hEnd);
 CUresult cuEventQuery(CUevent hEvent);
 CUresult cuEventRecord(CUevent hEvent, CUstream hStream);
 CUresult cuEventSynchronize(CUevent hEvent);

4.15. Stream memory operations#

-CUresult cuStreamBatchMemOp(CUstream stream, unsigned int count, CUstreamBatchMemOpParams* paramArray, unsigned int flags);
-CUresult cuStreamWaitValue32(CUstream stream, CUdeviceptr addr, cuuint32_t value, unsigned int flags);
-CUresult cuStreamWaitValue64(CUstream stream, CUdeviceptr addr, cuuint64_t value, unsigned int flags);
 CUresult cuStreamWriteValue32(CUstream stream, CUdeviceptr addr, cuuint32_t value, unsigned int flags);
-CUresult cuStreamWriteValue64(CUstream stream, CUdeviceptr addr, cuuint64_t value, unsigned int flags);

4.16. Execution Control#

 CUresult cuFuncGetAttribute(int* pi, CUfunction_attribute attrib, CUfunction hfunc);
 CUresult cuFuncSetAttribute(CUfunction hfunc, CUfunction_attribute attrib, int value);
 CUresult cuFuncSetCacheConfig(CUfunction hfunc, CUfunc_cache config);
 CUresult cuFuncSetSharedMemConfig(CUfunction hfunc, CUsharedconfig config);
 CUresult 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);
-CUresult cuLaunchCooperativeKernelMultiDevice(CUDA_LAUNCH_PARAMS* launchParamsList, unsigned int numDevices, unsigned int flags);
 CUresult 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);

4.17. Execution Control [DEPRECATED]#

 CUresult cuFuncSetBlockShape(CUfunction hfunc, int x, int y, int z);
 CUresult cuFuncSetSharedSize(CUfunction hfunc, unsigned int bytes);
 CUresult cuLaunch(CUfunction f);
 CUresult cuLaunchGrid(CUfunction f, int grid_width, int grid_height);
 CUresult cuLaunchGridAsync(CUfunction f, int grid_width, int grid_height, CUstream hStream);
 CUresult cuParamSetSize(CUfunction hfunc, unsigned int numbytes);
-CUresult cuParamSetTexRef(CUfunction hfunc, int texunit, CUtexref hTexRef);
 CUresult cuParamSetf(CUfunction hfunc, int offset, float value);
 CUresult cuParamSeti(CUfunction hfunc, int offset, unsigned int value);
 CUresult cuParamSetv(CUfunction hfunc, int offset, void* ptr, unsigned int numbytes);

4.18. Occupancy#

 CUresult cuOccupancyMaxActiveBlocksPerMultiprocessor(int* numBlocks, CUfunction func, int blockSize, size_t dynamicSMemSize);
 CUresult cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int* numBlocks, CUfunction func, int blockSize, size_t dynamicSMemSize, unsigned int flags);
 CUresult cuOccupancyMaxPotentialBlockSize(int* minGridSize, int* blockSize, CUfunction func, CUoccupancyB2DSize blockSizeToDynamicSMemSize, size_t dynamicSMemSize, int blockSizeLimit);
 CUresult cuOccupancyMaxPotentialBlockSizeWithFlags(int* minGridSize, int* blockSize, CUfunction func, CUoccupancyB2DSize blockSizeToDynamicSMemSize, size_t dynamicSMemSize, int blockSizeLimit, unsigned int flags);

4.19. Texture Reference Management#

 CUresult cuTexRefGetAddress(CUdeviceptr* pdptr, CUtexref hTexRef);
 CUresult cuTexRefGetAddressMode(CUaddress_mode* pam, CUtexref hTexRef, int dim);
 CUresult cuTexRefGetArray(CUarray* phArray, CUtexref hTexRef);
-CUresult cuTexRefGetBorderColor(float* pBorderColor, CUtexref hTexRef);
 CUresult cuTexRefGetFilterMode(CUfilter_mode* pfm, CUtexref hTexRef);
-CUresult cuTexRefGetFlags(unsigned int* pFlags, CUtexref hTexRef);
-CUresult cuTexRefGetFormat(CUarray_format* pFormat, int* pNumChannels, CUtexref hTexRef);
-CUresult cuTexRefGetMaxAnisotropy(int* pmaxAniso, CUtexref hTexRef);
-CUresult cuTexRefGetMipmapFilterMode(CUfilter_mode* pfm, CUtexref hTexRef);
-CUresult cuTexRefGetMipmapLevelBias(float* pbias, CUtexref hTexRef);
-CUresult cuTexRefGetMipmapLevelClamp(float* pminMipmapLevelClamp, float* pmaxMipmapLevelClamp, CUtexref hTexRef);
-CUresult cuTexRefGetMipmappedArray(CUmipmappedArray* phMipmappedArray, CUtexref hTexRef);
-CUresult cuTexRefSetAddress(size_t* ByteOffset, CUtexref hTexRef, CUdeviceptr dptr, size_t bytes);
-CUresult cuTexRefSetAddress2D(CUtexref hTexRef, const CUDA_ARRAY_DESCRIPTOR* desc, CUdeviceptr dptr, size_t Pitch);
-CUresult cuTexRefSetAddressMode(CUtexref hTexRef, int dim, CUaddress_mode am);
-CUresult cuTexRefSetArray(CUtexref hTexRef, CUarray hArray, unsigned int Flags);
-CUresult cuTexRefSetBorderColor(CUtexref hTexRef, float* pBorderColor);
-CUresult cuTexRefSetFilterMode(CUtexref hTexRef, CUfilter_mode fm);
-CUresult cuTexRefSetFlags(CUtexref hTexRef, unsigned int Flags);
-CUresult cuTexRefSetFormat(CUtexref hTexRef, CUarray_format fmt, int NumPackedComponents);
-CUresult cuTexRefSetMaxAnisotropy(CUtexref hTexRef, unsigned int maxAniso);
-CUresult cuTexRefSetMipmapFilterMode(CUtexref hTexRef, CUfilter_mode fm);
-CUresult cuTexRefSetMipmapLevelBias(CUtexref hTexRef, float bias);
-CUresult cuTexRefSetMipmapLevelClamp(CUtexref hTexRef, float minMipmapLevelClamp, float maxMipmapLevelClamp);
-CUresult cuTexRefSetMipmappedArray(CUtexref hTexRef, CUmipmappedArray hMipmappedArray, unsigned int Flags);

4.20. Texture Reference Management [DEPRECATED]#

 CUresult cuTexRefCreate(CUtexref* pTexRef);
 CUresult cuTexRefDestroy(CUtexref hTexRef);

4.21. Surface Reference Management#

-CUresult cuSurfRefGetArray(CUarray* phArray, CUsurfref hSurfRef);
-CUresult cuSurfRefSetArray(CUsurfref hSurfRef, CUarray hArray, unsigned int Flags);

4.22. Texture Object Management#

 CUresult cuTexObjectCreate(CUtexObject* pTexObject, const CUDA_RESOURCE_DESC* pResDesc, const CUDA_TEXTURE_DESC* pTexDesc, const CUDA_RESOURCE_VIEW_DESC* pResViewDesc);
 CUresult cuTexObjectDestroy(CUtexObject texObject);
 CUresult cuTexObjectGetResourceDesc(CUDA_RESOURCE_DESC* pResDesc, CUtexObject texObject);
 CUresult cuTexObjectGetResourceViewDesc(CUDA_RESOURCE_VIEW_DESC* pResViewDesc, CUtexObject texObject);
 CUresult cuTexObjectGetTextureDesc(CUDA_TEXTURE_DESC* pTexDesc, CUtexObject texObject);

4.23. Surface Object Management#

 CUresult cuSurfObjectCreate(CUsurfObject* pSurfObject, const CUDA_RESOURCE_DESC* pResDesc);
 CUresult cuSurfObjectDestroy(CUsurfObject surfObject);
 CUresult cuSurfObjectGetResourceDesc(CUDA_RESOURCE_DESC* pResDesc, CUsurfObject surfObject);

4.24. Peer Context Memory Access#

 CUresult cuCtxDisablePeerAccess(CUcontext peerContext);
 CUresult cuCtxEnablePeerAccess(CUcontext peerContext, unsigned int Flags);
 CUresult cuDeviceCanAccessPeer(int* canAccessPeer, CUdevice dev, CUdevice peerDev);
 CUresult cuDeviceGetP2PAttribute(int* value, CUdevice_P2PAttribute attrib, CUdevice srcDevice, CUdevice dstDevice);

4.25. Graphics Interoperability#

 CUresult cuGraphicsMapResources(unsigned int count, CUgraphicsResource* resources, CUstream hStream);
-CUresult cuGraphicsResourceGetMappedMipmappedArray(CUmipmappedArray* pMipmappedArray, CUgraphicsResource resource);
 CUresult cuGraphicsResourceGetMappedPointer(CUdeviceptr* pDevPtr, size_t* pSize, CUgraphicsResource resource);
 CUresult cuGraphicsResourceSetMapFlags(CUgraphicsResource resource, unsigned int flags);
 CUresult cuGraphicsSubResourceGetMappedArray(CUarray* pArray, CUgraphicsResource resource, unsigned int arrayIndex, unsigned int mipLevel);
 CUresult cuGraphicsUnmapResources(unsigned int count, CUgraphicsResource* resources, CUstream hStream);
 CUresult cuGraphicsUnregisterResource(CUgraphicsResource resource);

4.26. Profiler Control#

 CUresult cuProfilerInitialize(const char* configFile, const char* outputFile, CUoutput_mode outputMode);
 CUresult cuProfilerStart(void);
 CUresult cuProfilerStop(void);

4.27. OpenGL Interoperability#

 enum CUGLDeviceList
     CU_GL_DEVICE_LIST_ALL = 1
     CU_GL_DEVICE_LIST_CURRENT_FRAME = 2
     CU_GL_DEVICE_LIST_NEXT_FRAME = 3
 CUresult cuGLGetDevices(unsigned int* pCudaDeviceCount, CUdevice* pCudaDevices, unsigned int cudaDeviceCount, CUGLDeviceList deviceList);
 CUresult cuGraphicsGLRegisterBuffer(CUgraphicsResource* pCudaResource, GLuint buffer, unsigned int Flags);
 CUresult cuGraphicsGLRegisterImage(CUgraphicsResource* pCudaResource, GLuint image, GLenum target, unsigned int Flags);
-CUresult cuWGLGetDevice(CUdevice* pDevice, HGPUNV hGpu);

4.27.1. OpenGL Interoperability [DEPRECATED]#

 enum CUGLmap_flags
     CU_GL_MAP_RESOURCE_FLAGS_NONE = 0
     CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY = 1
     CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 2
 CUresult cuGLCtxCreate(CUcontext* pCtx, unsigned int Flags, CUdevice device);
 CUresult cuGLInit(void);
 CUresult cuGLMapBufferObject(CUdeviceptr* dptr, size_t* size, GLuint buffer);
 CUresult cuGLMapBufferObjectAsync(CUdeviceptr* dptr, size_t* size, GLuint buffer, CUstream hStream);
 CUresult cuGLRegisterBufferObject(GLuint buffer);
 CUresult cuGLSetBufferObjectMapFlags(GLuint buffer, unsigned int Flags);
 CUresult cuGLUnmapBufferObject(GLuint buffer);
 CUresult cuGLUnmapBufferObjectAsync(GLuint buffer, CUstream hStream);
 CUresult cuGLUnregisterBufferObject(GLuint buffer);

4.28. Direct3D 9 Interoperability#

-Windows APIs are currently unsupported

4.28.1. Direct3D 9 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

4.29. Direct3D 10 Interoperability#

-Windows APIs are currently unsupported

4.29.1. Direct3D 10 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

4.30. Direct3D 11 Interoperability#

-Windows APIs are currently unsupported

4.30.1. Direct3D 11 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

4.31. VDPAU Interoperability#

-VDPAU is currently unsupported

4.32. EGL Interoperability#

-EGL is currently unsupported

79% (343 of 434 declarations available)

5.1. Data types used by CUDA driver#

 #define CUDA_ARRAY3D_2DARRAY
 #define CUDA_ARRAY3D_COLOR_ATTACHMENT
 #define CUDA_ARRAY3D_CUBEMAP
 #define CUDA_ARRAY3D_DEPTH_TEXTURE
 #define CUDA_ARRAY3D_LAYERED
 #define CUDA_ARRAY3D_SURFACE_LDST
 #define CUDA_ARRAY3D_TEXTURE_GATHER
-#define CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC
-#define CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC
-#define CUDA_EXTERNAL_MEMORY_DEDICATED
-#define CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC
-#define CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC
-#define CUDA_NVSCISYNC_ATTR_SIGNAL
-#define CUDA_NVSCISYNC_ATTR_WAIT
 #define CUDA_VERSION
 #define CU_DEVICE_CPU
 #define CU_DEVICE_INVALID
 #define CU_IPC_HANDLE_SIZE
 #define CU_LAUNCH_PARAM_BUFFER_POINTER
 #define CU_LAUNCH_PARAM_BUFFER_SIZE
 #define CU_LAUNCH_PARAM_END
 #define CU_MEMHOSTALLOC_DEVICEMAP
 #define CU_MEMHOSTALLOC_PORTABLE
 #define CU_MEMHOSTALLOC_WRITECOMBINED
 #define CU_MEMHOSTREGISTER_DEVICEMAP
 #define CU_MEMHOSTREGISTER_IOMEMORY
 #define CU_MEMHOSTREGISTER_PORTABLE
-#define CU_PARAM_TR_DEFAULT
 #define CU_STREAM_LEGACY
 #define CU_STREAM_PER_THREAD
-#define CU_TRSA_OVERRIDE_FORMAT
 #define CU_TRSF_NORMALIZED_COORDINATES
 #define CU_TRSF_READ_AS_INTEGER
 #define CU_TRSF_SRGB
-#define MAX_PLANES
 enum CUaddress_mode
     CU_TR_ADDRESS_MODE_WRAP = 0
     CU_TR_ADDRESS_MODE_CLAMP = 1
     CU_TR_ADDRESS_MODE_MIRROR = 2
     CU_TR_ADDRESS_MODE_BORDER = 3
 enum CUarray_cubemap_face
     CU_CUBEMAP_FACE_POSITIVE_X = 0
     CU_CUBEMAP_FACE_NEGATIVE_X = 1
     CU_CUBEMAP_FACE_POSITIVE_Y = 2
     CU_CUBEMAP_FACE_NEGATIVE_Y = 3
     CU_CUBEMAP_FACE_POSITIVE_Z = 4
     CU_CUBEMAP_FACE_NEGATIVE_Z = 5
 enum CUarray_format
     CU_AD_FORMAT_UNSIGNED_INT8 = 1
     CU_AD_FORMAT_UNSIGNED_INT16 = 2
     CU_AD_FORMAT_UNSIGNED_INT32 = 3
     CU_AD_FORMAT_SIGNED_INT8 = 8
     CU_AD_FORMAT_SIGNED_INT16 = 9
     CU_AD_FORMAT_SIGNED_INT32 = 10
     CU_AD_FORMAT_HALF = 16
     CU_AD_FORMAT_FLOAT = 32
 enum CUcomputemode
     CU_COMPUTEMODE_DEFAULT = 0
     CU_COMPUTEMODE_PROHIBITED = 2
     CU_COMPUTEMODE_EXCLUSIVE_PROCESS = 3
 enum CUctx_flags
     CU_CTX_SCHED_AUTO = 0
     CU_CTX_SCHED_SPIN = 1
     CU_CTX_SCHED_YIELD = 2
     CU_CTX_SCHED_BLOCKING_SYNC = 4
     CU_CTX_BLOCKING_SYNC = 4
     CU_CTX_SCHED_MASK = 7
     CU_CTX_MAP_HOST = 8
     CU_CTX_LMEM_RESIZE_TO_MAX = 16
-    CU_CTX_FLAGS_MASK = 31
 enum CUdevice_P2PAttribute
     CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK = 1
     CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED = 2
     CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED = 3
     CU_DEVICE_P2P_ATTRIBUTE_ACCESS_ACCESS_SUPPORTED = 4
     CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED = 4
 enum CUdevice_attribute
     CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1
     CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = 2
     CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y = 3
     CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z = 4
     CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = 5
     CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y = 6
     CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z = 7
     CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK = 8
     CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK = 8
     CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY = 9
     CU_DEVICE_ATTRIBUTE_WARP_SIZE = 10
     CU_DEVICE_ATTRIBUTE_MAX_PITCH = 11
     CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK = 12
     CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK = 12
     CU_DEVICE_ATTRIBUTE_CLOCK_RATE = 13
     CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT = 14
     CU_DEVICE_ATTRIBUTE_GPU_OVERLAP = 15
     CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT = 16
     CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT = 17
     CU_DEVICE_ATTRIBUTE_INTEGRATED = 18
     CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY = 19
     CU_DEVICE_ATTRIBUTE_COMPUTE_MODE = 20
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH = 21
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH = 22
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT = 23
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH = 24
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT = 25
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH = 26
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH = 27
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT = 28
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS = 29
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH = 27
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT = 28
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES = 29
     CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT = 30
     CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS = 31
     CU_DEVICE_ATTRIBUTE_ECC_ENABLED = 32
     CU_DEVICE_ATTRIBUTE_PCI_BUS_ID = 33
     CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID = 34
     CU_DEVICE_ATTRIBUTE_TCC_DRIVER = 35
     CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE = 36
     CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH = 37
     CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE = 38
     CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR = 39
     CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT = 40
     CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING = 41
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH = 42
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS = 43
     CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER = 44
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH = 45
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT = 46
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE = 47
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE = 48
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE = 49
     CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID = 50
     CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT = 51
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH = 52
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH = 53
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS = 54
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH = 55
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH = 56
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT = 57
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH = 58
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT = 59
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH = 60
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH = 61
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS = 62
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH = 63
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT = 64
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS = 65
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH = 66
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH = 67
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS = 68
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH = 69
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH = 70
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT = 71
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH = 72
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH = 73
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT = 74
     CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR = 75
     CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR = 76
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH = 77
     CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED = 78
     CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED = 79
     CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED = 80
     CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR = 81
     CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR = 82
     CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY = 83
     CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD = 84
     CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID = 85
     CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED = 86
     CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO = 87
     CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS = 88
     CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS = 89
     CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED = 90
     CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM = 91
-    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS = 92
-    CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS = 93
-    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR = 94
     CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH = 95
     CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH = 96
     CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN = 97
     CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES = 98
     CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED = 99
     CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES = 100
     CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST = 101
     CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED = 102
     CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED = 103
     CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED = 104
     CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED = 105
-    CU_DEVICE_ATTRIBUTE_MAX = 106
-enum CUeglColorFormat
-enum CUeglFrameType
-enum CUeglResourceLocationFlags
 enum CUevent_flags
     CU_EVENT_DEFAULT = 0
     CU_EVENT_BLOCKING_SYNC = 1
     CU_EVENT_DISABLE_TIMING = 2
     CU_EVENT_INTERPROCESS = 4
-enum CUexternalMemoryHandleType
-enum CUexternalSemaphoreHandleType
 enum CUfilter_mode
     CU_TR_FILTER_MODE_POINT = 0
     CU_TR_FILTER_MODE_LINEAR = 1
 enum CUfunc_cache
     CU_FUNC_CACHE_PREFER_NONE = 0
     CU_FUNC_CACHE_PREFER_SHARED = 1
     CU_FUNC_CACHE_PREFER_L1 = 2
     CU_FUNC_CACHE_PREFER_EQUAL = 3
 enum CUfunction_attribute
     CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 0
     CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES = 1
     CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES = 2
     CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES = 3
     CU_FUNC_ATTRIBUTE_NUM_REGS = 4
     CU_FUNC_ATTRIBUTE_PTX_VERSION = 5
     CU_FUNC_ATTRIBUTE_BINARY_VERSION = 6
     CU_FUNC_ATTRIBUTE_CACHE_MODE_CA = 7
     CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES = 8
     CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = 9
-    CU_FUNC_ATTRIBUTE_MAX = 10
 enum CUgraphNodeType
     CU_GRAPH_NODE_TYPE_KERNEL = 0
     CU_GRAPH_NODE_TYPE_MEMCPY = 1
     CU_GRAPH_NODE_TYPE_MEMSET = 2
     CU_GRAPH_NODE_TYPE_HOST = 3
     CU_GRAPH_NODE_TYPE_GRAPH = 4
     CU_GRAPH_NODE_TYPE_EMPTY = 5
-    CU_GRAPH_NODE_TYPE_COUNT = 6
 enum CUgraphicsMapResourceFlags
     CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE = 0
     CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY = 1
     CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 2
 enum CUgraphicsRegisterFlags
     CU_GRAPHICS_REGISTER_FLAGS_NONE = 0
     CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY = 1
     CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD = 2
     CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST = 4
     CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER = 8
-enum CUipcMem_flags
 enum CUjitInputType
     CU_JIT_INPUT_CUBIN = 0
     CU_JIT_INPUT_PTX = 1
     CU_JIT_INPUT_FATBINARY = 2
     CU_JIT_INPUT_OBJECT = 3
     CU_JIT_INPUT_LIBRARY = 4
-    CU_JIT_NUM_INPUT_TYPES = 5
-enum CUjit_cacheMode
-enum CUjit_fallback
 enum CUjit_option
     CU_JIT_MAX_REGISTERS = 0
     CU_JIT_THREADS_PER_BLOCK = 1
     CU_JIT_WALL_TIME = 2
     CU_JIT_INFO_LOG_BUFFER = 3
     CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES = 4
     CU_JIT_ERROR_LOG_BUFFER = 5
     CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES = 6
     CU_JIT_OPTIMIZATION_LEVEL = 7
     CU_JIT_TARGET_FROM_CUCONTEXT = 8
     CU_JIT_TARGET = 9
     CU_JIT_FALLBACK_STRATEGY = 10
     CU_JIT_GENERATE_DEBUG_INFO = 11
     CU_JIT_LOG_VERBOSE = 12
     CU_JIT_GENERATE_LINE_INFO = 13
     CU_JIT_CACHE_MODE = 14
     CU_JIT_NEW_SM3X_OPT = 15
     CU_JIT_FAST_COMPILE = 16
     CU_JIT_GLOBAL_SYMBOL_NAMES = 17
     CU_JIT_GLOBAL_SYMBOL_ADDRESSES = 18
     CU_JIT_GLOBAL_SYMBOL_COUNT = 19
-    CU_JIT_NUM_OPTIONS = 20
-enum CUjit_target
 enum CUlimit
     CU_LIMIT_STACK_SIZE = 0
     CU_LIMIT_PRINTF_FIFO_SIZE = 1
     CU_LIMIT_MALLOC_HEAP_SIZE = 2
     CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH = 3
     CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT = 4
     CU_LIMIT_MAX_L2_FETCH_GRANULARITY = 5
-    CU_LIMIT_MAX = 6
 enum CUmemAccess_flags
     CU_MEM_ACCESS_FLAGS_PROT_NONE = 0
     CU_MEM_ACCESS_FLAGS_PROT_READ = 1
     CU_MEM_ACCESS_FLAGS_PROT_READWRITE = 3
-    CU_MEM_ACCESS_FLAGS_PROT_MAX = 4294967295
 enum CUmemAllocationGranularity_flags
     CU_MEM_ALLOC_GRANULARITY_MINIMUM = 0
     CU_MEM_ALLOC_GRANULARITY_RECOMMENDED = 1
 enum CUmemAllocationHandleType
     CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR = 1
     CU_MEM_HANDLE_TYPE_WIN32 = 2
     CU_MEM_HANDLE_TYPE_WIN32_KMT = 4
-    CU_MEM_HANDLE_TYPE_MAX = 4294967295
 enum CUmemAllocationType
     CU_MEM_ALLOCATION_TYPE_INVALID = 0
     CU_MEM_ALLOCATION_TYPE_PINNED = 1
-    CU_MEM_ALLOCATION_TYPE_MAX = 4294967295
 enum CUmemAttach_flags
     CU_MEM_ATTACH_GLOBAL = 1
     CU_MEM_ATTACH_HOST = 2
     CU_MEM_ATTACH_SINGLE = 4
-enum CUmemLocationType
 enum CUmem_advise
     CU_MEM_ADVISE_SET_READ_MOSTLY = 1
     CU_MEM_ADVISE_UNSET_READ_MOSTLY = 2
     CU_MEM_ADVISE_SET_PREFERRED_LOCATION = 3
     CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION = 4
     CU_MEM_ADVISE_SET_ACCESSED_BY = 5
     CU_MEM_ADVISE_UNSET_ACCESSED_BY = 6
 enum CUmemorytype
     CU_MEMORYTYPE_HOST = 1
     CU_MEMORYTYPE_DEVICE = 2
     CU_MEMORYTYPE_ARRAY = 3
     CU_MEMORYTYPE_UNIFIED = 4
 enum CUoccupancy_flags
     CU_OCCUPANCY_DEFAULT = 0
     CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE = 1
 enum CUpointer_attribute
     CU_POINTER_ATTRIBUTE_CONTEXT = 1
     CU_POINTER_ATTRIBUTE_MEMORY_TYPE = 2
     CU_POINTER_ATTRIBUTE_DEVICE_POINTER = 3
     CU_POINTER_ATTRIBUTE_HOST_POINTER = 4
     CU_POINTER_ATTRIBUTE_P2P_TOKENS = 5
     CU_POINTER_ATTRIBUTE_SYNC_MEMOPS = 6
     CU_POINTER_ATTRIBUTE_BUFFER_ID = 7
     CU_POINTER_ATTRIBUTE_IS_MANAGED = 8
     CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL = 9
     CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE = 10
     CU_POINTER_ATTRIBUTE_RANGE_START_ADDR = 11
     CU_POINTER_ATTRIBUTE_RANGE_SIZE = 12
     CU_POINTER_ATTRIBUTE_MAPPED = 13
     CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES = 14
 enum CUresourceViewFormat
     CU_RES_VIEW_FORMAT_NONE = 0
     CU_RES_VIEW_FORMAT_UINT_1X8 = 1
     CU_RES_VIEW_FORMAT_UINT_2X8 = 2
     CU_RES_VIEW_FORMAT_UINT_4X8 = 3
     CU_RES_VIEW_FORMAT_SINT_1X8 = 4
     CU_RES_VIEW_FORMAT_SINT_2X8 = 5
     CU_RES_VIEW_FORMAT_SINT_4X8 = 6
     CU_RES_VIEW_FORMAT_UINT_1X16 = 7
     CU_RES_VIEW_FORMAT_UINT_2X16 = 8
     CU_RES_VIEW_FORMAT_UINT_4X16 = 9
     CU_RES_VIEW_FORMAT_SINT_1X16 = 10
     CU_RES_VIEW_FORMAT_SINT_2X16 = 11
     CU_RES_VIEW_FORMAT_SINT_4X16 = 12
     CU_RES_VIEW_FORMAT_UINT_1X32 = 13
     CU_RES_VIEW_FORMAT_UINT_2X32 = 14
     CU_RES_VIEW_FORMAT_UINT_4X32 = 15
     CU_RES_VIEW_FORMAT_SINT_1X32 = 16
     CU_RES_VIEW_FORMAT_SINT_2X32 = 17
     CU_RES_VIEW_FORMAT_SINT_4X32 = 18
     CU_RES_VIEW_FORMAT_FLOAT_1X16 = 19
     CU_RES_VIEW_FORMAT_FLOAT_2X16 = 20
     CU_RES_VIEW_FORMAT_FLOAT_4X16 = 21
     CU_RES_VIEW_FORMAT_FLOAT_1X32 = 22
     CU_RES_VIEW_FORMAT_FLOAT_2X32 = 23
     CU_RES_VIEW_FORMAT_FLOAT_4X32 = 24
     CU_RES_VIEW_FORMAT_UNSIGNED_BC1 = 25
     CU_RES_VIEW_FORMAT_UNSIGNED_BC2 = 26
     CU_RES_VIEW_FORMAT_UNSIGNED_BC3 = 27
     CU_RES_VIEW_FORMAT_UNSIGNED_BC4 = 28
     CU_RES_VIEW_FORMAT_SIGNED_BC4 = 29
     CU_RES_VIEW_FORMAT_UNSIGNED_BC5 = 30
     CU_RES_VIEW_FORMAT_SIGNED_BC5 = 31
     CU_RES_VIEW_FORMAT_UNSIGNED_BC6H = 32
     CU_RES_VIEW_FORMAT_SIGNED_BC6H = 33
     CU_RES_VIEW_FORMAT_UNSIGNED_BC7 = 34
 enum CUresourcetype
     CU_RESOURCE_TYPE_ARRAY = 0
     CU_RESOURCE_TYPE_MIPMAPPED_ARRAY = 1
     CU_RESOURCE_TYPE_LINEAR = 2
     CU_RESOURCE_TYPE_PITCH2D = 3
 enum CUresult
     CUDA_SUCCESS = 0
     CUDA_ERROR_INVALID_VALUE = 1
     CUDA_ERROR_OUT_OF_MEMORY = 2
     CUDA_ERROR_NOT_INITIALIZED = 3
     CUDA_ERROR_DEINITIALIZED = 4
     CUDA_ERROR_PROFILER_DISABLED = 5
     CUDA_ERROR_PROFILER_NOT_INITIALIZED = 6
     CUDA_ERROR_PROFILER_ALREADY_STARTED = 7
     CUDA_ERROR_PROFILER_ALREADY_STOPPED = 8
     CUDA_ERROR_NO_DEVICE = 100
     CUDA_ERROR_INVALID_DEVICE = 101
     CUDA_ERROR_INVALID_IMAGE = 200
     CUDA_ERROR_INVALID_CONTEXT = 201
     CUDA_ERROR_CONTEXT_ALREADY_CURRENT = 202
     CUDA_ERROR_MAP_FAILED = 205
     CUDA_ERROR_UNMAP_FAILED = 206
     CUDA_ERROR_ARRAY_IS_MAPPED = 207
     CUDA_ERROR_ALREADY_MAPPED = 208
     CUDA_ERROR_NO_BINARY_FOR_GPU = 209
     CUDA_ERROR_ALREADY_ACQUIRED = 210
     CUDA_ERROR_NOT_MAPPED = 211
     CUDA_ERROR_NOT_MAPPED_AS_ARRAY = 212
     CUDA_ERROR_NOT_MAPPED_AS_POINTER = 213
     CUDA_ERROR_ECC_UNCORRECTABLE = 214
     CUDA_ERROR_UNSUPPORTED_LIMIT = 215
     CUDA_ERROR_CONTEXT_ALREADY_IN_USE = 216
     CUDA_ERROR_PEER_ACCESS_UNSUPPORTED = 217
     CUDA_ERROR_INVALID_PTX = 218
     CUDA_ERROR_INVALID_GRAPHICS_CONTEXT = 219
     CUDA_ERROR_NVLINK_UNCORRECTABLE = 220
     CUDA_ERROR_JIT_COMPILER_NOT_FOUND = 221
     CUDA_ERROR_INVALID_SOURCE = 300
     CUDA_ERROR_FILE_NOT_FOUND = 301
     CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND = 302
     CUDA_ERROR_SHARED_OBJECT_INIT_FAILED = 303
     CUDA_ERROR_OPERATING_SYSTEM = 304
     CUDA_ERROR_INVALID_HANDLE = 400
     CUDA_ERROR_ILLEGAL_STATE = 401
     CUDA_ERROR_NOT_FOUND = 500
     CUDA_ERROR_NOT_READY = 600
     CUDA_ERROR_ILLEGAL_ADDRESS = 700
     CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES = 701
     CUDA_ERROR_LAUNCH_TIMEOUT = 702
     CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING = 703
     CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED = 704
     CUDA_ERROR_PEER_ACCESS_NOT_ENABLED = 705
     CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE = 708
     CUDA_ERROR_CONTEXT_IS_DESTROYED = 709
     CUDA_ERROR_ASSERT = 710
     CUDA_ERROR_TOO_MANY_PEERS = 711
     CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED = 712
     CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED = 713
     CUDA_ERROR_HARDWARE_STACK_ERROR = 714
     CUDA_ERROR_ILLEGAL_INSTRUCTION = 715
     CUDA_ERROR_MISALIGNED_ADDRESS = 716
     CUDA_ERROR_INVALID_ADDRESS_SPACE = 717
     CUDA_ERROR_INVALID_PC = 718
     CUDA_ERROR_LAUNCH_FAILED = 719
     CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE = 720
     CUDA_ERROR_NOT_PERMITTED = 800
     CUDA_ERROR_NOT_SUPPORTED = 801
     CUDA_ERROR_SYSTEM_NOT_READY = 802
     CUDA_ERROR_SYSTEM_DRIVER_MISMATCH = 803
     CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE = 804
     CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED = 900
     CUDA_ERROR_STREAM_CAPTURE_INVALIDATED = 901
     CUDA_ERROR_STREAM_CAPTURE_MERGE = 902
     CUDA_ERROR_STREAM_CAPTURE_UNMATCHED = 903
     CUDA_ERROR_STREAM_CAPTURE_UNJOINED = 904
     CUDA_ERROR_STREAM_CAPTURE_ISOLATION = 905
     CUDA_ERROR_STREAM_CAPTURE_IMPLICIT = 906
     CUDA_ERROR_CAPTURED_EVENT = 907
     CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD = 908
     CUDA_ERROR_TIMEOUT = 909
     CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE = 910
     CUDA_ERROR_UNKNOWN = 999
 enum CUshared_carveout
     CU_SHAREDMEM_CARVEOUT_DEFAULT = 18446744073709551615
     CU_SHAREDMEM_CARVEOUT_MAX_SHARED = 100
     CU_SHAREDMEM_CARVEOUT_MAX_L1 = 0
 enum CUsharedconfig
     CU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE = 0
     CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE = 1
     CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE = 2
-enum CUstreamBatchMemOpType
 enum CUstreamCaptureMode
     CU_STREAM_CAPTURE_MODE_GLOBAL = 0
     CU_STREAM_CAPTURE_MODE_THREAD_LOCAL = 1
     CU_STREAM_CAPTURE_MODE_RELAXED = 2
 enum CUstreamCaptureStatus
     CU_STREAM_CAPTURE_STATUS_NONE = 0
     CU_STREAM_CAPTURE_STATUS_ACTIVE = 1
     CU_STREAM_CAPTURE_STATUS_INVALIDATED = 2
-enum CUstreamWaitValue_flags
 enum CUstreamWriteValue_flags
     CU_STREAM_WRITE_VALUE_DEFAULT = 0
     CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER = 1
 enum CUstream_flags
     CU_STREAM_DEFAULT = 0
     CU_STREAM_NON_BLOCKING = 1
struct CUDA_ARRAY3D_DESCRIPTOR
struct CUDA_ARRAY_DESCRIPTOR
struct CUDA_EXTERNAL_MEMORY_BUFFER_DESC
struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC
struct CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC
struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC
struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS
struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS
struct CUDA_HOST_NODE_PARAMS
struct CUDA_KERNEL_NODE_PARAMS
struct CUDA_LAUNCH_PARAMS
struct CUDA_MEMCPY2D
struct CUDA_MEMCPY3D
struct CUDA_MEMCPY3D_PEER
struct CUDA_MEMSET_NODE_PARAMS
-struct CUDA_POINTER_ATTRIBUTE_P2P_TOKENS
struct CUDA_RESOURCE_DESC
struct CUDA_RESOURCE_VIEW_DESC
struct CUDA_TEXTURE_DESC
struct CUdevprop
-struct CUeglFrame
struct CUipcEventHandle
struct CUipcMemHandle
struct CUmemAccessDesc
struct CUmemAllocationProp
struct CUmemLocation
union CUstreamBatchMemOpParams
 typedef CUarray_st * CUarray;
 typedef CUctx_st * CUcontext;
 typedef int CUdevice;
-typedef unsigned int CUdeviceptr;
-typedef CUeglStreamConnection_st * CUeglStreamConnection;
 typedef CUevent_st * CUevent;
-typedef CUextMemory_st * CUexternalMemory;
-typedef CUextSemaphore_st * CUexternalSemaphore;
 typedef CUfunc_st * CUfunction;
 typedef CUgraph_st * CUgraph;
 typedef CUgraphExec_st * CUgraphExec;
 typedef CUgraphNode_st * CUgraphNode;
 typedef CUgraphicsResource_st * CUgraphicsResource;
 typedef void(* CUhostFn)(void* userData);
 typedef CUmipmappedArray_st * CUmipmappedArray;
 typedef CUmod_st * CUmodule;
 typedef size_t(* CUoccupancyB2DSize)(int blockSize);
 typedef CUstream_st * CUstream;
 typedef void(* CUstreamCallback)(CUstream hStream, CUresult status, void* userData);
 typedef unsigned long long CUsurfObject;
-typedef CUsurfref_st * CUsurfref;
 typedef unsigned long long CUtexObject;
 typedef CUtexref_st * CUtexref;

5.2. Error Handling#

 CUresult cuGetErrorName(CUresult error, const char** pStr);
 CUresult cuGetErrorString(CUresult error, const char** pStr);

5.3. Initialization#

 CUresult cuInit(unsigned int Flags);

5.4. Version Management#

 CUresult cuDriverGetVersion(int* driverVersion);

5.5. Device Management#

 CUresult cuDeviceGet(CUdevice* device, int ordinal);
 CUresult cuDeviceGetAttribute(int* pi, CUdevice_attribute attrib, CUdevice dev);
 CUresult cuDeviceGetCount(int* count);
 CUresult cuDeviceGetLuid(char* luid, unsigned int* deviceNodeMask, CUdevice dev);
 CUresult cuDeviceGetName(char* name, int len, CUdevice dev);
-CUresult cuDeviceGetNvSciSyncAttributes(void* nvSciSyncAttrList, CUdevice dev, int flags);
 CUresult cuDeviceGetUuid(CUuuid* uuid, CUdevice dev);
 CUresult cuDeviceTotalMem(size_t* bytes, CUdevice dev);

5.6. Device Management [DEPRECATED]#

 CUresult cuDeviceComputeCapability(int* major, int* minor, CUdevice dev);
 CUresult cuDeviceGetProperties(CUdevprop* prop, CUdevice dev);

5.7. Primary Context Management#

 CUresult cuDevicePrimaryCtxGetState(CUdevice dev, unsigned int* flags, int* active);
 CUresult cuDevicePrimaryCtxRelease(CUdevice dev);
 CUresult cuDevicePrimaryCtxReset(CUdevice dev);
 CUresult cuDevicePrimaryCtxRetain(CUcontext* pctx, CUdevice dev);
 CUresult cuDevicePrimaryCtxSetFlags(CUdevice dev, unsigned int flags);

5.8. Context Management#

 CUresult cuCtxCreate(CUcontext* pctx, unsigned int flags, CUdevice dev);
 CUresult cuCtxDestroy(CUcontext ctx);
 CUresult cuCtxGetApiVersion(CUcontext ctx, unsigned int* version);
 CUresult cuCtxGetCacheConfig(CUfunc_cache* pconfig);
 CUresult cuCtxGetCurrent(CUcontext* pctx);
 CUresult cuCtxGetDevice(CUdevice* device);
 CUresult cuCtxGetFlags(unsigned int* flags);
 CUresult cuCtxGetLimit(size_t* pvalue, CUlimit limit);
 CUresult cuCtxGetSharedMemConfig(CUsharedconfig* pConfig);
 CUresult cuCtxGetStreamPriorityRange(int* leastPriority, int* greatestPriority);
 CUresult cuCtxPopCurrent(CUcontext* pctx);
 CUresult cuCtxPushCurrent(CUcontext ctx);
 CUresult cuCtxSetCacheConfig(CUfunc_cache config);
 CUresult cuCtxSetCurrent(CUcontext ctx);
 CUresult cuCtxSetLimit(CUlimit limit, size_t value);
 CUresult cuCtxSetSharedMemConfig(CUsharedconfig config);
 CUresult cuCtxSynchronize(void);

5.9. Context Management [DEPRECATED]#

 CUresult cuCtxAttach(CUcontext* pctx, unsigned int flags);
 CUresult cuCtxDetach(CUcontext ctx);

5.10. Module Management#

 CUresult cuLinkAddData(CUlinkState state, CUjitInputType type, void* data, size_t size, const char* name, unsigned int numOptions, CUjit_option* options, void** optionValues);
 CUresult cuLinkAddFile(CUlinkState state, CUjitInputType type, const char* path, unsigned int numOptions, CUjit_option* options, void** optionValues);
 CUresult cuLinkComplete(CUlinkState state, void** cubinOut, size_t* sizeOut);
 CUresult cuLinkCreate(unsigned int numOptions, CUjit_option* options, void** optionValues, CUlinkState* stateOut);
 CUresult cuLinkDestroy(CUlinkState state);
 CUresult cuModuleGetFunction(CUfunction* hfunc, CUmodule hmod, const char* name);
 CUresult cuModuleGetGlobal(CUdeviceptr* dptr, size_t* bytes, CUmodule hmod, const char* name);
-CUresult cuModuleGetSurfRef(CUsurfref* pSurfRef, CUmodule hmod, const char* name);
-CUresult cuModuleGetTexRef(CUtexref* pTexRef, CUmodule hmod, const char* name);
 CUresult cuModuleLoad(CUmodule* module, const char* fname);
 CUresult cuModuleLoadData(CUmodule* module, const void* image);
 CUresult cuModuleLoadDataEx(CUmodule* module, const void* image, unsigned int numOptions, CUjit_option* options, void** optionValues);
 CUresult cuModuleLoadFatBinary(CUmodule* module, const void* fatCubin);
 CUresult cuModuleUnload(CUmodule hmod);

5.11. Memory Management#

 CUresult cuArray3DCreate(CUarray* pHandle, const CUDA_ARRAY3D_DESCRIPTOR* pAllocateArray);
 CUresult cuArray3DGetDescriptor(CUDA_ARRAY3D_DESCRIPTOR* pArrayDescriptor, CUarray hArray);
 CUresult cuArrayCreate(CUarray* pHandle, const CUDA_ARRAY_DESCRIPTOR* pAllocateArray);
 CUresult cuArrayDestroy(CUarray hArray);
 CUresult cuArrayGetDescriptor(CUDA_ARRAY_DESCRIPTOR* pArrayDescriptor, CUarray hArray);
 CUresult cuDeviceGetByPCIBusId(CUdevice* dev, const char* pciBusId);
 CUresult cuDeviceGetPCIBusId(char* pciBusId, int len, CUdevice dev);
 CUresult cuIpcCloseMemHandle(CUdeviceptr dptr);
 CUresult cuIpcGetEventHandle(CUipcEventHandle* pHandle, CUevent event);
 CUresult cuIpcGetMemHandle(CUipcMemHandle* pHandle, CUdeviceptr dptr);
 CUresult cuIpcOpenEventHandle(CUevent* phEvent, CUipcEventHandle handle);
 CUresult cuIpcOpenMemHandle(CUdeviceptr* pdptr, CUipcMemHandle handle, unsigned int Flags);
 CUresult cuMemAlloc(CUdeviceptr* dptr, size_t bytesize);
 CUresult cuMemAllocHost(void** pp, size_t bytesize);
 CUresult cuMemAllocManaged(CUdeviceptr* dptr, size_t bytesize, unsigned int flags);
 CUresult cuMemAllocPitch(CUdeviceptr* dptr, size_t* pPitch, size_t WidthInBytes, size_t Height, unsigned int ElementSizeBytes);
 CUresult cuMemFree(CUdeviceptr dptr);
 CUresult cuMemFreeHost(void* p);
 CUresult cuMemGetAddressRange(CUdeviceptr* pbase, size_t* psize, CUdeviceptr dptr);
 CUresult cuMemGetInfo(size_t* free, size_t* total);
 CUresult cuMemHostAlloc(void** pp, size_t bytesize, unsigned int Flags);
 CUresult cuMemHostGetDevicePointer(CUdeviceptr* pdptr, void* p, unsigned int Flags);
 CUresult cuMemHostGetFlags(unsigned int* pFlags, void* p);
 CUresult cuMemHostRegister(void* p, size_t bytesize, unsigned int Flags);
 CUresult cuMemHostUnregister(void* p);
 CUresult cuMemcpy(CUdeviceptr dst, CUdeviceptr src, size_t ByteCount);
 CUresult cuMemcpy2D(const CUDA_MEMCPY2D* pCopy);
 CUresult cuMemcpy2DAsync(const CUDA_MEMCPY2D* pCopy, CUstream hStream);
 CUresult cuMemcpy2DUnaligned(const CUDA_MEMCPY2D* pCopy);
 CUresult cuMemcpy3D(const CUDA_MEMCPY3D* pCopy);
 CUresult cuMemcpy3DAsync(const CUDA_MEMCPY3D* pCopy, CUstream hStream);
-CUresult cuMemcpy3DPeer(const CUDA_MEMCPY3D_PEER* pCopy);
-CUresult cuMemcpy3DPeerAsync(const CUDA_MEMCPY3D_PEER* pCopy, CUstream hStream);
 CUresult cuMemcpyAsync(CUdeviceptr dst, CUdeviceptr src, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyAtoA(CUarray dstArray, size_t dstOffset, CUarray srcArray, size_t srcOffset, size_t ByteCount);
 CUresult cuMemcpyAtoD(CUdeviceptr dstDevice, CUarray srcArray, size_t srcOffset, size_t ByteCount);
 CUresult cuMemcpyAtoH(void* dstHost, CUarray srcArray, size_t srcOffset, size_t ByteCount);
 CUresult cuMemcpyAtoHAsync(void* dstHost, CUarray srcArray, size_t srcOffset, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyDtoA(CUarray dstArray, size_t dstOffset, CUdeviceptr srcDevice, size_t ByteCount);
 CUresult cuMemcpyDtoD(CUdeviceptr dstDevice, CUdeviceptr srcDevice, size_t ByteCount);
 CUresult cuMemcpyDtoDAsync(CUdeviceptr dstDevice, CUdeviceptr srcDevice, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyDtoH(void* dstHost, CUdeviceptr srcDevice, size_t ByteCount);
 CUresult cuMemcpyDtoHAsync(void* dstHost, CUdeviceptr srcDevice, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyHtoA(CUarray dstArray, size_t dstOffset, const void* srcHost, size_t ByteCount);
 CUresult cuMemcpyHtoAAsync(CUarray dstArray, size_t dstOffset, const void* srcHost, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyHtoD(CUdeviceptr dstDevice, const void* srcHost, size_t ByteCount);
 CUresult cuMemcpyHtoDAsync(CUdeviceptr dstDevice, const void* srcHost, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyPeer(CUdeviceptr dstDevice, CUcontext dstContext, CUdeviceptr srcDevice, CUcontext srcContext, size_t ByteCount);
 CUresult cuMemcpyPeerAsync(CUdeviceptr dstDevice, CUcontext dstContext, CUdeviceptr srcDevice, CUcontext srcContext, size_t ByteCount, CUstream hStream);
 CUresult cuMemsetD16(CUdeviceptr dstDevice, unsigned short us, size_t N);
 CUresult cuMemsetD16Async(CUdeviceptr dstDevice, unsigned short us, size_t N, CUstream hStream);
 CUresult cuMemsetD2D16(CUdeviceptr dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height);
 CUresult cuMemsetD2D16Async(CUdeviceptr dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height, CUstream hStream);
 CUresult cuMemsetD2D32(CUdeviceptr dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height);
 CUresult cuMemsetD2D32Async(CUdeviceptr dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height, CUstream hStream);
 CUresult cuMemsetD2D8(CUdeviceptr dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height);
 CUresult cuMemsetD2D8Async(CUdeviceptr dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height, CUstream hStream);
 CUresult cuMemsetD32(CUdeviceptr dstDevice, unsigned int ui, size_t N);
 CUresult cuMemsetD32Async(CUdeviceptr dstDevice, unsigned int ui, size_t N, CUstream hStream);
 CUresult cuMemsetD8(CUdeviceptr dstDevice, unsigned char uc, size_t N);
 CUresult cuMemsetD8Async(CUdeviceptr dstDevice, unsigned char uc, size_t N, CUstream hStream);
 CUresult cuMipmappedArrayCreate(CUmipmappedArray* pHandle, const CUDA_ARRAY3D_DESCRIPTOR* pMipmappedArrayDesc, unsigned int numMipmapLevels);
 CUresult cuMipmappedArrayDestroy(CUmipmappedArray hMipmappedArray);
 CUresult cuMipmappedArrayGetLevel(CUarray* pLevelArray, CUmipmappedArray hMipmappedArray, unsigned int level);

5.12. Virtual Memory Management#

 CUresult cuMemAddressFree(CUdeviceptr ptr, size_t size);
 CUresult cuMemAddressReserve(CUdeviceptr* ptr, size_t size, size_t alignment, CUdeviceptr addr, unsigned long long flags);
 CUresult cuMemCreate(CUmemGenericAllocationHandle* handle, size_t size, const CUmemAllocationProp* prop, unsigned long long flags);
 CUresult cuMemExportToShareableHandle(void* shareableHandle, CUmemGenericAllocationHandle handle, CUmemAllocationHandleType handleType, unsigned long long flags);
 CUresult cuMemGetAccess(unsigned long long* flags, const CUmemLocation* location, CUdeviceptr ptr);
 CUresult cuMemGetAllocationGranularity(size_t* granularity, const CUmemAllocationProp* prop, CUmemAllocationGranularity_flags option);
 CUresult cuMemGetAllocationPropertiesFromHandle(CUmemAllocationProp* prop, CUmemGenericAllocationHandle handle);
 CUresult cuMemImportFromShareableHandle(CUmemGenericAllocationHandle* handle, void* osHandle, CUmemAllocationHandleType shHandleType);
 CUresult cuMemMap(CUdeviceptr ptr, size_t size, size_t offset, CUmemGenericAllocationHandle handle, unsigned long long flags);
 CUresult cuMemRelease(CUmemGenericAllocationHandle handle);
 CUresult cuMemSetAccess(CUdeviceptr ptr, size_t size, const CUmemAccessDesc* desc, size_t count);
 CUresult cuMemUnmap(CUdeviceptr ptr, size_t size);

5.13. Unified Addressing#

 CUresult cuMemAdvise(CUdeviceptr devPtr, size_t count, CUmem_advise advice, CUdevice device);
 CUresult cuMemPrefetchAsync(CUdeviceptr devPtr, size_t count, CUdevice dstDevice, CUstream hStream);
 CUresult cuMemRangeGetAttribute(void* data, size_t dataSize, CUmem_range_attribute attribute, CUdeviceptr devPtr, size_t count);
 CUresult cuMemRangeGetAttributes(void** data, size_t* dataSizes, CUmem_range_attribute* attributes, size_t numAttributes, CUdeviceptr devPtr, size_t count);
 CUresult cuPointerGetAttribute(void* data, CUpointer_attribute attribute, CUdeviceptr ptr);
 CUresult cuPointerGetAttributes(unsigned int numAttributes, CUpointer_attribute* attributes, void** data, CUdeviceptr ptr);
 CUresult cuPointerSetAttribute(const void* value, CUpointer_attribute attribute, CUdeviceptr ptr);

5.14. Stream Management#

 CUresult cuStreamAddCallback(CUstream hStream, CUstreamCallback callback, void* userData, unsigned int flags);
 CUresult cuStreamAttachMemAsync(CUstream hStream, CUdeviceptr dptr, size_t length, unsigned int flags);
 CUresult cuStreamBeginCapture(CUstream hStream, CUstreamCaptureMode mode);
 CUresult cuStreamCreate(CUstream* phStream, unsigned int Flags);
 CUresult cuStreamCreateWithPriority(CUstream* phStream, unsigned int flags, int priority);
 CUresult cuStreamDestroy(CUstream hStream);
 CUresult cuStreamEndCapture(CUstream hStream, CUgraph* phGraph);
 CUresult cuStreamGetCaptureInfo(CUstream hStream, CUstreamCaptureStatus* captureStatus, cuuint64_t* id);
 CUresult cuStreamGetCtx(CUstream hStream, CUcontext* pctx);
 CUresult cuStreamGetFlags(CUstream hStream, unsigned int* flags);
 CUresult cuStreamGetPriority(CUstream hStream, int* priority);
 CUresult cuStreamIsCapturing(CUstream hStream, CUstreamCaptureStatus* captureStatus);
 CUresult cuStreamQuery(CUstream hStream);
 CUresult cuStreamSynchronize(CUstream hStream);
 CUresult cuStreamWaitEvent(CUstream hStream, CUevent hEvent, unsigned int Flags);
 CUresult cuThreadExchangeStreamCaptureMode(CUstreamCaptureMode* mode);

5.15. Event Management#

 CUresult cuEventCreate(CUevent* phEvent, unsigned int Flags);
 CUresult cuEventDestroy(CUevent hEvent);
 CUresult cuEventElapsedTime(float* pMilliseconds, CUevent hStart, CUevent hEnd);
 CUresult cuEventQuery(CUevent hEvent);
 CUresult cuEventRecord(CUevent hEvent, CUstream hStream);
 CUresult cuEventSynchronize(CUevent hEvent);

5.16. External Resource Interoperability#

-CUresult cuDestroyExternalMemory(CUexternalMemory extMem);
-CUresult cuDestroyExternalSemaphore(CUexternalSemaphore extSem);
-CUresult cuExternalMemoryGetMappedBuffer(CUdeviceptr* devPtr, CUexternalMemory extMem, const CUDA_EXTERNAL_MEMORY_BUFFER_DESC* bufferDesc);
-CUresult cuExternalMemoryGetMappedMipmappedArray(CUmipmappedArray* mipmap, CUexternalMemory extMem, const CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC* mipmapDesc);
-CUresult cuImportExternalMemory(CUexternalMemory* extMem_out, const CUDA_EXTERNAL_MEMORY_HANDLE_DESC* memHandleDesc);
-CUresult cuImportExternalSemaphore(CUexternalSemaphore* extSem_out, const CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC* semHandleDesc);
-CUresult cuSignalExternalSemaphoresAsync(const CUexternalSemaphore* extSemArray, const CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS* paramsArray, unsigned int numExtSems, CUstream stream);
-CUresult cuWaitExternalSemaphoresAsync(const CUexternalSemaphore* extSemArray, const CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS* paramsArray, unsigned int numExtSems, CUstream stream);

5.17. Stream memory operations#

-CUresult cuStreamBatchMemOp(CUstream stream, unsigned int count, CUstreamBatchMemOpParams* paramArray, unsigned int flags);
-CUresult cuStreamWaitValue32(CUstream stream, CUdeviceptr addr, cuuint32_t value, unsigned int flags);
-CUresult cuStreamWaitValue64(CUstream stream, CUdeviceptr addr, cuuint64_t value, unsigned int flags);
 CUresult cuStreamWriteValue32(CUstream stream, CUdeviceptr addr, cuuint32_t value, unsigned int flags);
-CUresult cuStreamWriteValue64(CUstream stream, CUdeviceptr addr, cuuint64_t value, unsigned int flags);

5.18. Execution Control#

 CUresult cuFuncGetAttribute(int* pi, CUfunction_attribute attrib, CUfunction hfunc);
 CUresult cuFuncSetAttribute(CUfunction hfunc, CUfunction_attribute attrib, int value);
 CUresult cuFuncSetCacheConfig(CUfunction hfunc, CUfunc_cache config);
 CUresult cuFuncSetSharedMemConfig(CUfunction hfunc, CUsharedconfig config);
 CUresult 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);
-CUresult cuLaunchCooperativeKernelMultiDevice(CUDA_LAUNCH_PARAMS* launchParamsList, unsigned int numDevices, unsigned int flags);
 CUresult cuLaunchHostFunc(CUstream hStream, CUhostFn fn, void* userData);
 CUresult 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);

5.19. Execution Control [DEPRECATED]#

 CUresult cuFuncSetBlockShape(CUfunction hfunc, int x, int y, int z);
 CUresult cuFuncSetSharedSize(CUfunction hfunc, unsigned int bytes);
 CUresult cuLaunch(CUfunction f);
 CUresult cuLaunchGrid(CUfunction f, int grid_width, int grid_height);
 CUresult cuLaunchGridAsync(CUfunction f, int grid_width, int grid_height, CUstream hStream);
 CUresult cuParamSetSize(CUfunction hfunc, unsigned int numbytes);
-CUresult cuParamSetTexRef(CUfunction hfunc, int texunit, CUtexref hTexRef);
 CUresult cuParamSetf(CUfunction hfunc, int offset, float value);
 CUresult cuParamSeti(CUfunction hfunc, int offset, unsigned int value);
 CUresult cuParamSetv(CUfunction hfunc, int offset, void* ptr, unsigned int numbytes);

5.20. Graph Management#

 CUresult cuGraphAddChildGraphNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, CUgraph childGraph);
 CUresult cuGraphAddDependencies(CUgraph hGraph, const CUgraphNode* from, const CUgraphNode* to, size_t numDependencies);
 CUresult cuGraphAddEmptyNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies);
 CUresult cuGraphAddHostNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, const CUDA_HOST_NODE_PARAMS* nodeParams);
-CUresult cuGraphAddKernelNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, const CUDA_KERNEL_NODE_PARAMS* nodeParams);
-CUresult cuGraphAddMemcpyNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, const CUDA_MEMCPY3D* copyParams, CUcontext ctx);
 CUresult cuGraphAddMemsetNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, const CUDA_MEMSET_NODE_PARAMS* memsetParams, CUcontext ctx);
 CUresult cuGraphChildGraphNodeGetGraph(CUgraphNode hNode, CUgraph* phGraph);
 CUresult cuGraphClone(CUgraph* phGraphClone, CUgraph originalGraph);
 CUresult cuGraphCreate(CUgraph* phGraph, unsigned int flags);
 CUresult cuGraphDestroy(CUgraph hGraph);
 CUresult cuGraphDestroyNode(CUgraphNode hNode);
 CUresult cuGraphExecDestroy(CUgraphExec hGraphExec);
 CUresult cuGraphExecHostNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, const CUDA_HOST_NODE_PARAMS* nodeParams);
-CUresult cuGraphExecKernelNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, const CUDA_KERNEL_NODE_PARAMS* nodeParams);
-CUresult cuGraphExecMemcpyNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, const CUDA_MEMCPY3D* copyParams, CUcontext ctx);
-CUresult cuGraphExecMemsetNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, const CUDA_MEMSET_NODE_PARAMS* memsetParams, CUcontext ctx);
 CUresult cuGraphExecUpdate(CUgraphExec hGraphExec, CUgraph hGraph, CUgraphNode* hErrorNode_out, CUgraphExecUpdateResult* updateResult_out);
 CUresult cuGraphGetEdges(CUgraph hGraph, CUgraphNode* from, CUgraphNode* to, size_t* numEdges);
 CUresult cuGraphGetNodes(CUgraph hGraph, CUgraphNode* nodes, size_t* numNodes);
 CUresult cuGraphGetRootNodes(CUgraph hGraph, CUgraphNode* rootNodes, size_t* numRootNodes);
 CUresult cuGraphHostNodeGetParams(CUgraphNode hNode, CUDA_HOST_NODE_PARAMS* nodeParams);
 CUresult cuGraphHostNodeSetParams(CUgraphNode hNode, const CUDA_HOST_NODE_PARAMS* nodeParams);
-CUresult cuGraphInstantiate(CUgraphExec* phGraphExec, CUgraph hGraph, CUgraphNode* phErrorNode, char* logBuffer, size_t bufferSize);
-CUresult cuGraphKernelNodeGetParams(CUgraphNode hNode, CUDA_KERNEL_NODE_PARAMS* nodeParams);
-CUresult cuGraphKernelNodeSetParams(CUgraphNode hNode, const CUDA_KERNEL_NODE_PARAMS* nodeParams);
 CUresult cuGraphLaunch(CUgraphExec hGraphExec, CUstream hStream);
-CUresult cuGraphMemcpyNodeGetParams(CUgraphNode hNode, CUDA_MEMCPY3D* nodeParams);
-CUresult cuGraphMemcpyNodeSetParams(CUgraphNode hNode, const CUDA_MEMCPY3D* nodeParams);
 CUresult cuGraphMemsetNodeGetParams(CUgraphNode hNode, CUDA_MEMSET_NODE_PARAMS* nodeParams);
 CUresult cuGraphMemsetNodeSetParams(CUgraphNode hNode, const CUDA_MEMSET_NODE_PARAMS* nodeParams);
 CUresult cuGraphNodeFindInClone(CUgraphNode* phNode, CUgraphNode hOriginalNode, CUgraph hClonedGraph);
 CUresult cuGraphNodeGetDependencies(CUgraphNode hNode, CUgraphNode* dependencies, size_t* numDependencies);
 CUresult cuGraphNodeGetDependentNodes(CUgraphNode hNode, CUgraphNode* dependentNodes, size_t* numDependentNodes);
 CUresult cuGraphNodeGetType(CUgraphNode hNode, CUgraphNodeType* type);
 CUresult cuGraphRemoveDependencies(CUgraph hGraph, const CUgraphNode* from, const CUgraphNode* to, size_t numDependencies);

5.21. Occupancy#

 CUresult cuOccupancyMaxActiveBlocksPerMultiprocessor(int* numBlocks, CUfunction func, int blockSize, size_t dynamicSMemSize);
 CUresult cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int* numBlocks, CUfunction func, int blockSize, size_t dynamicSMemSize, unsigned int flags);
 CUresult cuOccupancyMaxPotentialBlockSize(int* minGridSize, int* blockSize, CUfunction func, CUoccupancyB2DSize blockSizeToDynamicSMemSize, size_t dynamicSMemSize, int blockSizeLimit);
 CUresult cuOccupancyMaxPotentialBlockSizeWithFlags(int* minGridSize, int* blockSize, CUfunction func, CUoccupancyB2DSize blockSizeToDynamicSMemSize, size_t dynamicSMemSize, int blockSizeLimit, unsigned int flags);

5.22. Texture Reference Management [DEPRECATED]#

 CUresult cuTexRefCreate(CUtexref* pTexRef);
 CUresult cuTexRefDestroy(CUtexref hTexRef);
 CUresult cuTexRefGetAddress(CUdeviceptr* pdptr, CUtexref hTexRef);
 CUresult cuTexRefGetAddressMode(CUaddress_mode* pam, CUtexref hTexRef, int dim);
 CUresult cuTexRefGetArray(CUarray* phArray, CUtexref hTexRef);
-CUresult cuTexRefGetBorderColor(float* pBorderColor, CUtexref hTexRef);
 CUresult cuTexRefGetFilterMode(CUfilter_mode* pfm, CUtexref hTexRef);
-CUresult cuTexRefGetFlags(unsigned int* pFlags, CUtexref hTexRef);
-CUresult cuTexRefGetFormat(CUarray_format* pFormat, int* pNumChannels, CUtexref hTexRef);
-CUresult cuTexRefGetMaxAnisotropy(int* pmaxAniso, CUtexref hTexRef);
-CUresult cuTexRefGetMipmapFilterMode(CUfilter_mode* pfm, CUtexref hTexRef);
-CUresult cuTexRefGetMipmapLevelBias(float* pbias, CUtexref hTexRef);
-CUresult cuTexRefGetMipmapLevelClamp(float* pminMipmapLevelClamp, float* pmaxMipmapLevelClamp, CUtexref hTexRef);
-CUresult cuTexRefGetMipmappedArray(CUmipmappedArray* phMipmappedArray, CUtexref hTexRef);
-CUresult cuTexRefSetAddress(size_t* ByteOffset, CUtexref hTexRef, CUdeviceptr dptr, size_t bytes);
-CUresult cuTexRefSetAddress2D(CUtexref hTexRef, const CUDA_ARRAY_DESCRIPTOR* desc, CUdeviceptr dptr, size_t Pitch);
-CUresult cuTexRefSetAddressMode(CUtexref hTexRef, int dim, CUaddress_mode am);
-CUresult cuTexRefSetArray(CUtexref hTexRef, CUarray hArray, unsigned int Flags);
-CUresult cuTexRefSetBorderColor(CUtexref hTexRef, float* pBorderColor);
-CUresult cuTexRefSetFilterMode(CUtexref hTexRef, CUfilter_mode fm);
-CUresult cuTexRefSetFlags(CUtexref hTexRef, unsigned int Flags);
-CUresult cuTexRefSetFormat(CUtexref hTexRef, CUarray_format fmt, int NumPackedComponents);
-CUresult cuTexRefSetMaxAnisotropy(CUtexref hTexRef, unsigned int maxAniso);
-CUresult cuTexRefSetMipmapFilterMode(CUtexref hTexRef, CUfilter_mode fm);
-CUresult cuTexRefSetMipmapLevelBias(CUtexref hTexRef, float bias);
-CUresult cuTexRefSetMipmapLevelClamp(CUtexref hTexRef, float minMipmapLevelClamp, float maxMipmapLevelClamp);
-CUresult cuTexRefSetMipmappedArray(CUtexref hTexRef, CUmipmappedArray hMipmappedArray, unsigned int Flags);

5.23. Surface Reference Management [DEPRECATED]#

-CUresult cuSurfRefGetArray(CUarray* phArray, CUsurfref hSurfRef);
-CUresult cuSurfRefSetArray(CUsurfref hSurfRef, CUarray hArray, unsigned int Flags);

5.24. Texture Object Management#

 CUresult cuTexObjectCreate(CUtexObject* pTexObject, const CUDA_RESOURCE_DESC* pResDesc, const CUDA_TEXTURE_DESC* pTexDesc, const CUDA_RESOURCE_VIEW_DESC* pResViewDesc);
 CUresult cuTexObjectDestroy(CUtexObject texObject);
 CUresult cuTexObjectGetResourceDesc(CUDA_RESOURCE_DESC* pResDesc, CUtexObject texObject);
 CUresult cuTexObjectGetResourceViewDesc(CUDA_RESOURCE_VIEW_DESC* pResViewDesc, CUtexObject texObject);
 CUresult cuTexObjectGetTextureDesc(CUDA_TEXTURE_DESC* pTexDesc, CUtexObject texObject);

5.25. Surface Object Management#

 CUresult cuSurfObjectCreate(CUsurfObject* pSurfObject, const CUDA_RESOURCE_DESC* pResDesc);
 CUresult cuSurfObjectDestroy(CUsurfObject surfObject);
 CUresult cuSurfObjectGetResourceDesc(CUDA_RESOURCE_DESC* pResDesc, CUsurfObject surfObject);

5.26. Peer Context Memory Access#

 CUresult cuCtxDisablePeerAccess(CUcontext peerContext);
 CUresult cuCtxEnablePeerAccess(CUcontext peerContext, unsigned int Flags);
 CUresult cuDeviceCanAccessPeer(int* canAccessPeer, CUdevice dev, CUdevice peerDev);
 CUresult cuDeviceGetP2PAttribute(int* value, CUdevice_P2PAttribute attrib, CUdevice srcDevice, CUdevice dstDevice);

5.27. Graphics Interoperability#

 CUresult cuGraphicsMapResources(unsigned int count, CUgraphicsResource* resources, CUstream hStream);
-CUresult cuGraphicsResourceGetMappedMipmappedArray(CUmipmappedArray* pMipmappedArray, CUgraphicsResource resource);
 CUresult cuGraphicsResourceGetMappedPointer(CUdeviceptr* pDevPtr, size_t* pSize, CUgraphicsResource resource);
 CUresult cuGraphicsResourceSetMapFlags(CUgraphicsResource resource, unsigned int flags);
 CUresult cuGraphicsSubResourceGetMappedArray(CUarray* pArray, CUgraphicsResource resource, unsigned int arrayIndex, unsigned int mipLevel);
 CUresult cuGraphicsUnmapResources(unsigned int count, CUgraphicsResource* resources, CUstream hStream);
 CUresult cuGraphicsUnregisterResource(CUgraphicsResource resource);

5.28. Profiler Control#

 CUresult cuProfilerInitialize(const char* configFile, const char* outputFile, CUoutput_mode outputMode);
 CUresult cuProfilerStart(void);
 CUresult cuProfilerStop(void);

5.29. OpenGL Interoperability#

 enum CUGLDeviceList
     CU_GL_DEVICE_LIST_ALL = 1
     CU_GL_DEVICE_LIST_CURRENT_FRAME = 2
     CU_GL_DEVICE_LIST_NEXT_FRAME = 3
 CUresult cuGLGetDevices(unsigned int* pCudaDeviceCount, CUdevice* pCudaDevices, unsigned int cudaDeviceCount, CUGLDeviceList deviceList);
 CUresult cuGraphicsGLRegisterBuffer(CUgraphicsResource* pCudaResource, GLuint buffer, unsigned int Flags);
 CUresult cuGraphicsGLRegisterImage(CUgraphicsResource* pCudaResource, GLuint image, GLenum target, unsigned int Flags);
-CUresult cuWGLGetDevice(CUdevice* pDevice, HGPUNV hGpu);

5.29.1. OpenGL Interoperability [DEPRECATED]#

 enum CUGLmap_flags
     CU_GL_MAP_RESOURCE_FLAGS_NONE = 0
     CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY = 1
     CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 2
 CUresult cuGLCtxCreate(CUcontext* pCtx, unsigned int Flags, CUdevice device);
 CUresult cuGLInit(void);
 CUresult cuGLMapBufferObject(CUdeviceptr* dptr, size_t* size, GLuint buffer);
 CUresult cuGLMapBufferObjectAsync(CUdeviceptr* dptr, size_t* size, GLuint buffer, CUstream hStream);
 CUresult cuGLRegisterBufferObject(GLuint buffer);
 CUresult cuGLSetBufferObjectMapFlags(GLuint buffer, unsigned int Flags);
 CUresult cuGLUnmapBufferObject(GLuint buffer);
 CUresult cuGLUnmapBufferObjectAsync(GLuint buffer, CUstream hStream);
 CUresult cuGLUnregisterBufferObject(GLuint buffer);

5.30. Direct3D 9 Interoperability#

-Windows APIs are currently unsupported

5.30.1. Direct3D 9 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

5.31. Direct3D 10 Interoperability#

-Windows APIs are currently unsupported

5.31.1. Direct3D 10 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

5.32. Direct3D 11 Interoperability#

-Windows APIs are currently unsupported

5.32.1. Direct3D 11 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

5.33. VDPAU Interoperability#

-VDPAU is currently unsupported

5.34. EGL Interoperability#

-EGL is currently unsupported

75% (436 of 583 declarations available)

6.1. Data types used by CUDA driver#

 #define CUDA_ARRAY3D_2DARRAY
 #define CUDA_ARRAY3D_COLOR_ATTACHMENT
 #define CUDA_ARRAY3D_CUBEMAP
 #define CUDA_ARRAY3D_DEFERRED_MAPPING
 #define CUDA_ARRAY3D_DEPTH_TEXTURE
 #define CUDA_ARRAY3D_LAYERED
 #define CUDA_ARRAY3D_SPARSE
 #define CUDA_ARRAY3D_SURFACE_LDST
 #define CUDA_ARRAY3D_TEXTURE_GATHER
-#define CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC
-#define CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC
-#define CUDA_EGL_INFINITE_TIMEOUT
-#define CUDA_EXTERNAL_MEMORY_DEDICATED
-#define CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC
-#define CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC
-#define CUDA_NVSCISYNC_ATTR_SIGNAL
-#define CUDA_NVSCISYNC_ATTR_WAIT
 #define CUDA_VERSION
 #define CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL
 #define CU_DEVICE_CPU
 #define CU_DEVICE_INVALID
 #define CU_IPC_HANDLE_SIZE
 #define CU_LAUNCH_PARAM_BUFFER_POINTER
 #define CU_LAUNCH_PARAM_BUFFER_POINTER_AS_INT
 #define CU_LAUNCH_PARAM_BUFFER_SIZE
 #define CU_LAUNCH_PARAM_BUFFER_SIZE_AS_INT
 #define CU_LAUNCH_PARAM_END
 #define CU_LAUNCH_PARAM_END_AS_INT
 #define CU_MEMHOSTALLOC_DEVICEMAP
 #define CU_MEMHOSTALLOC_PORTABLE
 #define CU_MEMHOSTALLOC_WRITECOMBINED
 #define CU_MEMHOSTREGISTER_DEVICEMAP
 #define CU_MEMHOSTREGISTER_IOMEMORY
 #define CU_MEMHOSTREGISTER_PORTABLE
 #define CU_MEMHOSTREGISTER_READ_ONLY
-#define CU_MEM_CREATE_USAGE_TILE_POOL
-#define CU_PARAM_TR_DEFAULT
 #define CU_STREAM_LEGACY
 #define CU_STREAM_PER_THREAD
-#define CU_TRSA_OVERRIDE_FORMAT
 #define CU_TRSF_DISABLE_TRILINEAR_OPTIMIZATION
 #define CU_TRSF_NORMALIZED_COORDINATES
 #define CU_TRSF_READ_AS_INTEGER
 #define CU_TRSF_SEAMLESS_CUBEMAP
 #define CU_TRSF_SRGB
-#define MAX_PLANES
-enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS
 enum CUGPUDirectRDMAWritesOrdering
     CU_GPU_DIRECT_RDMA_WRITES_ORDERING_NONE = 0
     CU_GPU_DIRECT_RDMA_WRITES_ORDERING_OWNER = 100
     CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES = 200
-enum CUaccessProperty
 enum CUaddress_mode
     CU_TR_ADDRESS_MODE_WRAP = 0
     CU_TR_ADDRESS_MODE_CLAMP = 1
     CU_TR_ADDRESS_MODE_MIRROR = 2
     CU_TR_ADDRESS_MODE_BORDER = 3
-enum CUarraySparseSubresourceType
 enum CUarray_cubemap_face
     CU_CUBEMAP_FACE_POSITIVE_X = 0
     CU_CUBEMAP_FACE_NEGATIVE_X = 1
     CU_CUBEMAP_FACE_POSITIVE_Y = 2
     CU_CUBEMAP_FACE_NEGATIVE_Y = 3
     CU_CUBEMAP_FACE_POSITIVE_Z = 4
     CU_CUBEMAP_FACE_NEGATIVE_Z = 5
 enum CUarray_format
     CU_AD_FORMAT_UNSIGNED_INT8 = 1
     CU_AD_FORMAT_UNSIGNED_INT16 = 2
     CU_AD_FORMAT_UNSIGNED_INT32 = 3
     CU_AD_FORMAT_SIGNED_INT8 = 8
     CU_AD_FORMAT_SIGNED_INT16 = 9
     CU_AD_FORMAT_SIGNED_INT32 = 10
     CU_AD_FORMAT_HALF = 16
     CU_AD_FORMAT_FLOAT = 32
     CU_AD_FORMAT_NV12 = 176
     CU_AD_FORMAT_UNORM_INT8X1 = 192
     CU_AD_FORMAT_UNORM_INT8X2 = 193
     CU_AD_FORMAT_UNORM_INT8X4 = 194
     CU_AD_FORMAT_UNORM_INT16X1 = 195
     CU_AD_FORMAT_UNORM_INT16X2 = 196
     CU_AD_FORMAT_UNORM_INT16X4 = 197
     CU_AD_FORMAT_SNORM_INT8X1 = 198
     CU_AD_FORMAT_SNORM_INT8X2 = 199
     CU_AD_FORMAT_SNORM_INT8X4 = 200
     CU_AD_FORMAT_SNORM_INT16X1 = 201
     CU_AD_FORMAT_SNORM_INT16X2 = 202
     CU_AD_FORMAT_SNORM_INT16X4 = 203
     CU_AD_FORMAT_BC1_UNORM = 145
     CU_AD_FORMAT_BC1_UNORM_SRGB = 146
     CU_AD_FORMAT_BC2_UNORM = 147
     CU_AD_FORMAT_BC2_UNORM_SRGB = 148
     CU_AD_FORMAT_BC3_UNORM = 149
     CU_AD_FORMAT_BC3_UNORM_SRGB = 150
     CU_AD_FORMAT_BC4_UNORM = 151
     CU_AD_FORMAT_BC4_SNORM = 152
     CU_AD_FORMAT_BC5_UNORM = 153
     CU_AD_FORMAT_BC5_SNORM = 154
     CU_AD_FORMAT_BC6H_UF16 = 155
     CU_AD_FORMAT_BC6H_SF16 = 156
     CU_AD_FORMAT_BC7_UNORM = 157
     CU_AD_FORMAT_BC7_UNORM_SRGB = 158
-enum CUclusterSchedulingPolicy
 enum CUcomputemode
     CU_COMPUTEMODE_DEFAULT = 0
     CU_COMPUTEMODE_PROHIBITED = 2
     CU_COMPUTEMODE_EXCLUSIVE_PROCESS = 3
 enum CUctx_flags
     CU_CTX_SCHED_AUTO = 0
     CU_CTX_SCHED_SPIN = 1
     CU_CTX_SCHED_YIELD = 2
     CU_CTX_SCHED_BLOCKING_SYNC = 4
     CU_CTX_BLOCKING_SYNC = 4
     CU_CTX_SCHED_MASK = 7
     CU_CTX_MAP_HOST = 8
     CU_CTX_LMEM_RESIZE_TO_MAX = 16
-    CU_CTX_FLAGS_MASK = 31
 enum CUdevice_P2PAttribute
     CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK = 1
     CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED = 2
     CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED = 3
     CU_DEVICE_P2P_ATTRIBUTE_ACCESS_ACCESS_SUPPORTED = 4
     CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED = 4
 enum CUdevice_attribute
     CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1
     CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = 2
     CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y = 3
     CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z = 4
     CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = 5
     CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y = 6
     CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z = 7
     CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK = 8
     CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK = 8
     CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY = 9
     CU_DEVICE_ATTRIBUTE_WARP_SIZE = 10
     CU_DEVICE_ATTRIBUTE_MAX_PITCH = 11
     CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK = 12
     CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK = 12
     CU_DEVICE_ATTRIBUTE_CLOCK_RATE = 13
     CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT = 14
     CU_DEVICE_ATTRIBUTE_GPU_OVERLAP = 15
     CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT = 16
     CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT = 17
     CU_DEVICE_ATTRIBUTE_INTEGRATED = 18
     CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY = 19
     CU_DEVICE_ATTRIBUTE_COMPUTE_MODE = 20
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH = 21
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH = 22
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT = 23
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH = 24
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT = 25
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH = 26
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH = 27
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT = 28
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS = 29
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH = 27
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT = 28
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES = 29
     CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT = 30
     CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS = 31
     CU_DEVICE_ATTRIBUTE_ECC_ENABLED = 32
     CU_DEVICE_ATTRIBUTE_PCI_BUS_ID = 33
     CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID = 34
     CU_DEVICE_ATTRIBUTE_TCC_DRIVER = 35
     CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE = 36
     CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH = 37
     CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE = 38
     CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR = 39
     CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT = 40
     CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING = 41
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH = 42
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS = 43
     CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER = 44
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH = 45
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT = 46
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE = 47
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE = 48
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE = 49
     CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID = 50
     CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT = 51
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH = 52
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH = 53
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS = 54
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH = 55
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH = 56
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT = 57
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH = 58
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT = 59
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH = 60
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH = 61
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS = 62
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH = 63
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT = 64
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS = 65
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH = 66
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH = 67
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS = 68
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH = 69
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH = 70
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT = 71
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH = 72
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH = 73
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT = 74
     CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR = 75
     CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR = 76
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH = 77
     CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED = 78
     CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED = 79
     CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED = 80
     CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR = 81
     CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR = 82
     CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY = 83
     CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD = 84
     CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID = 85
     CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED = 86
     CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO = 87
     CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS = 88
     CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS = 89
     CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED = 90
     CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM = 91
-    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS = 92
-    CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS = 93
-    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR = 94
     CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH = 95
     CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH = 96
     CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN = 97
     CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES = 98
     CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED = 99
     CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES = 100
     CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST = 101
     CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED = 102
     CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED = 102
     CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED = 103
     CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED = 104
     CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED = 105
     CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR = 106
     CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED = 107
     CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE = 108
     CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE = 109
     CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED = 110
     CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK = 111
     CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED = 112
     CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED = 113
     CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED = 114
     CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED = 115
     CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED = 116
     CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS = 117
     CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING = 118
     CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES = 119
     CU_DEVICE_ATTRIBUTE_CLUSTER_LAUNCH = 120
     CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED = 121
-    CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS_V2 = 122
-    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR_V2 = 123
     CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED = 124
-    CU_DEVICE_ATTRIBUTE_MAX = 125
 enum CUdriverProcAddress_flags
     CU_GET_PROC_ADDRESS_DEFAULT = 0
     CU_GET_PROC_ADDRESS_LEGACY_STREAM = 1
     CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM = 2
-enum CUeglColorFormat
-enum CUeglFrameType
-enum CUeglResourceLocationFlags
 enum CUevent_flags
     CU_EVENT_DEFAULT = 0
     CU_EVENT_BLOCKING_SYNC = 1
     CU_EVENT_DISABLE_TIMING = 2
     CU_EVENT_INTERPROCESS = 4
 enum CUevent_record_flags
     CU_EVENT_RECORD_DEFAULT = 0
     CU_EVENT_RECORD_EXTERNAL = 1
 enum CUevent_sched_flags
     CU_EVENT_SCHED_AUTO = 0
     CU_EVENT_SCHED_SPIN = 1
     CU_EVENT_SCHED_YIELD = 2
     CU_EVENT_SCHED_BLOCKING_SYNC = 4
 enum CUevent_wait_flags
     CU_EVENT_WAIT_DEFAULT = 0
     CU_EVENT_WAIT_EXTERNAL = 1
 enum CUexecAffinityType
     CU_EXEC_AFFINITY_TYPE_SM_COUNT = 0
     CU_EXEC_AFFINITY_TYPE_MAX = 1
-enum CUexternalMemoryHandleType
-enum CUexternalSemaphoreHandleType
 enum CUfilter_mode
     CU_TR_FILTER_MODE_POINT = 0
     CU_TR_FILTER_MODE_LINEAR = 1
 enum CUflushGPUDirectRDMAWritesOptions
     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_HOST = 1
     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS = 2
 enum CUflushGPUDirectRDMAWritesScope
     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_OWNER = 100
     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES = 200
 enum CUflushGPUDirectRDMAWritesTarget
     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX = 0
 enum CUfunc_cache
     CU_FUNC_CACHE_PREFER_NONE = 0
     CU_FUNC_CACHE_PREFER_SHARED = 1
     CU_FUNC_CACHE_PREFER_L1 = 2
     CU_FUNC_CACHE_PREFER_EQUAL = 3
 enum CUfunction_attribute
     CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 0
     CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES = 1
     CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES = 2
     CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES = 3
     CU_FUNC_ATTRIBUTE_NUM_REGS = 4
     CU_FUNC_ATTRIBUTE_PTX_VERSION = 5
     CU_FUNC_ATTRIBUTE_BINARY_VERSION = 6
     CU_FUNC_ATTRIBUTE_CACHE_MODE_CA = 7
     CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES = 8
     CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = 9
     CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_MUST_BE_SET = 10
     CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_WIDTH = 11
     CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_HEIGHT = 12
     CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_DEPTH = 13
     CU_FUNC_ATTRIBUTE_NON_PORTABLE_CLUSTER_SIZE_ALLOWED = 14
     CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = 15
     CU_FUNC_ATTRIBUTE_MAX = 16
 enum CUgraphDebugDot_flags
     CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE = 1
     CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME_TYPES = 2
     CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_PARAMS = 4
     CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY_NODE_PARAMS = 8
     CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET_NODE_PARAMS = 16
     CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NODE_PARAMS = 32
     CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_NODE_PARAMS = 64
     CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_SIGNAL_NODE_PARAMS = 128
     CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_WAIT_NODE_PARAMS = 256
     CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_ATTRIBUTES = 512
     CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES = 1024
     CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALLOC_NODE_PARAMS = 2048
     CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FREE_NODE_PARAMS = 4096
     CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_MEM_OP_NODE_PARAMS = 8192
 enum CUgraphInstantiate_flags
     CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH = 1
     CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY = 8
 enum CUgraphNodeType
     CU_GRAPH_NODE_TYPE_KERNEL = 0
     CU_GRAPH_NODE_TYPE_MEMCPY = 1
     CU_GRAPH_NODE_TYPE_MEMSET = 2
     CU_GRAPH_NODE_TYPE_HOST = 3
     CU_GRAPH_NODE_TYPE_GRAPH = 4
     CU_GRAPH_NODE_TYPE_EMPTY = 5
     CU_GRAPH_NODE_TYPE_WAIT_EVENT = 6
     CU_GRAPH_NODE_TYPE_EVENT_RECORD = 7
     CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIGNAL = 8
     CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAIT = 9
     CU_GRAPH_NODE_TYPE_MEM_ALLOC = 10
     CU_GRAPH_NODE_TYPE_MEM_FREE = 11
     CU_GRAPH_NODE_TYPE_BATCH_MEM_OP = 12
 enum CUgraphicsMapResourceFlags
     CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE = 0
     CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY = 1
     CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 2
 enum CUgraphicsRegisterFlags
     CU_GRAPHICS_REGISTER_FLAGS_NONE = 0
     CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY = 1
     CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD = 2
     CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST = 4
     CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER = 8
-enum CUipcMem_flags
 enum CUjitInputType
     CU_JIT_INPUT_CUBIN = 0
     CU_JIT_INPUT_PTX = 1
     CU_JIT_INPUT_FATBINARY = 2
     CU_JIT_INPUT_OBJECT = 3
     CU_JIT_INPUT_LIBRARY = 4
     CU_JIT_INPUT_NVVM = 5
     CU_JIT_NUM_INPUT_TYPES = 6
-enum CUjit_cacheMode
-enum CUjit_fallback
 enum CUjit_option
     CU_JIT_MAX_REGISTERS = 0
     CU_JIT_THREADS_PER_BLOCK = 1
     CU_JIT_WALL_TIME = 2
     CU_JIT_INFO_LOG_BUFFER = 3
     CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES = 4
     CU_JIT_ERROR_LOG_BUFFER = 5
     CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES = 6
     CU_JIT_OPTIMIZATION_LEVEL = 7
     CU_JIT_TARGET_FROM_CUCONTEXT = 8
     CU_JIT_TARGET = 9
     CU_JIT_FALLBACK_STRATEGY = 10
     CU_JIT_GENERATE_DEBUG_INFO = 11
     CU_JIT_LOG_VERBOSE = 12
     CU_JIT_GENERATE_LINE_INFO = 13
     CU_JIT_CACHE_MODE = 14
     CU_JIT_NEW_SM3X_OPT = 15
     CU_JIT_FAST_COMPILE = 16
     CU_JIT_GLOBAL_SYMBOL_NAMES = 17
     CU_JIT_GLOBAL_SYMBOL_ADDRESSES = 18
     CU_JIT_GLOBAL_SYMBOL_COUNT = 19
     CU_JIT_LTO = 20
     CU_JIT_FTZ = 21
     CU_JIT_PREC_DIV = 22
     CU_JIT_PREC_SQRT = 23
     CU_JIT_FMA = 24
     CU_JIT_REFERENCED_KERNEL_NAMES = 25
     CU_JIT_REFERENCED_KERNEL_COUNT = 26
     CU_JIT_REFERENCED_VARIABLE_NAMES = 27
     CU_JIT_REFERENCED_VARIABLE_COUNT = 28
     CU_JIT_OPTIMIZE_UNUSED_DEVICE_VARIABLES = 29
-    CU_JIT_NUM_OPTIONS = 30
-enum CUjit_target
 enum CUlimit
     CU_LIMIT_STACK_SIZE = 0
     CU_LIMIT_PRINTF_FIFO_SIZE = 1
     CU_LIMIT_MALLOC_HEAP_SIZE = 2
     CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH = 3
     CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT = 4
     CU_LIMIT_MAX_L2_FETCH_GRANULARITY = 5
     CU_LIMIT_PERSISTING_L2_CACHE_SIZE = 6
-    CU_LIMIT_MAX = 7
 enum CUmemAccess_flags
     CU_MEM_ACCESS_FLAGS_PROT_NONE = 0
     CU_MEM_ACCESS_FLAGS_PROT_READ = 1
     CU_MEM_ACCESS_FLAGS_PROT_READWRITE = 3
     CU_MEM_ACCESS_FLAGS_PROT_MAX = 2147483647
 enum CUmemAllocationCompType
     CU_MEM_ALLOCATION_COMP_NONE = 0
     CU_MEM_ALLOCATION_COMP_GENERIC = 1
 enum CUmemAllocationGranularity_flags
     CU_MEM_ALLOC_GRANULARITY_MINIMUM = 0
     CU_MEM_ALLOC_GRANULARITY_RECOMMENDED = 1
 enum CUmemAllocationHandleType
     CU_MEM_HANDLE_TYPE_NONE = 0
     CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR = 1
     CU_MEM_HANDLE_TYPE_WIN32 = 2
     CU_MEM_HANDLE_TYPE_WIN32_KMT = 4
     CU_MEM_HANDLE_TYPE_MAX = 2147483647
 enum CUmemAllocationType
     CU_MEM_ALLOCATION_TYPE_INVALID = 0
     CU_MEM_ALLOCATION_TYPE_PINNED = 1
     CU_MEM_ALLOCATION_TYPE_MAX = 2147483647
 enum CUmemAttach_flags
     CU_MEM_ATTACH_GLOBAL = 1
     CU_MEM_ATTACH_HOST = 2
     CU_MEM_ATTACH_SINGLE = 4
-enum CUmemHandleType
-enum CUmemLocationType
-enum CUmemOperationType
 enum CUmemPool_attribute
     CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES = 1
     CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC = 2
     CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES = 3
     CU_MEMPOOL_ATTR_RELEASE_THRESHOLD = 4
     CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT = 5
     CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH = 6
     CU_MEMPOOL_ATTR_USED_MEM_CURRENT = 7
     CU_MEMPOOL_ATTR_USED_MEM_HIGH = 8
 enum CUmemRangeHandleType
     CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD = 1
     CU_MEM_RANGE_HANDLE_TYPE_MAX = 2147483647
 enum CUmem_advise
     CU_MEM_ADVISE_SET_READ_MOSTLY = 1
     CU_MEM_ADVISE_UNSET_READ_MOSTLY = 2
     CU_MEM_ADVISE_SET_PREFERRED_LOCATION = 3
     CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION = 4
     CU_MEM_ADVISE_SET_ACCESSED_BY = 5
     CU_MEM_ADVISE_UNSET_ACCESSED_BY = 6
 enum CUmemorytype
     CU_MEMORYTYPE_HOST = 1
     CU_MEMORYTYPE_DEVICE = 2
     CU_MEMORYTYPE_ARRAY = 3
     CU_MEMORYTYPE_UNIFIED = 4
 enum CUoccupancy_flags
     CU_OCCUPANCY_DEFAULT = 0
     CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE = 1
 enum CUpointer_attribute
     CU_POINTER_ATTRIBUTE_CONTEXT = 1
     CU_POINTER_ATTRIBUTE_MEMORY_TYPE = 2
     CU_POINTER_ATTRIBUTE_DEVICE_POINTER = 3
     CU_POINTER_ATTRIBUTE_HOST_POINTER = 4
     CU_POINTER_ATTRIBUTE_P2P_TOKENS = 5
     CU_POINTER_ATTRIBUTE_SYNC_MEMOPS = 6
     CU_POINTER_ATTRIBUTE_BUFFER_ID = 7
     CU_POINTER_ATTRIBUTE_IS_MANAGED = 8
     CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL = 9
     CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE = 10
     CU_POINTER_ATTRIBUTE_RANGE_START_ADDR = 11
     CU_POINTER_ATTRIBUTE_RANGE_SIZE = 12
     CU_POINTER_ATTRIBUTE_MAPPED = 13
     CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES = 14
     CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE = 15
     CU_POINTER_ATTRIBUTE_ACCESS_FLAGS = 16
     CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE = 17
     CU_POINTER_ATTRIBUTE_MAPPING_SIZE = 18
     CU_POINTER_ATTRIBUTE_MAPPING_BASE_ADDR = 19
     CU_POINTER_ATTRIBUTE_MEMORY_BLOCK_ID = 20
 enum CUresourceViewFormat
     CU_RES_VIEW_FORMAT_NONE = 0
     CU_RES_VIEW_FORMAT_UINT_1X8 = 1
     CU_RES_VIEW_FORMAT_UINT_2X8 = 2
     CU_RES_VIEW_FORMAT_UINT_4X8 = 3
     CU_RES_VIEW_FORMAT_SINT_1X8 = 4
     CU_RES_VIEW_FORMAT_SINT_2X8 = 5
     CU_RES_VIEW_FORMAT_SINT_4X8 = 6
     CU_RES_VIEW_FORMAT_UINT_1X16 = 7
     CU_RES_VIEW_FORMAT_UINT_2X16 = 8
     CU_RES_VIEW_FORMAT_UINT_4X16 = 9
     CU_RES_VIEW_FORMAT_SINT_1X16 = 10
     CU_RES_VIEW_FORMAT_SINT_2X16 = 11
     CU_RES_VIEW_FORMAT_SINT_4X16 = 12
     CU_RES_VIEW_FORMAT_UINT_1X32 = 13
     CU_RES_VIEW_FORMAT_UINT_2X32 = 14
     CU_RES_VIEW_FORMAT_UINT_4X32 = 15
     CU_RES_VIEW_FORMAT_SINT_1X32 = 16
     CU_RES_VIEW_FORMAT_SINT_2X32 = 17
     CU_RES_VIEW_FORMAT_SINT_4X32 = 18
     CU_RES_VIEW_FORMAT_FLOAT_1X16 = 19
     CU_RES_VIEW_FORMAT_FLOAT_2X16 = 20
     CU_RES_VIEW_FORMAT_FLOAT_4X16 = 21
     CU_RES_VIEW_FORMAT_FLOAT_1X32 = 22
     CU_RES_VIEW_FORMAT_FLOAT_2X32 = 23
     CU_RES_VIEW_FORMAT_FLOAT_4X32 = 24
     CU_RES_VIEW_FORMAT_UNSIGNED_BC1 = 25
     CU_RES_VIEW_FORMAT_UNSIGNED_BC2 = 26
     CU_RES_VIEW_FORMAT_UNSIGNED_BC3 = 27
     CU_RES_VIEW_FORMAT_UNSIGNED_BC4 = 28
     CU_RES_VIEW_FORMAT_SIGNED_BC4 = 29
     CU_RES_VIEW_FORMAT_UNSIGNED_BC5 = 30
     CU_RES_VIEW_FORMAT_SIGNED_BC5 = 31
     CU_RES_VIEW_FORMAT_UNSIGNED_BC6H = 32
     CU_RES_VIEW_FORMAT_SIGNED_BC6H = 33
     CU_RES_VIEW_FORMAT_UNSIGNED_BC7 = 34
 enum CUresourcetype
     CU_RESOURCE_TYPE_ARRAY = 0
     CU_RESOURCE_TYPE_MIPMAPPED_ARRAY = 1
     CU_RESOURCE_TYPE_LINEAR = 2
     CU_RESOURCE_TYPE_PITCH2D = 3
 enum CUresult
     CUDA_SUCCESS = 0
     CUDA_ERROR_INVALID_VALUE = 1
     CUDA_ERROR_OUT_OF_MEMORY = 2
     CUDA_ERROR_NOT_INITIALIZED = 3
     CUDA_ERROR_DEINITIALIZED = 4
     CUDA_ERROR_PROFILER_DISABLED = 5
     CUDA_ERROR_PROFILER_NOT_INITIALIZED = 6
     CUDA_ERROR_PROFILER_ALREADY_STARTED = 7
     CUDA_ERROR_PROFILER_ALREADY_STOPPED = 8
     CUDA_ERROR_STUB_LIBRARY = 34
     CUDA_ERROR_DEVICE_UNAVAILABLE = 46
     CUDA_ERROR_NO_DEVICE = 100
     CUDA_ERROR_INVALID_DEVICE = 101
     CUDA_ERROR_DEVICE_NOT_LICENSED = 102
     CUDA_ERROR_INVALID_IMAGE = 200
     CUDA_ERROR_INVALID_CONTEXT = 201
     CUDA_ERROR_CONTEXT_ALREADY_CURRENT = 202
     CUDA_ERROR_MAP_FAILED = 205
     CUDA_ERROR_UNMAP_FAILED = 206
     CUDA_ERROR_ARRAY_IS_MAPPED = 207
     CUDA_ERROR_ALREADY_MAPPED = 208
     CUDA_ERROR_NO_BINARY_FOR_GPU = 209
     CUDA_ERROR_ALREADY_ACQUIRED = 210
     CUDA_ERROR_NOT_MAPPED = 211
     CUDA_ERROR_NOT_MAPPED_AS_ARRAY = 212
     CUDA_ERROR_NOT_MAPPED_AS_POINTER = 213
     CUDA_ERROR_ECC_UNCORRECTABLE = 214
     CUDA_ERROR_UNSUPPORTED_LIMIT = 215
     CUDA_ERROR_CONTEXT_ALREADY_IN_USE = 216
     CUDA_ERROR_PEER_ACCESS_UNSUPPORTED = 217
     CUDA_ERROR_INVALID_PTX = 218
     CUDA_ERROR_INVALID_GRAPHICS_CONTEXT = 219
     CUDA_ERROR_NVLINK_UNCORRECTABLE = 220
     CUDA_ERROR_JIT_COMPILER_NOT_FOUND = 221
     CUDA_ERROR_UNSUPPORTED_PTX_VERSION = 222
     CUDA_ERROR_JIT_COMPILATION_DISABLED = 223
     CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY = 224
     CUDA_ERROR_INVALID_SOURCE = 300
     CUDA_ERROR_FILE_NOT_FOUND = 301
     CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND = 302
     CUDA_ERROR_SHARED_OBJECT_INIT_FAILED = 303
     CUDA_ERROR_OPERATING_SYSTEM = 304
     CUDA_ERROR_INVALID_HANDLE = 400
     CUDA_ERROR_ILLEGAL_STATE = 401
     CUDA_ERROR_NOT_FOUND = 500
     CUDA_ERROR_NOT_READY = 600
     CUDA_ERROR_ILLEGAL_ADDRESS = 700
     CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES = 701
     CUDA_ERROR_LAUNCH_TIMEOUT = 702
     CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING = 703
     CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED = 704
     CUDA_ERROR_PEER_ACCESS_NOT_ENABLED = 705
     CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE = 708
     CUDA_ERROR_CONTEXT_IS_DESTROYED = 709
     CUDA_ERROR_ASSERT = 710
     CUDA_ERROR_TOO_MANY_PEERS = 711
     CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED = 712
     CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED = 713
     CUDA_ERROR_HARDWARE_STACK_ERROR = 714
     CUDA_ERROR_ILLEGAL_INSTRUCTION = 715
     CUDA_ERROR_MISALIGNED_ADDRESS = 716
     CUDA_ERROR_INVALID_ADDRESS_SPACE = 717
     CUDA_ERROR_INVALID_PC = 718
     CUDA_ERROR_LAUNCH_FAILED = 719
     CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE = 720
     CUDA_ERROR_NOT_PERMITTED = 800
     CUDA_ERROR_NOT_SUPPORTED = 801
     CUDA_ERROR_SYSTEM_NOT_READY = 802
     CUDA_ERROR_SYSTEM_DRIVER_MISMATCH = 803
     CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE = 804
     CUDA_ERROR_MPS_CONNECTION_FAILED = 805
     CUDA_ERROR_MPS_RPC_FAILURE = 806
     CUDA_ERROR_MPS_SERVER_NOT_READY = 807
     CUDA_ERROR_MPS_MAX_CLIENTS_REACHED = 808
     CUDA_ERROR_MPS_MAX_CONNECTIONS_REACHED = 809
     CUDA_ERROR_MPS_CLIENT_TERMINATED = 810
     CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED = 900
     CUDA_ERROR_STREAM_CAPTURE_INVALIDATED = 901
     CUDA_ERROR_STREAM_CAPTURE_MERGE = 902
     CUDA_ERROR_STREAM_CAPTURE_UNMATCHED = 903
     CUDA_ERROR_STREAM_CAPTURE_UNJOINED = 904
     CUDA_ERROR_STREAM_CAPTURE_ISOLATION = 905
     CUDA_ERROR_STREAM_CAPTURE_IMPLICIT = 906
     CUDA_ERROR_CAPTURED_EVENT = 907
     CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD = 908
     CUDA_ERROR_TIMEOUT = 909
     CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE = 910
     CUDA_ERROR_EXTERNAL_DEVICE = 911
     CUDA_ERROR_INVALID_CLUSTER_SIZE = 912
     CUDA_ERROR_UNKNOWN = 999
 enum CUshared_carveout
     CU_SHAREDMEM_CARVEOUT_DEFAULT = 18446744073709551615
     CU_SHAREDMEM_CARVEOUT_MAX_SHARED = 100
     CU_SHAREDMEM_CARVEOUT_MAX_L1 = 0
 enum CUsharedconfig
     CU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE = 0
     CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE = 1
     CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE = 2
-enum CUstreamBatchMemOpType
 enum CUstreamCaptureMode
     CU_STREAM_CAPTURE_MODE_GLOBAL = 0
     CU_STREAM_CAPTURE_MODE_THREAD_LOCAL = 1
     CU_STREAM_CAPTURE_MODE_RELAXED = 2
 enum CUstreamCaptureStatus
     CU_STREAM_CAPTURE_STATUS_NONE = 0
     CU_STREAM_CAPTURE_STATUS_ACTIVE = 1
     CU_STREAM_CAPTURE_STATUS_INVALIDATED = 2
-enum CUstreamMemoryBarrier_flags
 enum CUstreamUpdateCaptureDependencies_flags
     CU_STREAM_ADD_CAPTURE_DEPENDENCIES = 0
     CU_STREAM_SET_CAPTURE_DEPENDENCIES = 1
-enum CUstreamWaitValue_flags
 enum CUstreamWriteValue_flags
     CU_STREAM_WRITE_VALUE_DEFAULT = 0
     CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER = 1
 enum CUstream_flags
     CU_STREAM_DEFAULT = 0
     CU_STREAM_NON_BLOCKING = 1
 enum CUuserObjectRetain_flags
     CU_GRAPH_USER_OBJECT_MOVE = 1
 enum CUuserObject_flags
     CU_USER_OBJECT_NO_DESTRUCTOR_SYNC = 1
-enum cl_context_flags
-enum cl_event_flags
 struct CUDA_ARRAY3D_DESCRIPTOR_v2
     Depth
     Flags
     Format
     Height
     NumChannels
     Width
 struct CUDA_ARRAY_DESCRIPTOR_v2
     Format
     Height
     NumChannels
     Width
-struct CUDA_ARRAY_MEMORY_REQUIREMENTS_v1
-struct CUDA_ARRAY_SPARSE_PROPERTIES_v1
-struct CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1
 struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1
-struct CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1
 struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1
 struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1
 struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1
-struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1
-struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1
 struct CUDA_HOST_NODE_PARAMS_v1
     fn
     userData
 struct CUDA_KERNEL_NODE_PARAMS_v1
     blockDimX
     blockDimY
     blockDimZ
     extra
     func
     gridDimX
     gridDimY
     gridDimZ
     kernelParams
     sharedMemBytes
-struct CUDA_LAUNCH_PARAMS_v1
 struct CUDA_MEMCPY2D_v2
     Height
     WidthInBytes
     dstArray
     dstDevice
     dstHost
     dstMemoryType
     dstPitch
     dstXInBytes
     dstY
     srcArray
     srcDevice
     srcHost
     srcMemoryType
     srcPitch
     srcXInBytes
     srcY
-struct CUDA_MEMCPY3D_PEER_v1
 struct CUDA_MEMCPY3D_v2
     Depth
     Height
     WidthInBytes
     dstArray
     dstDevice
     dstHeight
     dstHost
     dstLOD
     dstMemoryType
     dstPitch
     dstXInBytes
     dstY
     dstZ
     reserved0
     reserved1
     srcArray
     srcDevice
     srcHeight
     srcHost
     srcLOD
     srcMemoryType
     srcPitch
     srcXInBytes
     srcY
     srcZ
 struct CUDA_MEMSET_NODE_PARAMS_v1
     dst
     elementSize
     height
     pitch
     value
     width
struct CUDA_MEM_ALLOC_NODE_PARAMS
-struct CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1
 struct CUDA_RESOURCE_DESC_v1
     devPtr
     flags
     format
     hArray
     hMipmappedArray
     height
     numChannels
     pitchInBytes
     resType
     sizeInBytes
     width
 struct CUDA_RESOURCE_VIEW_DESC_v1
     depth
     firstLayer
     firstMipmapLevel
     format
     height
     lastLayer
     lastMipmapLevel
     width
-struct CUDA_TEXTURE_DESC_v1
     addressMode
     borderColor
     filterMode
     flags
     maxAnisotropy
     maxMipmapLevelClamp
     minMipmapLevelClamp
     mipmapFilterMode
     mipmapLevelBias
-struct CUaccessPolicyWindow_v1
     base_ptr
     hitProp
     hitRatio
     missProp
     num_bytes
-struct CUarrayMapInfo_v1
 struct CUdevprop_v1
     SIMDWidth
     clockRate
     maxGridSize
     maxThreadsDim
     maxThreadsPerBlock
     memPitch
     regsPerBlock
     sharedMemPerBlock
     textureAlign
     totalConstantMemory
-struct CUeglFrame_v1
 struct CUexecAffinityParam_v1
-struct CUexecAffinitySmCount_v1
     val
 struct CUipcEventHandle_v1
 struct CUipcMemHandle_v1
 struct CUmemAccessDesc_v1
     flags
     location
 struct CUmemAllocationProp_v1
     compressionType
     location
     requestedHandleTypes
     type
     usage
     win32HandleMetaData
 struct CUmemLocation_v1
     id
     type
 struct CUmemPoolProps_v1
     allocType
     handleTypes
     location
-    reserved
     win32SecurityAttributes
 struct CUmemPoolPtrExportData_v1
 union CUstreamBatchMemOpParams_v1
 typedef CUarray_st * CUarray;
 typedef CUctx_st * CUcontext;
 typedef CUdevice_v1 CUdevice;
 typedef int CUdevice_v1;
 typedef CUdeviceptr_v2 CUdeviceptr;
 typedef unsigned long long CUdeviceptr_v2;
-typedef CUeglStreamConnection_st * CUeglStreamConnection;
 typedef CUevent_st * CUevent;
-typedef CUextMemory_st * CUexternalMemory;
-typedef CUextSemaphore_st * CUexternalSemaphore;
 typedef CUfunc_st * CUfunction;
 typedef CUgraph_st * CUgraph;
 typedef CUgraphExec_st * CUgraphExec;
 typedef CUgraphNode_st * CUgraphNode;
 typedef CUgraphicsResource_st * CUgraphicsResource;
 typedef void(* CUhostFn)(void* userData);
typedef CUlaunchAttributeID CUkernelNodeAttrID;
 typedef CUlaunchAttributeValue CUkernelNodeAttrValue_v1;
 typedef CUmemPoolHandle_st * CUmemoryPool;
 typedef CUmipmappedArray_st * CUmipmappedArray;
 typedef CUmod_st * CUmodule;
 typedef size_t(* CUoccupancyB2DSize)(int blockSize);
 typedef CUstream_st * CUstream;
typedef CUlaunchAttributeID CUstreamAttrID;
 typedef CUlaunchAttributeValue CUstreamAttrValue_v1;
 typedef void(* CUstreamCallback)(CUstream hStream, CUresult status, void* userData);
 typedef CUsurfObject_v1 CUsurfObject;
 typedef unsigned long long CUsurfObject_v1;
-typedef CUsurfref_st * CUsurfref;
 typedef CUtexObject_v1 CUtexObject;
 typedef unsigned long long CUtexObject_v1;
 typedef CUtexref_st * CUtexref;
 typedef CUuserObject_st * CUuserObject;

6.2. Error Handling#

 CUresult cuGetErrorName(CUresult error, const char** pStr);
 CUresult cuGetErrorString(CUresult error, const char** pStr);

6.3. Initialization#

 CUresult cuInit(unsigned int Flags);

6.4. Version Management#

 CUresult cuDriverGetVersion(int* driverVersion);

6.5. Device Management#

 CUresult cuDeviceGet(CUdevice* device, int ordinal);
 CUresult cuDeviceGetAttribute(int* pi, CUdevice_attribute attrib, CUdevice dev);
 CUresult cuDeviceGetCount(int* count);
 CUresult cuDeviceGetDefaultMemPool(CUmemoryPool* pool_out, CUdevice dev);
 CUresult cuDeviceGetLuid(char* luid, unsigned int* deviceNodeMask, CUdevice dev);
 CUresult cuDeviceGetMemPool(CUmemoryPool* pool, CUdevice dev);
 CUresult cuDeviceGetName(char* name, int len, CUdevice dev);
-CUresult cuDeviceGetNvSciSyncAttributes(void* nvSciSyncAttrList, CUdevice dev, int flags);
 CUresult cuDeviceGetTexture1DLinearMaxWidth(size_t* maxWidthInElements, CUarray_format format, unsigned numChannels, CUdevice dev);
 CUresult cuDeviceGetUuid(CUuuid* uuid, CUdevice dev);
 CUresult cuDeviceGetUuid_v2(CUuuid* uuid, CUdevice dev);
 CUresult cuDeviceSetMemPool(CUdevice dev, CUmemoryPool pool);
 CUresult cuDeviceTotalMem(size_t* bytes, CUdevice dev);
 CUresult cuFlushGPUDirectRDMAWrites(CUflushGPUDirectRDMAWritesTarget target, CUflushGPUDirectRDMAWritesScope scope);

6.6. Device Management [DEPRECATED]#

 CUresult cuDeviceComputeCapability(int* major, int* minor, CUdevice dev);
 CUresult cuDeviceGetProperties(CUdevprop* prop, CUdevice dev);

6.7. Primary Context Management#

 CUresult cuDevicePrimaryCtxGetState(CUdevice dev, unsigned int* flags, int* active);
 CUresult cuDevicePrimaryCtxRelease(CUdevice dev);
 CUresult cuDevicePrimaryCtxReset(CUdevice dev);
 CUresult cuDevicePrimaryCtxRetain(CUcontext* pctx, CUdevice dev);
 CUresult cuDevicePrimaryCtxSetFlags(CUdevice dev, unsigned int flags);

6.8. Context Management#

 CUresult cuCtxCreate(CUcontext* pctx, unsigned int flags, CUdevice dev);
 CUresult cuCtxCreate_v3(CUcontext* pctx, CUexecAffinityParam* paramsArray, int numParams, unsigned int flags, CUdevice dev);
 CUresult cuCtxDestroy(CUcontext ctx);
 CUresult cuCtxGetApiVersion(CUcontext ctx, unsigned int* version);
 CUresult cuCtxGetCacheConfig(CUfunc_cache* pconfig);
 CUresult cuCtxGetCurrent(CUcontext* pctx);
 CUresult cuCtxGetDevice(CUdevice* device);
 CUresult cuCtxGetExecAffinity(CUexecAffinityParam* pExecAffinity, CUexecAffinityType type);
 CUresult cuCtxGetFlags(unsigned int* flags);
 CUresult cuCtxGetLimit(size_t* pvalue, CUlimit limit);
 CUresult cuCtxGetSharedMemConfig(CUsharedconfig* pConfig);
 CUresult cuCtxGetStreamPriorityRange(int* leastPriority, int* greatestPriority);
 CUresult cuCtxPopCurrent(CUcontext* pctx);
 CUresult cuCtxPushCurrent(CUcontext ctx);
 CUresult cuCtxResetPersistingL2Cache(void);
 CUresult cuCtxSetCacheConfig(CUfunc_cache config);
 CUresult cuCtxSetCurrent(CUcontext ctx);
 CUresult cuCtxSetLimit(CUlimit limit, size_t value);
 CUresult cuCtxSetSharedMemConfig(CUsharedconfig config);
 CUresult cuCtxSynchronize(void);

6.9. Context Management [DEPRECATED]#

 CUresult cuCtxAttach(CUcontext* pctx, unsigned int flags);
 CUresult cuCtxDetach(CUcontext ctx);

6.10. Module Management#

 enum CUmoduleLoadingMode
     CU_MODULE_EAGER_LOADING = 1
     CU_MODULE_LAZY_LOADING = 2
 CUresult cuLinkAddData(CUlinkState state, CUjitInputType type, void* data, size_t size, const char* name, unsigned int numOptions, CUjit_option* options, void** optionValues);
 CUresult cuLinkAddFile(CUlinkState state, CUjitInputType type, const char* path, unsigned int numOptions, CUjit_option* options, void** optionValues);
 CUresult cuLinkComplete(CUlinkState state, void** cubinOut, size_t* sizeOut);
 CUresult cuLinkCreate(unsigned int numOptions, CUjit_option* options, void** optionValues, CUlinkState* stateOut);
 CUresult cuLinkDestroy(CUlinkState state);
 CUresult cuModuleGetFunction(CUfunction* hfunc, CUmodule hmod, const char* name);
 CUresult cuModuleGetGlobal(CUdeviceptr* dptr, size_t* bytes, CUmodule hmod, const char* name);
 CUresult cuModuleGetLoadingMode(CUmoduleLoadingMode* mode);
-CUresult cuModuleGetSurfRef(CUsurfref* pSurfRef, CUmodule hmod, const char* name);
-CUresult cuModuleGetTexRef(CUtexref* pTexRef, CUmodule hmod, const char* name);
 CUresult cuModuleLoad(CUmodule* module, const char* fname);
 CUresult cuModuleLoadData(CUmodule* module, const void* image);
 CUresult cuModuleLoadDataEx(CUmodule* module, const void* image, unsigned int numOptions, CUjit_option* options, void** optionValues);
 CUresult cuModuleLoadFatBinary(CUmodule* module, const void* fatCubin);
 CUresult cuModuleUnload(CUmodule hmod);

6.11. Memory Management#

 CUresult cuArray3DCreate(CUarray* pHandle, const CUDA_ARRAY3D_DESCRIPTOR* pAllocateArray);
 CUresult cuArray3DGetDescriptor(CUDA_ARRAY3D_DESCRIPTOR* pArrayDescriptor, CUarray hArray);
 CUresult cuArrayCreate(CUarray* pHandle, const CUDA_ARRAY_DESCRIPTOR* pAllocateArray);
 CUresult cuArrayDestroy(CUarray hArray);
 CUresult cuArrayGetDescriptor(CUDA_ARRAY_DESCRIPTOR* pArrayDescriptor, CUarray hArray);
-CUresult cuArrayGetMemoryRequirements(CUDA_ARRAY_MEMORY_REQUIREMENTS* memoryRequirements, CUarray array, CUdevice device);
-CUresult cuArrayGetPlane(CUarray* pPlaneArray, CUarray hArray, unsigned int planeIdx);
-CUresult cuArrayGetSparseProperties(CUDA_ARRAY_SPARSE_PROPERTIES* sparseProperties, CUarray array);
 CUresult cuDeviceGetByPCIBusId(CUdevice* dev, const char* pciBusId);
 CUresult cuDeviceGetPCIBusId(char* pciBusId, int len, CUdevice dev);
 CUresult cuIpcCloseMemHandle(CUdeviceptr dptr);
 CUresult cuIpcGetEventHandle(CUipcEventHandle* pHandle, CUevent event);
 CUresult cuIpcGetMemHandle(CUipcMemHandle* pHandle, CUdeviceptr dptr);
 CUresult cuIpcOpenEventHandle(CUevent* phEvent, CUipcEventHandle handle);
 CUresult cuIpcOpenMemHandle(CUdeviceptr* pdptr, CUipcMemHandle handle, unsigned int Flags);
 CUresult cuMemAlloc(CUdeviceptr* dptr, size_t bytesize);
 CUresult cuMemAllocHost(void** pp, size_t bytesize);
 CUresult cuMemAllocManaged(CUdeviceptr* dptr, size_t bytesize, unsigned int flags);
 CUresult cuMemAllocPitch(CUdeviceptr* dptr, size_t* pPitch, size_t WidthInBytes, size_t Height, unsigned int ElementSizeBytes);
 CUresult cuMemFree(CUdeviceptr dptr);
 CUresult cuMemFreeHost(void* p);
 CUresult cuMemGetAddressRange(CUdeviceptr* pbase, size_t* psize, CUdeviceptr dptr);
 CUresult cuMemGetHandleForAddressRange(void* handle, CUdeviceptr dptr, size_t size, CUmemRangeHandleType handleType, unsigned long long flags);
 CUresult cuMemGetInfo(size_t* free, size_t* total);
 CUresult cuMemHostAlloc(void** pp, size_t bytesize, unsigned int Flags);
 CUresult cuMemHostGetDevicePointer(CUdeviceptr* pdptr, void* p, unsigned int Flags);
 CUresult cuMemHostGetFlags(unsigned int* pFlags, void* p);
 CUresult cuMemHostRegister(void* p, size_t bytesize, unsigned int Flags);
 CUresult cuMemHostUnregister(void* p);
 CUresult cuMemcpy(CUdeviceptr dst, CUdeviceptr src, size_t ByteCount);
 CUresult cuMemcpy2D(const CUDA_MEMCPY2D* pCopy);
 CUresult cuMemcpy2DAsync(const CUDA_MEMCPY2D* pCopy, CUstream hStream);
 CUresult cuMemcpy2DUnaligned(const CUDA_MEMCPY2D* pCopy);
 CUresult cuMemcpy3D(const CUDA_MEMCPY3D* pCopy);
 CUresult cuMemcpy3DAsync(const CUDA_MEMCPY3D* pCopy, CUstream hStream);
-CUresult cuMemcpy3DPeer(const CUDA_MEMCPY3D_PEER* pCopy);
-CUresult cuMemcpy3DPeerAsync(const CUDA_MEMCPY3D_PEER* pCopy, CUstream hStream);
 CUresult cuMemcpyAsync(CUdeviceptr dst, CUdeviceptr src, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyAtoA(CUarray dstArray, size_t dstOffset, CUarray srcArray, size_t srcOffset, size_t ByteCount);
 CUresult cuMemcpyAtoD(CUdeviceptr dstDevice, CUarray srcArray, size_t srcOffset, size_t ByteCount);
 CUresult cuMemcpyAtoH(void* dstHost, CUarray srcArray, size_t srcOffset, size_t ByteCount);
 CUresult cuMemcpyAtoHAsync(void* dstHost, CUarray srcArray, size_t srcOffset, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyDtoA(CUarray dstArray, size_t dstOffset, CUdeviceptr srcDevice, size_t ByteCount);
 CUresult cuMemcpyDtoD(CUdeviceptr dstDevice, CUdeviceptr srcDevice, size_t ByteCount);
 CUresult cuMemcpyDtoDAsync(CUdeviceptr dstDevice, CUdeviceptr srcDevice, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyDtoH(void* dstHost, CUdeviceptr srcDevice, size_t ByteCount);
 CUresult cuMemcpyDtoHAsync(void* dstHost, CUdeviceptr srcDevice, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyHtoA(CUarray dstArray, size_t dstOffset, const void* srcHost, size_t ByteCount);
 CUresult cuMemcpyHtoAAsync(CUarray dstArray, size_t dstOffset, const void* srcHost, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyHtoD(CUdeviceptr dstDevice, const void* srcHost, size_t ByteCount);
 CUresult cuMemcpyHtoDAsync(CUdeviceptr dstDevice, const void* srcHost, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyPeer(CUdeviceptr dstDevice, CUcontext dstContext, CUdeviceptr srcDevice, CUcontext srcContext, size_t ByteCount);
 CUresult cuMemcpyPeerAsync(CUdeviceptr dstDevice, CUcontext dstContext, CUdeviceptr srcDevice, CUcontext srcContext, size_t ByteCount, CUstream hStream);
 CUresult cuMemsetD16(CUdeviceptr dstDevice, unsigned short us, size_t N);
 CUresult cuMemsetD16Async(CUdeviceptr dstDevice, unsigned short us, size_t N, CUstream hStream);
 CUresult cuMemsetD2D16(CUdeviceptr dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height);
 CUresult cuMemsetD2D16Async(CUdeviceptr dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height, CUstream hStream);
 CUresult cuMemsetD2D32(CUdeviceptr dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height);
 CUresult cuMemsetD2D32Async(CUdeviceptr dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height, CUstream hStream);
 CUresult cuMemsetD2D8(CUdeviceptr dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height);
 CUresult cuMemsetD2D8Async(CUdeviceptr dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height, CUstream hStream);
 CUresult cuMemsetD32(CUdeviceptr dstDevice, unsigned int ui, size_t N);
 CUresult cuMemsetD32Async(CUdeviceptr dstDevice, unsigned int ui, size_t N, CUstream hStream);
 CUresult cuMemsetD8(CUdeviceptr dstDevice, unsigned char uc, size_t N);
 CUresult cuMemsetD8Async(CUdeviceptr dstDevice, unsigned char uc, size_t N, CUstream hStream);
 CUresult cuMipmappedArrayCreate(CUmipmappedArray* pHandle, const CUDA_ARRAY3D_DESCRIPTOR* pMipmappedArrayDesc, unsigned int numMipmapLevels);
 CUresult cuMipmappedArrayDestroy(CUmipmappedArray hMipmappedArray);
 CUresult cuMipmappedArrayGetLevel(CUarray* pLevelArray, CUmipmappedArray hMipmappedArray, unsigned int level);
-CUresult cuMipmappedArrayGetMemoryRequirements(CUDA_ARRAY_MEMORY_REQUIREMENTS* memoryRequirements, CUmipmappedArray mipmap, CUdevice device);
-CUresult cuMipmappedArrayGetSparseProperties(CUDA_ARRAY_SPARSE_PROPERTIES* sparseProperties, CUmipmappedArray mipmap);

6.12. Virtual Memory Management#

 CUresult cuMemAddressFree(CUdeviceptr ptr, size_t size);
 CUresult cuMemAddressReserve(CUdeviceptr* ptr, size_t size, size_t alignment, CUdeviceptr addr, unsigned long long flags);
 CUresult cuMemCreate(CUmemGenericAllocationHandle* handle, size_t size, const CUmemAllocationProp* prop, unsigned long long flags);
 CUresult cuMemExportToShareableHandle(void* shareableHandle, CUmemGenericAllocationHandle handle, CUmemAllocationHandleType handleType, unsigned long long flags);
 CUresult cuMemGetAccess(unsigned long long* flags, const CUmemLocation* location, CUdeviceptr ptr);
 CUresult cuMemGetAllocationGranularity(size_t* granularity, const CUmemAllocationProp* prop, CUmemAllocationGranularity_flags option);
 CUresult cuMemGetAllocationPropertiesFromHandle(CUmemAllocationProp* prop, CUmemGenericAllocationHandle handle);
 CUresult cuMemImportFromShareableHandle(CUmemGenericAllocationHandle* handle, void* osHandle, CUmemAllocationHandleType shHandleType);
 CUresult cuMemMap(CUdeviceptr ptr, size_t size, size_t offset, CUmemGenericAllocationHandle handle, unsigned long long flags);
-CUresult cuMemMapArrayAsync(CUarrayMapInfo* mapInfoList, unsigned int count, CUstream hStream);
 CUresult cuMemRelease(CUmemGenericAllocationHandle handle);
 CUresult cuMemRetainAllocationHandle(CUmemGenericAllocationHandle* handle, void* addr);
 CUresult cuMemSetAccess(CUdeviceptr ptr, size_t size, const CUmemAccessDesc* desc, size_t count);
 CUresult cuMemUnmap(CUdeviceptr ptr, size_t size);

6.13. Stream Ordered Memory Allocator#

 CUresult cuMemAllocAsync(CUdeviceptr* dptr, size_t bytesize, CUstream hStream);
 CUresult cuMemAllocFromPoolAsync(CUdeviceptr* dptr, size_t bytesize, CUmemoryPool pool, CUstream hStream);
 CUresult cuMemFreeAsync(CUdeviceptr dptr, CUstream hStream);
 CUresult cuMemPoolCreate(CUmemoryPool* pool, const CUmemPoolProps* poolProps);
 CUresult cuMemPoolDestroy(CUmemoryPool pool);
 CUresult cuMemPoolExportPointer(CUmemPoolPtrExportData* shareData_out, CUdeviceptr ptr);
 CUresult cuMemPoolExportToShareableHandle(void* handle_out, CUmemoryPool pool, CUmemAllocationHandleType handleType, unsigned long long flags);
 CUresult cuMemPoolGetAccess(CUmemAccess_flags* flags, CUmemoryPool memPool, CUmemLocation* location);
 CUresult cuMemPoolGetAttribute(CUmemoryPool pool, CUmemPool_attribute attr, void* value);
 CUresult cuMemPoolImportFromShareableHandle(CUmemoryPool* pool_out, void* handle, CUmemAllocationHandleType handleType, unsigned long long flags);
 CUresult cuMemPoolImportPointer(CUdeviceptr* ptr_out, CUmemoryPool pool, CUmemPoolPtrExportData* shareData);
 CUresult cuMemPoolSetAccess(CUmemoryPool pool, const CUmemAccessDesc* map, size_t count);
 CUresult cuMemPoolSetAttribute(CUmemoryPool pool, CUmemPool_attribute attr, void* value);
 CUresult cuMemPoolTrimTo(CUmemoryPool pool, size_t minBytesToKeep);

6.14. Unified Addressing#

 CUresult cuMemAdvise(CUdeviceptr devPtr, size_t count, CUmem_advise advice, CUdevice device);
 CUresult cuMemPrefetchAsync(CUdeviceptr devPtr, size_t count, CUdevice dstDevice, CUstream hStream);
 CUresult cuMemRangeGetAttribute(void* data, size_t dataSize, CUmem_range_attribute attribute, CUdeviceptr devPtr, size_t count);
 CUresult cuMemRangeGetAttributes(void** data, size_t* dataSizes, CUmem_range_attribute* attributes, size_t numAttributes, CUdeviceptr devPtr, size_t count);
 CUresult cuPointerGetAttribute(void* data, CUpointer_attribute attribute, CUdeviceptr ptr);
 CUresult cuPointerGetAttributes(unsigned int numAttributes, CUpointer_attribute* attributes, void** data, CUdeviceptr ptr);
 CUresult cuPointerSetAttribute(const void* value, CUpointer_attribute attribute, CUdeviceptr ptr);

6.15. Stream Management#

 CUresult cuStreamAddCallback(CUstream hStream, CUstreamCallback callback, void* userData, unsigned int flags);
 CUresult cuStreamAttachMemAsync(CUstream hStream, CUdeviceptr dptr, size_t length, unsigned int flags);
 CUresult cuStreamBeginCapture(CUstream hStream, CUstreamCaptureMode mode);
 CUresult cuStreamCopyAttributes(CUstream dst, CUstream src);
 CUresult cuStreamCreate(CUstream* phStream, unsigned int Flags);
 CUresult cuStreamCreateWithPriority(CUstream* phStream, unsigned int flags, int priority);
 CUresult cuStreamDestroy(CUstream hStream);
 CUresult cuStreamEndCapture(CUstream hStream, CUgraph* phGraph);
-CUresult cuStreamGetAttribute(CUstream hStream, CUstreamAttrID attr, CUstreamAttrValue* value_out);
 CUresult cuStreamGetCaptureInfo(CUstream hStream, CUstreamCaptureStatus* captureStatus_out, cuuint64_t* id_out);
 CUresult cuStreamGetCaptureInfo_v2(CUstream hStream, CUstreamCaptureStatus* captureStatus_out, cuuint64_t* id_out, CUgraph* graph_out, const CUgraphNode** dependencies_out, size_t* numDependencies_out);
 CUresult cuStreamGetCtx(CUstream hStream, CUcontext* pctx);
 CUresult cuStreamGetFlags(CUstream hStream, unsigned int* flags);
 CUresult cuStreamGetPriority(CUstream hStream, int* priority);
 CUresult cuStreamIsCapturing(CUstream hStream, CUstreamCaptureStatus* captureStatus);
 CUresult cuStreamQuery(CUstream hStream);
-CUresult cuStreamSetAttribute(CUstream hStream, CUstreamAttrID attr, const CUstreamAttrValue* value);
 CUresult cuStreamSynchronize(CUstream hStream);
 CUresult cuStreamUpdateCaptureDependencies(CUstream hStream, CUgraphNode* dependencies, size_t numDependencies, unsigned int flags);
 CUresult cuStreamWaitEvent(CUstream hStream, CUevent hEvent, unsigned int Flags);
 CUresult cuThreadExchangeStreamCaptureMode(CUstreamCaptureMode* mode);

6.16. Event Management#

 CUresult cuEventCreate(CUevent* phEvent, unsigned int Flags);
 CUresult cuEventDestroy(CUevent hEvent);
 CUresult cuEventElapsedTime(float* pMilliseconds, CUevent hStart, CUevent hEnd);
 CUresult cuEventQuery(CUevent hEvent);
 CUresult cuEventRecord(CUevent hEvent, CUstream hStream);
 CUresult cuEventRecordWithFlags(CUevent hEvent, CUstream hStream, unsigned int flags);
 CUresult cuEventSynchronize(CUevent hEvent);

6.17. External Resource Interoperability#

-CUresult cuDestroyExternalMemory(CUexternalMemory extMem);
-CUresult cuDestroyExternalSemaphore(CUexternalSemaphore extSem);
-CUresult cuExternalMemoryGetMappedBuffer(CUdeviceptr* devPtr, CUexternalMemory extMem, const CUDA_EXTERNAL_MEMORY_BUFFER_DESC* bufferDesc);
-CUresult cuExternalMemoryGetMappedMipmappedArray(CUmipmappedArray* mipmap, CUexternalMemory extMem, const CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC* mipmapDesc);
-CUresult cuImportExternalMemory(CUexternalMemory* extMem_out, const CUDA_EXTERNAL_MEMORY_HANDLE_DESC* memHandleDesc);
-CUresult cuImportExternalSemaphore(CUexternalSemaphore* extSem_out, const CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC* semHandleDesc);
-CUresult cuSignalExternalSemaphoresAsync(const CUexternalSemaphore* extSemArray, const CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS* paramsArray, unsigned int numExtSems, CUstream stream);
-CUresult cuWaitExternalSemaphoresAsync(const CUexternalSemaphore* extSemArray, const CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS* paramsArray, unsigned int numExtSems, CUstream stream);

6.18. Stream Memory Operations#

-CUresult cuStreamBatchMemOp(CUstream stream, unsigned int count, CUstreamBatchMemOpParams* paramArray, unsigned int flags);
-CUresult cuStreamBatchMemOp_v2(CUstream stream, unsigned int count, CUstreamBatchMemOpParams* paramArray, unsigned int flags);
-CUresult cuStreamWaitValue32(CUstream stream, CUdeviceptr addr, cuuint32_t value, unsigned int flags);
-CUresult cuStreamWaitValue32_v2(CUstream stream, CUdeviceptr addr, cuuint32_t value, unsigned int flags);
-CUresult cuStreamWaitValue64(CUstream stream, CUdeviceptr addr, cuuint64_t value, unsigned int flags);
-CUresult cuStreamWaitValue64_v2(CUstream stream, CUdeviceptr addr, cuuint64_t value, unsigned int flags);
 CUresult cuStreamWriteValue32(CUstream stream, CUdeviceptr addr, cuuint32_t value, unsigned int flags);
 CUresult cuStreamWriteValue32_v2(CUstream stream, CUdeviceptr addr, cuuint32_t value, unsigned int flags);
-CUresult cuStreamWriteValue64(CUstream stream, CUdeviceptr addr, cuuint64_t value, unsigned int flags);
-CUresult cuStreamWriteValue64_v2(CUstream stream, CUdeviceptr addr, cuuint64_t value, unsigned int flags);

6.19. Execution Control#

 CUresult cuFuncGetAttribute(int* pi, CUfunction_attribute attrib, CUfunction hfunc);
 CUresult cuFuncGetModule(CUmodule* hmod, CUfunction hfunc);
 CUresult cuFuncSetAttribute(CUfunction hfunc, CUfunction_attribute attrib, int value);
 CUresult cuFuncSetCacheConfig(CUfunction hfunc, CUfunc_cache config);
 CUresult cuFuncSetSharedMemConfig(CUfunction hfunc, CUsharedconfig config);
 CUresult 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);
-CUresult cuLaunchCooperativeKernelMultiDevice(CUDA_LAUNCH_PARAMS* launchParamsList, unsigned int numDevices, unsigned int flags);
 CUresult cuLaunchHostFunc(CUstream hStream, CUhostFn fn, void* userData);
 CUresult 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);
-CUresult cuLaunchKernelEx(const CUlaunchConfig* config, CUfunction f, void** kernelParams, void** extra);

6.20. Execution Control [DEPRECATED]#

 CUresult cuFuncSetBlockShape(CUfunction hfunc, int x, int y, int z);
 CUresult cuFuncSetSharedSize(CUfunction hfunc, unsigned int bytes);
 CUresult cuLaunch(CUfunction f);
 CUresult cuLaunchGrid(CUfunction f, int grid_width, int grid_height);
 CUresult cuLaunchGridAsync(CUfunction f, int grid_width, int grid_height, CUstream hStream);
 CUresult cuParamSetSize(CUfunction hfunc, unsigned int numbytes);
-CUresult cuParamSetTexRef(CUfunction hfunc, int texunit, CUtexref hTexRef);
 CUresult cuParamSetf(CUfunction hfunc, int offset, float value);
 CUresult cuParamSeti(CUfunction hfunc, int offset, unsigned int value);
 CUresult cuParamSetv(CUfunction hfunc, int offset, void* ptr, unsigned int numbytes);

6.21. Graph Management#

-CUresult cuDeviceGetGraphMemAttribute(CUdevice device, CUgraphMem_attribute attr, void* value);
-CUresult cuDeviceGraphMemTrim(CUdevice device);
-CUresult cuDeviceSetGraphMemAttribute(CUdevice device, CUgraphMem_attribute attr, void* value);
-CUresult cuGraphAddBatchMemOpNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, const CUDA_BATCH_MEM_OP_NODE_PARAMS* nodeParams);
 CUresult cuGraphAddChildGraphNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, CUgraph childGraph);
 CUresult cuGraphAddDependencies(CUgraph hGraph, const CUgraphNode* from, const CUgraphNode* to, size_t numDependencies);
 CUresult cuGraphAddEmptyNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies);
 CUresult cuGraphAddEventRecordNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, CUevent event);
 CUresult cuGraphAddEventWaitNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, CUevent event);
-CUresult cuGraphAddExternalSemaphoresSignalNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, const CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* nodeParams);
-CUresult cuGraphAddExternalSemaphoresWaitNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, const CUDA_EXT_SEM_WAIT_NODE_PARAMS* nodeParams);
 CUresult cuGraphAddHostNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, const CUDA_HOST_NODE_PARAMS* nodeParams);
-CUresult cuGraphAddKernelNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, const CUDA_KERNEL_NODE_PARAMS* nodeParams);
-CUresult cuGraphAddMemAllocNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, CUDA_MEM_ALLOC_NODE_PARAMS* nodeParams);
 CUresult cuGraphAddMemFreeNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, CUdeviceptr dptr);
-CUresult cuGraphAddMemcpyNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, const CUDA_MEMCPY3D* copyParams, CUcontext ctx);
 CUresult cuGraphAddMemsetNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, const CUDA_MEMSET_NODE_PARAMS* memsetParams, CUcontext ctx);
-CUresult cuGraphBatchMemOpNodeGetParams(CUgraphNode hNode, CUDA_BATCH_MEM_OP_NODE_PARAMS* nodeParams_out);
-CUresult cuGraphBatchMemOpNodeSetParams(CUgraphNode hNode, const CUDA_BATCH_MEM_OP_NODE_PARAMS* nodeParams);
 CUresult cuGraphChildGraphNodeGetGraph(CUgraphNode hNode, CUgraph* phGraph);
 CUresult cuGraphClone(CUgraph* phGraphClone, CUgraph originalGraph);
 CUresult cuGraphCreate(CUgraph* phGraph, unsigned int flags);
 CUresult cuGraphDebugDotPrint(CUgraph hGraph, const char* path, unsigned int flags);
 CUresult cuGraphDestroy(CUgraph hGraph);
 CUresult cuGraphDestroyNode(CUgraphNode hNode);
 CUresult cuGraphEventRecordNodeGetEvent(CUgraphNode hNode, CUevent* event_out);
 CUresult cuGraphEventRecordNodeSetEvent(CUgraphNode hNode, CUevent event);
 CUresult cuGraphEventWaitNodeGetEvent(CUgraphNode hNode, CUevent* event_out);
 CUresult cuGraphEventWaitNodeSetEvent(CUgraphNode hNode, CUevent event);
-CUresult cuGraphExecBatchMemOpNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, const CUDA_BATCH_MEM_OP_NODE_PARAMS* nodeParams);
 CUresult cuGraphExecChildGraphNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, CUgraph childGraph);
 CUresult cuGraphExecDestroy(CUgraphExec hGraphExec);
 CUresult cuGraphExecEventRecordNodeSetEvent(CUgraphExec hGraphExec, CUgraphNode hNode, CUevent event);
 CUresult cuGraphExecEventWaitNodeSetEvent(CUgraphExec hGraphExec, CUgraphNode hNode, CUevent event);
-CUresult cuGraphExecExternalSemaphoresSignalNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, const CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* nodeParams);
-CUresult cuGraphExecExternalSemaphoresWaitNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, const CUDA_EXT_SEM_WAIT_NODE_PARAMS* nodeParams);
 CUresult cuGraphExecHostNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, const CUDA_HOST_NODE_PARAMS* nodeParams);
-CUresult cuGraphExecKernelNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, const CUDA_KERNEL_NODE_PARAMS* nodeParams);
-CUresult cuGraphExecMemcpyNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, const CUDA_MEMCPY3D* copyParams, CUcontext ctx);
-CUresult cuGraphExecMemsetNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, const CUDA_MEMSET_NODE_PARAMS* memsetParams, CUcontext ctx);
 CUresult cuGraphExecUpdate(CUgraphExec hGraphExec, CUgraph hGraph, CUgraphNode* hErrorNode_out, CUgraphExecUpdateResult* updateResult_out);
-CUresult cuGraphExternalSemaphoresSignalNodeGetParams(CUgraphNode hNode, CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* params_out);
-CUresult cuGraphExternalSemaphoresSignalNodeSetParams(CUgraphNode hNode, const CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* nodeParams);
-CUresult cuGraphExternalSemaphoresWaitNodeGetParams(CUgraphNode hNode, CUDA_EXT_SEM_WAIT_NODE_PARAMS* params_out);
-CUresult cuGraphExternalSemaphoresWaitNodeSetParams(CUgraphNode hNode, const CUDA_EXT_SEM_WAIT_NODE_PARAMS* nodeParams);
 CUresult cuGraphGetEdges(CUgraph hGraph, CUgraphNode* from, CUgraphNode* to, size_t* numEdges);
 CUresult cuGraphGetNodes(CUgraph hGraph, CUgraphNode* nodes, size_t* numNodes);
 CUresult cuGraphGetRootNodes(CUgraph hGraph, CUgraphNode* rootNodes, size_t* numRootNodes);
 CUresult cuGraphHostNodeGetParams(CUgraphNode hNode, CUDA_HOST_NODE_PARAMS* nodeParams);
 CUresult cuGraphHostNodeSetParams(CUgraphNode hNode, const CUDA_HOST_NODE_PARAMS* nodeParams);
-CUresult cuGraphInstantiate(CUgraphExec* phGraphExec, CUgraph hGraph, CUgraphNode* phErrorNode, char* logBuffer, size_t bufferSize);
 CUresult cuGraphInstantiateWithFlags(CUgraphExec* phGraphExec, CUgraph hGraph, unsigned long long flags);
 CUresult cuGraphKernelNodeCopyAttributes(CUgraphNode dst, CUgraphNode src);
-CUresult cuGraphKernelNodeGetAttribute(CUgraphNode hNode, CUkernelNodeAttrID attr, CUkernelNodeAttrValue* value_out);
-CUresult cuGraphKernelNodeGetParams(CUgraphNode hNode, CUDA_KERNEL_NODE_PARAMS* nodeParams);
-CUresult cuGraphKernelNodeSetAttribute(CUgraphNode hNode, CUkernelNodeAttrID attr, const CUkernelNodeAttrValue* value);
-CUresult cuGraphKernelNodeSetParams(CUgraphNode hNode, const CUDA_KERNEL_NODE_PARAMS* nodeParams);
 CUresult cuGraphLaunch(CUgraphExec hGraphExec, CUstream hStream);
-CUresult cuGraphMemAllocNodeGetParams(CUgraphNode hNode, CUDA_MEM_ALLOC_NODE_PARAMS* params_out);
 CUresult cuGraphMemFreeNodeGetParams(CUgraphNode hNode, CUdeviceptr* dptr_out);
-CUresult cuGraphMemcpyNodeGetParams(CUgraphNode hNode, CUDA_MEMCPY3D* nodeParams);
-CUresult cuGraphMemcpyNodeSetParams(CUgraphNode hNode, const CUDA_MEMCPY3D* nodeParams);
 CUresult cuGraphMemsetNodeGetParams(CUgraphNode hNode, CUDA_MEMSET_NODE_PARAMS* nodeParams);
 CUresult cuGraphMemsetNodeSetParams(CUgraphNode hNode, const CUDA_MEMSET_NODE_PARAMS* nodeParams);
 CUresult cuGraphNodeFindInClone(CUgraphNode* phNode, CUgraphNode hOriginalNode, CUgraph hClonedGraph);
 CUresult cuGraphNodeGetDependencies(CUgraphNode hNode, CUgraphNode* dependencies, size_t* numDependencies);
 CUresult cuGraphNodeGetDependentNodes(CUgraphNode hNode, CUgraphNode* dependentNodes, size_t* numDependentNodes);
 CUresult cuGraphNodeGetEnabled(CUgraphExec hGraphExec, CUgraphNode hNode, unsigned int* isEnabled);
 CUresult cuGraphNodeGetType(CUgraphNode hNode, CUgraphNodeType* type);
 CUresult cuGraphNodeSetEnabled(CUgraphExec hGraphExec, CUgraphNode hNode, unsigned int isEnabled);
 CUresult cuGraphReleaseUserObject(CUgraph graph, CUuserObject object, unsigned int count);
 CUresult cuGraphRemoveDependencies(CUgraph hGraph, const CUgraphNode* from, const CUgraphNode* to, size_t numDependencies);
 CUresult cuGraphRetainUserObject(CUgraph graph, CUuserObject object, unsigned int count, unsigned int flags);
 CUresult cuGraphUpload(CUgraphExec hGraphExec, CUstream hStream);
 CUresult cuUserObjectCreate(CUuserObject* object_out, void* ptr, CUhostFn destroy, unsigned int initialRefcount, unsigned int flags);
 CUresult cuUserObjectRelease(CUuserObject object, unsigned int count);
 CUresult cuUserObjectRetain(CUuserObject object, unsigned int count);

6.22. Occupancy#

 CUresult cuOccupancyAvailableDynamicSMemPerBlock(size_t* dynamicSmemSize, CUfunction func, int numBlocks, int blockSize);
 CUresult cuOccupancyMaxActiveBlocksPerMultiprocessor(int* numBlocks, CUfunction func, int blockSize, size_t dynamicSMemSize);
 CUresult cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int* numBlocks, CUfunction func, int blockSize, size_t dynamicSMemSize, unsigned int flags);
-CUresult cuOccupancyMaxActiveClusters(int* numClusters, CUfunction func, const CUlaunchConfig* config);
 CUresult cuOccupancyMaxPotentialBlockSize(int* minGridSize, int* blockSize, CUfunction func, CUoccupancyB2DSize blockSizeToDynamicSMemSize, size_t dynamicSMemSize, int blockSizeLimit);
 CUresult cuOccupancyMaxPotentialBlockSizeWithFlags(int* minGridSize, int* blockSize, CUfunction func, CUoccupancyB2DSize blockSizeToDynamicSMemSize, size_t dynamicSMemSize, int blockSizeLimit, unsigned int flags);
-CUresult cuOccupancyMaxPotentialClusterSize(int* clusterSize, CUfunction func, const CUlaunchConfig* config);

6.23. Texture Reference Management [DEPRECATED]#

 CUresult cuTexRefCreate(CUtexref* pTexRef);
 CUresult cuTexRefDestroy(CUtexref hTexRef);
 CUresult cuTexRefGetAddress(CUdeviceptr* pdptr, CUtexref hTexRef);
 CUresult cuTexRefGetAddressMode(CUaddress_mode* pam, CUtexref hTexRef, int dim);
 CUresult cuTexRefGetArray(CUarray* phArray, CUtexref hTexRef);
-CUresult cuTexRefGetBorderColor(float* pBorderColor, CUtexref hTexRef);
 CUresult cuTexRefGetFilterMode(CUfilter_mode* pfm, CUtexref hTexRef);
-CUresult cuTexRefGetFlags(unsigned int* pFlags, CUtexref hTexRef);
-CUresult cuTexRefGetFormat(CUarray_format* pFormat, int* pNumChannels, CUtexref hTexRef);
-CUresult cuTexRefGetMaxAnisotropy(int* pmaxAniso, CUtexref hTexRef);
-CUresult cuTexRefGetMipmapFilterMode(CUfilter_mode* pfm, CUtexref hTexRef);
-CUresult cuTexRefGetMipmapLevelBias(float* pbias, CUtexref hTexRef);
-CUresult cuTexRefGetMipmapLevelClamp(float* pminMipmapLevelClamp, float* pmaxMipmapLevelClamp, CUtexref hTexRef);
-CUresult cuTexRefGetMipmappedArray(CUmipmappedArray* phMipmappedArray, CUtexref hTexRef);
-CUresult cuTexRefSetAddress(size_t* ByteOffset, CUtexref hTexRef, CUdeviceptr dptr, size_t bytes);
-CUresult cuTexRefSetAddress2D(CUtexref hTexRef, const CUDA_ARRAY_DESCRIPTOR* desc, CUdeviceptr dptr, size_t Pitch);
-CUresult cuTexRefSetAddressMode(CUtexref hTexRef, int dim, CUaddress_mode am);
-CUresult cuTexRefSetArray(CUtexref hTexRef, CUarray hArray, unsigned int Flags);
-CUresult cuTexRefSetBorderColor(CUtexref hTexRef, float* pBorderColor);
-CUresult cuTexRefSetFilterMode(CUtexref hTexRef, CUfilter_mode fm);
-CUresult cuTexRefSetFlags(CUtexref hTexRef, unsigned int Flags);
-CUresult cuTexRefSetFormat(CUtexref hTexRef, CUarray_format fmt, int NumPackedComponents);
-CUresult cuTexRefSetMaxAnisotropy(CUtexref hTexRef, unsigned int maxAniso);
-CUresult cuTexRefSetMipmapFilterMode(CUtexref hTexRef, CUfilter_mode fm);
-CUresult cuTexRefSetMipmapLevelBias(CUtexref hTexRef, float bias);
-CUresult cuTexRefSetMipmapLevelClamp(CUtexref hTexRef, float minMipmapLevelClamp, float maxMipmapLevelClamp);
-CUresult cuTexRefSetMipmappedArray(CUtexref hTexRef, CUmipmappedArray hMipmappedArray, unsigned int Flags);

6.24. Surface Reference Management [DEPRECATED]#

-CUresult cuSurfRefGetArray(CUarray* phArray, CUsurfref hSurfRef);
-CUresult cuSurfRefSetArray(CUsurfref hSurfRef, CUarray hArray, unsigned int Flags);

6.25. Texture Object Management#

 CUresult cuTexObjectCreate(CUtexObject* pTexObject, const CUDA_RESOURCE_DESC* pResDesc, const CUDA_TEXTURE_DESC* pTexDesc, const CUDA_RESOURCE_VIEW_DESC* pResViewDesc);
 CUresult cuTexObjectDestroy(CUtexObject texObject);
 CUresult cuTexObjectGetResourceDesc(CUDA_RESOURCE_DESC* pResDesc, CUtexObject texObject);
 CUresult cuTexObjectGetResourceViewDesc(CUDA_RESOURCE_VIEW_DESC* pResViewDesc, CUtexObject texObject);
 CUresult cuTexObjectGetTextureDesc(CUDA_TEXTURE_DESC* pTexDesc, CUtexObject texObject);

6.26. Surface Object Management#

 CUresult cuSurfObjectCreate(CUsurfObject* pSurfObject, const CUDA_RESOURCE_DESC* pResDesc);
 CUresult cuSurfObjectDestroy(CUsurfObject surfObject);
 CUresult cuSurfObjectGetResourceDesc(CUDA_RESOURCE_DESC* pResDesc, CUsurfObject surfObject);

6.27. Peer Context Memory Access#

 CUresult cuCtxDisablePeerAccess(CUcontext peerContext);
 CUresult cuCtxEnablePeerAccess(CUcontext peerContext, unsigned int Flags);
 CUresult cuDeviceCanAccessPeer(int* canAccessPeer, CUdevice dev, CUdevice peerDev);
 CUresult cuDeviceGetP2PAttribute(int* value, CUdevice_P2PAttribute attrib, CUdevice srcDevice, CUdevice dstDevice);

6.28. Graphics Interoperability#

 CUresult cuGraphicsMapResources(unsigned int count, CUgraphicsResource* resources, CUstream hStream);
-CUresult cuGraphicsResourceGetMappedMipmappedArray(CUmipmappedArray* pMipmappedArray, CUgraphicsResource resource);
 CUresult cuGraphicsResourceGetMappedPointer(CUdeviceptr* pDevPtr, size_t* pSize, CUgraphicsResource resource);
 CUresult cuGraphicsResourceSetMapFlags(CUgraphicsResource resource, unsigned int flags);
 CUresult cuGraphicsSubResourceGetMappedArray(CUarray* pArray, CUgraphicsResource resource, unsigned int arrayIndex, unsigned int mipLevel);
 CUresult cuGraphicsUnmapResources(unsigned int count, CUgraphicsResource* resources, CUstream hStream);
 CUresult cuGraphicsUnregisterResource(CUgraphicsResource resource);

6.29. Driver Entry Point Access#

 CUresult cuGetProcAddress(const char* symbol, void** pfn, int cudaVersion, cuuint64_t flags);

6.30. Profiler Control [DEPRECATED]#

 CUresult cuProfilerInitialize(const char* configFile, const char* outputFile, CUoutput_mode outputMode);

6.31. Profiler Control#

 CUresult cuProfilerStart(void);
 CUresult cuProfilerStop(void);

6.32. OpenGL Interoperability#

 enum CUGLDeviceList
     CU_GL_DEVICE_LIST_ALL = 1
     CU_GL_DEVICE_LIST_CURRENT_FRAME = 2
     CU_GL_DEVICE_LIST_NEXT_FRAME = 3
 CUresult cuGLGetDevices(unsigned int* pCudaDeviceCount, CUdevice* pCudaDevices, unsigned int cudaDeviceCount, CUGLDeviceList deviceList);
 CUresult cuGraphicsGLRegisterBuffer(CUgraphicsResource* pCudaResource, GLuint buffer, unsigned int Flags);
 CUresult cuGraphicsGLRegisterImage(CUgraphicsResource* pCudaResource, GLuint image, GLenum target, unsigned int Flags);
-CUresult cuWGLGetDevice(CUdevice* pDevice, HGPUNV hGpu);

6.32.1. OpenGL Interoperability [DEPRECATED]#

 enum CUGLmap_flags
     CU_GL_MAP_RESOURCE_FLAGS_NONE = 0
     CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY = 1
     CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 2
 CUresult cuGLCtxCreate(CUcontext* pCtx, unsigned int Flags, CUdevice device);
 CUresult cuGLInit(void);
 CUresult cuGLMapBufferObject(CUdeviceptr* dptr, size_t* size, GLuint buffer);
 CUresult cuGLMapBufferObjectAsync(CUdeviceptr* dptr, size_t* size, GLuint buffer, CUstream hStream);
 CUresult cuGLRegisterBufferObject(GLuint buffer);
 CUresult cuGLSetBufferObjectMapFlags(GLuint buffer, unsigned int Flags);
 CUresult cuGLUnmapBufferObject(GLuint buffer);
 CUresult cuGLUnmapBufferObjectAsync(GLuint buffer, CUstream hStream);
 CUresult cuGLUnregisterBufferObject(GLuint buffer);

6.33. Direct3D 9 Interoperability#

-Windows APIs are currently unsupported

6.33.1. Direct3D 9 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

6.34. Direct3D 10 Interoperability#

-Windows APIs are currently unsupported

6.34.1. Direct3D 10 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

6.35. Direct3D 11 Interoperability#

-Windows APIs are currently unsupported

6.35.1. Direct3D 11 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

6.36. VDPAU Interoperability#

-VDPAU is currently unsupported

6.37. EGL Interoperability#

-EGL is currently unsupported

76% (567 of 747 declarations available)

6.1. Data types used by CUDA driver#

 #define CUDA_ARRAY3D_2DARRAY
 #define CUDA_ARRAY3D_COLOR_ATTACHMENT
 #define CUDA_ARRAY3D_CUBEMAP
 #define CUDA_ARRAY3D_DEFERRED_MAPPING
 #define CUDA_ARRAY3D_DEPTH_TEXTURE
 #define CUDA_ARRAY3D_LAYERED
 #define CUDA_ARRAY3D_SPARSE
 #define CUDA_ARRAY3D_SURFACE_LDST
 #define CUDA_ARRAY3D_TEXTURE_GATHER
 #define CUDA_ARRAY3D_VIDEO_ENCODE_DECODE
-#define CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC
-#define CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC
-#define CUDA_EGL_INFINITE_TIMEOUT
-#define CUDA_EXTERNAL_MEMORY_DEDICATED
-#define CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC
-#define CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC
-#define CUDA_NVSCISYNC_ATTR_SIGNAL
-#define CUDA_NVSCISYNC_ATTR_WAIT
 #define CUDA_VERSION
 #define CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL
 #define CU_DEVICE_CPU
 #define CU_DEVICE_INVALID
-#define CU_GRAPH_COND_ASSIGN_DEFAULT
 #define CU_GRAPH_KERNEL_NODE_PORT_DEFAULT
 #define CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER
 #define CU_GRAPH_KERNEL_NODE_PORT_PROGRAMMATIC
 #define CU_IPC_HANDLE_SIZE
-#define CU_LAUNCH_KERNEL_REQUIRED_BLOCK_DIM
 #define CU_LAUNCH_PARAM_BUFFER_POINTER
 #define CU_LAUNCH_PARAM_BUFFER_POINTER_AS_INT
 #define CU_LAUNCH_PARAM_BUFFER_SIZE
 #define CU_LAUNCH_PARAM_BUFFER_SIZE_AS_INT
 #define CU_LAUNCH_PARAM_END
 #define CU_LAUNCH_PARAM_END_AS_INT
 #define CU_MEMHOSTALLOC_DEVICEMAP
 #define CU_MEMHOSTALLOC_PORTABLE
 #define CU_MEMHOSTALLOC_WRITECOMBINED
 #define CU_MEMHOSTREGISTER_DEVICEMAP
 #define CU_MEMHOSTREGISTER_IOMEMORY
 #define CU_MEMHOSTREGISTER_PORTABLE
 #define CU_MEMHOSTREGISTER_READ_ONLY
-#define CU_MEM_CREATE_USAGE_HW_DECOMPRESS
-#define CU_MEM_CREATE_USAGE_TILE_POOL
-#define CU_MEM_POOL_CREATE_USAGE_HW_DECOMPRESS
-#define CU_PARAM_TR_DEFAULT
 #define CU_STREAM_LEGACY
 #define CU_STREAM_PER_THREAD
-#define CU_TENSOR_MAP_NUM_QWORDS
-#define CU_TRSA_OVERRIDE_FORMAT
 #define CU_TRSF_DISABLE_TRILINEAR_OPTIMIZATION
 #define CU_TRSF_NORMALIZED_COORDINATES
 #define CU_TRSF_READ_AS_INTEGER
 #define CU_TRSF_SEAMLESS_CUBEMAP
 #define CU_TRSF_SRGB
-#define MAX_PLANES
-enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS
 enum CUGPUDirectRDMAWritesOrdering
     CU_GPU_DIRECT_RDMA_WRITES_ORDERING_NONE = 0
     CU_GPU_DIRECT_RDMA_WRITES_ORDERING_OWNER = 100
     CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES = 200
-enum CUaccessProperty
 enum CUaddress_mode
     CU_TR_ADDRESS_MODE_WRAP = 0
     CU_TR_ADDRESS_MODE_CLAMP = 1
     CU_TR_ADDRESS_MODE_MIRROR = 2
     CU_TR_ADDRESS_MODE_BORDER = 3
-enum CUarraySparseSubresourceType
 enum CUarray_cubemap_face
     CU_CUBEMAP_FACE_POSITIVE_X = 0
     CU_CUBEMAP_FACE_NEGATIVE_X = 1
     CU_CUBEMAP_FACE_POSITIVE_Y = 2
     CU_CUBEMAP_FACE_NEGATIVE_Y = 3
     CU_CUBEMAP_FACE_POSITIVE_Z = 4
     CU_CUBEMAP_FACE_NEGATIVE_Z = 5
 enum CUarray_format
     CU_AD_FORMAT_UNSIGNED_INT8 = 1
     CU_AD_FORMAT_UNSIGNED_INT16 = 2
     CU_AD_FORMAT_UNSIGNED_INT32 = 3
     CU_AD_FORMAT_SIGNED_INT8 = 8
     CU_AD_FORMAT_SIGNED_INT16 = 9
     CU_AD_FORMAT_SIGNED_INT32 = 10
     CU_AD_FORMAT_HALF = 16
     CU_AD_FORMAT_FLOAT = 32
     CU_AD_FORMAT_NV12 = 176
     CU_AD_FORMAT_UNORM_INT8X1 = 192
     CU_AD_FORMAT_UNORM_INT8X2 = 193
     CU_AD_FORMAT_UNORM_INT8X4 = 194
     CU_AD_FORMAT_UNORM_INT16X1 = 195
     CU_AD_FORMAT_UNORM_INT16X2 = 196
     CU_AD_FORMAT_UNORM_INT16X4 = 197
     CU_AD_FORMAT_SNORM_INT8X1 = 198
     CU_AD_FORMAT_SNORM_INT8X2 = 199
     CU_AD_FORMAT_SNORM_INT8X4 = 200
     CU_AD_FORMAT_SNORM_INT16X1 = 201
     CU_AD_FORMAT_SNORM_INT16X2 = 202
     CU_AD_FORMAT_SNORM_INT16X4 = 203
     CU_AD_FORMAT_BC1_UNORM = 145
     CU_AD_FORMAT_BC1_UNORM_SRGB = 146
     CU_AD_FORMAT_BC2_UNORM = 147
     CU_AD_FORMAT_BC2_UNORM_SRGB = 148
     CU_AD_FORMAT_BC3_UNORM = 149
     CU_AD_FORMAT_BC3_UNORM_SRGB = 150
     CU_AD_FORMAT_BC4_UNORM = 151
     CU_AD_FORMAT_BC4_SNORM = 152
     CU_AD_FORMAT_BC5_UNORM = 153
     CU_AD_FORMAT_BC5_SNORM = 154
     CU_AD_FORMAT_BC6H_UF16 = 155
     CU_AD_FORMAT_BC6H_SF16 = 156
     CU_AD_FORMAT_BC7_UNORM = 157
     CU_AD_FORMAT_BC7_UNORM_SRGB = 158
     CU_AD_FORMAT_P010 = 159
     CU_AD_FORMAT_P016 = 161
     CU_AD_FORMAT_NV16 = 162
     CU_AD_FORMAT_P210 = 163
     CU_AD_FORMAT_P216 = 164
     CU_AD_FORMAT_YUY2 = 165
     CU_AD_FORMAT_Y210 = 166
     CU_AD_FORMAT_Y216 = 167
     CU_AD_FORMAT_AYUV = 168
     CU_AD_FORMAT_Y410 = 169
     CU_AD_FORMAT_Y416 = 177
     CU_AD_FORMAT_Y444_PLANAR8 = 178
     CU_AD_FORMAT_Y444_PLANAR10 = 179
     CU_AD_FORMAT_YUV444_8bit_SemiPlanar = 180
     CU_AD_FORMAT_YUV444_16bit_SemiPlanar = 181
     CU_AD_FORMAT_UNORM_INT_101010_2 = 80
     CU_AD_FORMAT_MAX = 2147483647
-enum CUasyncNotificationType
-enum CUclusterSchedulingPolicy
 enum CUcomputemode
     CU_COMPUTEMODE_DEFAULT = 0
     CU_COMPUTEMODE_PROHIBITED = 2
     CU_COMPUTEMODE_EXCLUSIVE_PROCESS = 3
 enum CUctx_flags
     CU_CTX_SCHED_AUTO = 0
     CU_CTX_SCHED_SPIN = 1
     CU_CTX_SCHED_YIELD = 2
     CU_CTX_SCHED_BLOCKING_SYNC = 4
     CU_CTX_BLOCKING_SYNC = 4
     CU_CTX_SCHED_MASK = 7
     CU_CTX_MAP_HOST = 8
     CU_CTX_LMEM_RESIZE_TO_MAX = 16
     CU_CTX_COREDUMP_ENABLE = 32
     CU_CTX_USER_COREDUMP_ENABLE = 64
     CU_CTX_SYNC_MEMOPS = 128
     CU_CTX_FLAGS_MASK = 255
 enum CUdeviceNumaConfig
     CU_DEVICE_NUMA_CONFIG_NONE = 0
     CU_DEVICE_NUMA_CONFIG_NUMA_NODE = 1
 enum CUdevice_P2PAttribute
     CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK = 1
     CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED = 2
     CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED = 3
     CU_DEVICE_P2P_ATTRIBUTE_ACCESS_ACCESS_SUPPORTED = 4
     CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED = 4
 enum CUdevice_attribute
     CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1
     CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = 2
     CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y = 3
     CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z = 4
     CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = 5
     CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y = 6
     CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z = 7
     CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK = 8
     CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK = 8
     CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY = 9
     CU_DEVICE_ATTRIBUTE_WARP_SIZE = 10
     CU_DEVICE_ATTRIBUTE_MAX_PITCH = 11
     CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK = 12
     CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK = 12
     CU_DEVICE_ATTRIBUTE_CLOCK_RATE = 13
     CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT = 14
     CU_DEVICE_ATTRIBUTE_GPU_OVERLAP = 15
     CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT = 16
     CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT = 17
     CU_DEVICE_ATTRIBUTE_INTEGRATED = 18
     CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY = 19
     CU_DEVICE_ATTRIBUTE_COMPUTE_MODE = 20
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH = 21
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH = 22
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT = 23
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH = 24
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT = 25
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH = 26
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH = 27
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT = 28
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS = 29
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH = 27
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT = 28
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES = 29
     CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT = 30
     CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS = 31
     CU_DEVICE_ATTRIBUTE_ECC_ENABLED = 32
     CU_DEVICE_ATTRIBUTE_PCI_BUS_ID = 33
     CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID = 34
     CU_DEVICE_ATTRIBUTE_TCC_DRIVER = 35
     CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE = 36
     CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH = 37
     CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE = 38
     CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR = 39
     CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT = 40
     CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING = 41
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH = 42
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS = 43
     CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER = 44
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH = 45
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT = 46
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE = 47
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE = 48
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE = 49
     CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID = 50
     CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT = 51
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH = 52
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH = 53
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS = 54
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH = 55
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH = 56
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT = 57
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH = 58
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT = 59
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH = 60
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH = 61
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS = 62
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH = 63
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT = 64
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS = 65
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH = 66
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH = 67
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS = 68
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH = 69
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH = 70
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT = 71
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH = 72
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH = 73
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT = 74
     CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR = 75
     CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR = 76
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH = 77
     CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED = 78
     CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED = 79
     CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED = 80
     CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR = 81
     CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR = 82
     CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY = 83
     CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD = 84
     CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID = 85
     CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED = 86
     CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO = 87
     CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS = 88
     CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS = 89
     CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED = 90
     CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM = 91
     CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS_V1 = 92
     CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS_V1 = 93
     CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR_V1 = 94
     CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH = 95
     CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH = 96
     CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN = 97
     CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES = 98
     CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED = 99
     CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES = 100
     CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST = 101
     CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED = 102
     CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED = 102
     CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED = 103
     CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED = 104
     CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED = 105
     CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR = 106
     CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED = 107
     CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE = 108
     CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE = 109
     CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED = 110
     CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK = 111
     CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED = 112
     CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED = 113
     CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED = 114
     CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED = 115
     CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED = 116
     CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS = 117
     CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING = 118
     CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES = 119
     CU_DEVICE_ATTRIBUTE_CLUSTER_LAUNCH = 120
     CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED = 121
     CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS = 122
     CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR = 123
     CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED = 124
     CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED = 125
     CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT = 126
     CU_DEVICE_ATTRIBUTE_TENSOR_MAP_ACCESS_SUPPORTED = 127
     CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_FABRIC_SUPPORTED = 128
     CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS = 129
     CU_DEVICE_ATTRIBUTE_NUMA_CONFIG = 130
     CU_DEVICE_ATTRIBUTE_NUMA_ID = 131
     CU_DEVICE_ATTRIBUTE_MULTICAST_SUPPORTED = 132
     CU_DEVICE_ATTRIBUTE_MPS_ENABLED = 133
     CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID = 134
     CU_DEVICE_ATTRIBUTE_D3D12_CIG_SUPPORTED = 135
     CU_DEVICE_ATTRIBUTE_MEM_DECOMPRESS_ALGORITHM_MASK = 136
     CU_DEVICE_ATTRIBUTE_MEM_DECOMPRESS_MAXIMUM_LENGTH = 137
     CU_DEVICE_ATTRIBUTE_VULKAN_CIG_SUPPORTED = 138
     CU_DEVICE_ATTRIBUTE_GPU_PCI_DEVICE_ID = 139
     CU_DEVICE_ATTRIBUTE_GPU_PCI_SUBSYSTEM_ID = 140
     CU_DEVICE_ATTRIBUTE_HOST_NUMA_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED = 141
     CU_DEVICE_ATTRIBUTE_HOST_NUMA_MEMORY_POOLS_SUPPORTED = 142
     CU_DEVICE_ATTRIBUTE_HOST_NUMA_MULTINODE_IPC_SUPPORTED = 143
     CU_DEVICE_ATTRIBUTE_MAX = 144
 enum CUdriverProcAddressQueryResult
     CU_GET_PROC_ADDRESS_SUCCESS = 0
     CU_GET_PROC_ADDRESS_SYMBOL_NOT_FOUND = 1
     CU_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT = 2
 enum CUdriverProcAddress_flags
     CU_GET_PROC_ADDRESS_DEFAULT = 0
     CU_GET_PROC_ADDRESS_LEGACY_STREAM = 1
     CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM = 2
-enum CUeglColorFormat
-enum CUeglFrameType
-enum CUeglResourceLocationFlags
 enum CUevent_flags
     CU_EVENT_DEFAULT = 0
     CU_EVENT_BLOCKING_SYNC = 1
     CU_EVENT_DISABLE_TIMING = 2
     CU_EVENT_INTERPROCESS = 4
 enum CUevent_record_flags
     CU_EVENT_RECORD_DEFAULT = 0
     CU_EVENT_RECORD_EXTERNAL = 1
 enum CUevent_sched_flags
     CU_EVENT_SCHED_AUTO = 0
     CU_EVENT_SCHED_SPIN = 1
     CU_EVENT_SCHED_YIELD = 2
     CU_EVENT_SCHED_BLOCKING_SYNC = 4
 enum CUevent_wait_flags
     CU_EVENT_WAIT_DEFAULT = 0
     CU_EVENT_WAIT_EXTERNAL = 1
 enum CUexecAffinityType
     CU_EXEC_AFFINITY_TYPE_SM_COUNT = 0
     CU_EXEC_AFFINITY_TYPE_MAX = 1
-enum CUexternalMemoryHandleType
-enum CUexternalSemaphoreHandleType
 enum CUfilter_mode
     CU_TR_FILTER_MODE_POINT = 0
     CU_TR_FILTER_MODE_LINEAR = 1
 enum CUflushGPUDirectRDMAWritesOptions
     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_HOST = 1
     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS = 2
 enum CUflushGPUDirectRDMAWritesScope
     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_OWNER = 100
     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES = 200
 enum CUflushGPUDirectRDMAWritesTarget
     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX = 0
 enum CUfunc_cache
     CU_FUNC_CACHE_PREFER_NONE = 0
     CU_FUNC_CACHE_PREFER_SHARED = 1
     CU_FUNC_CACHE_PREFER_L1 = 2
     CU_FUNC_CACHE_PREFER_EQUAL = 3
 enum CUfunction_attribute
     CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 0
     CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES = 1
     CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES = 2
     CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES = 3
     CU_FUNC_ATTRIBUTE_NUM_REGS = 4
     CU_FUNC_ATTRIBUTE_PTX_VERSION = 5
     CU_FUNC_ATTRIBUTE_BINARY_VERSION = 6
     CU_FUNC_ATTRIBUTE_CACHE_MODE_CA = 7
     CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES = 8
     CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = 9
     CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_MUST_BE_SET = 10
     CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_WIDTH = 11
     CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_HEIGHT = 12
     CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_DEPTH = 13
     CU_FUNC_ATTRIBUTE_NON_PORTABLE_CLUSTER_SIZE_ALLOWED = 14
     CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = 15
     CU_FUNC_ATTRIBUTE_MAX = 16
 enum CUgraphChildGraphNodeOwnership
     CU_GRAPH_CHILD_GRAPH_OWNERSHIP_CLONE = 0
     CU_GRAPH_CHILD_GRAPH_OWNERSHIP_MOVE = 1
-enum CUgraphConditionalNodeType
 enum CUgraphDebugDot_flags
     CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE = 1
     CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME_TYPES = 2
     CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_PARAMS = 4
     CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY_NODE_PARAMS = 8
     CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET_NODE_PARAMS = 16
     CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NODE_PARAMS = 32
     CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_NODE_PARAMS = 64
     CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_SIGNAL_NODE_PARAMS = 128
     CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_WAIT_NODE_PARAMS = 256
     CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_ATTRIBUTES = 512
     CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES = 1024
     CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALLOC_NODE_PARAMS = 2048
     CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FREE_NODE_PARAMS = 4096
     CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_MEM_OP_NODE_PARAMS = 8192
     CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_TOPO_INFO = 16384
     CU_GRAPH_DEBUG_DOT_FLAGS_CONDITIONAL_NODE_PARAMS = 32768
 enum CUgraphDependencyType
     CU_GRAPH_DEPENDENCY_TYPE_DEFAULT = 0
     CU_GRAPH_DEPENDENCY_TYPE_PROGRAMMATIC = 1
 enum CUgraphExecUpdateResult
     CU_GRAPH_EXEC_UPDATE_SUCCESS = 0
     CU_GRAPH_EXEC_UPDATE_ERROR = 1
     CU_GRAPH_EXEC_UPDATE_ERROR_TOPOLOGY_CHANGED = 2
     CU_GRAPH_EXEC_UPDATE_ERROR_NODE_TYPE_CHANGED = 3
     CU_GRAPH_EXEC_UPDATE_ERROR_FUNCTION_CHANGED = 4
     CU_GRAPH_EXEC_UPDATE_ERROR_PARAMETERS_CHANGED = 5
     CU_GRAPH_EXEC_UPDATE_ERROR_NOT_SUPPORTED = 6
     CU_GRAPH_EXEC_UPDATE_ERROR_UNSUPPORTED_FUNCTION_CHANGE = 7
     CU_GRAPH_EXEC_UPDATE_ERROR_ATTRIBUTES_CHANGED = 8
 enum CUgraphInstantiateResult
     CUDA_GRAPH_INSTANTIATE_SUCCESS = 0
     CUDA_GRAPH_INSTANTIATE_ERROR = 1
     CUDA_GRAPH_INSTANTIATE_INVALID_STRUCTURE = 2
     CUDA_GRAPH_INSTANTIATE_NODE_OPERATION_NOT_SUPPORTED = 3
     CUDA_GRAPH_INSTANTIATE_MULTIPLE_CTXS_NOT_SUPPORTED = 4
     CUDA_GRAPH_INSTANTIATE_CONDITIONAL_HANDLE_UNUSED = 5
 enum CUgraphInstantiate_flags
     CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH = 1
     CUDA_GRAPH_INSTANTIATE_FLAG_UPLOAD = 2
     CUDA_GRAPH_INSTANTIATE_FLAG_DEVICE_LAUNCH = 4
     CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY = 8
 enum CUgraphNodeType
     CU_GRAPH_NODE_TYPE_KERNEL = 0
     CU_GRAPH_NODE_TYPE_MEMCPY = 1
     CU_GRAPH_NODE_TYPE_MEMSET = 2
     CU_GRAPH_NODE_TYPE_HOST = 3
     CU_GRAPH_NODE_TYPE_GRAPH = 4
     CU_GRAPH_NODE_TYPE_EMPTY = 5
     CU_GRAPH_NODE_TYPE_WAIT_EVENT = 6
     CU_GRAPH_NODE_TYPE_EVENT_RECORD = 7
     CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIGNAL = 8
     CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAIT = 9
     CU_GRAPH_NODE_TYPE_MEM_ALLOC = 10
     CU_GRAPH_NODE_TYPE_MEM_FREE = 11
     CU_GRAPH_NODE_TYPE_BATCH_MEM_OP = 12
     CU_GRAPH_NODE_TYPE_CONDITIONAL = 13
 enum CUgraphicsMapResourceFlags
     CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE = 0
     CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY = 1
     CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 2
 enum CUgraphicsRegisterFlags
     CU_GRAPHICS_REGISTER_FLAGS_NONE = 0
     CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY = 1
     CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD = 2
     CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST = 4
     CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER = 8
-enum CUipcMem_flags
 enum CUjitInputType
     CU_JIT_INPUT_CUBIN = 0
     CU_JIT_INPUT_PTX = 1
     CU_JIT_INPUT_FATBINARY = 2
     CU_JIT_INPUT_OBJECT = 3
     CU_JIT_INPUT_LIBRARY = 4
     CU_JIT_INPUT_NVVM = 5
     CU_JIT_NUM_INPUT_TYPES = 6
-enum CUjit_cacheMode
-enum CUjit_fallback
 enum CUjit_option
     CU_JIT_MAX_REGISTERS = 0
     CU_JIT_THREADS_PER_BLOCK = 1
     CU_JIT_WALL_TIME = 2
     CU_JIT_INFO_LOG_BUFFER = 3
     CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES = 4
     CU_JIT_ERROR_LOG_BUFFER = 5
     CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES = 6
     CU_JIT_OPTIMIZATION_LEVEL = 7
     CU_JIT_TARGET_FROM_CUCONTEXT = 8
     CU_JIT_TARGET = 9
     CU_JIT_FALLBACK_STRATEGY = 10
     CU_JIT_GENERATE_DEBUG_INFO = 11
     CU_JIT_LOG_VERBOSE = 12
     CU_JIT_GENERATE_LINE_INFO = 13
     CU_JIT_CACHE_MODE = 14
     CU_JIT_NEW_SM3X_OPT = 15
     CU_JIT_FAST_COMPILE = 16
     CU_JIT_GLOBAL_SYMBOL_NAMES = 17
     CU_JIT_GLOBAL_SYMBOL_ADDRESSES = 18
     CU_JIT_GLOBAL_SYMBOL_COUNT = 19
     CU_JIT_LTO = 20
     CU_JIT_FTZ = 21
     CU_JIT_PREC_DIV = 22
     CU_JIT_PREC_SQRT = 23
     CU_JIT_FMA = 24
     CU_JIT_REFERENCED_KERNEL_NAMES = 25
     CU_JIT_REFERENCED_KERNEL_COUNT = 26
     CU_JIT_REFERENCED_VARIABLE_NAMES = 27
     CU_JIT_REFERENCED_VARIABLE_COUNT = 28
     CU_JIT_OPTIMIZE_UNUSED_DEVICE_VARIABLES = 29
     CU_JIT_POSITION_INDEPENDENT_CODE = 30
     CU_JIT_MIN_CTA_PER_SM = 31
     CU_JIT_MAX_THREADS_PER_BLOCK = 32
     CU_JIT_OVERRIDE_DIRECTIVE_VALUES = 33
-    CU_JIT_NUM_OPTIONS = 34
-enum CUjit_target
 enum CUlaunchAttributeID
     CU_LAUNCH_ATTRIBUTE_IGNORE = 0
     CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1
     CU_LAUNCH_ATTRIBUTE_COOPERATIVE = 2
     CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY = 3
     CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION = 4
     CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = 5
     CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION = 6
     CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT = 7
     CU_LAUNCH_ATTRIBUTE_PRIORITY = 8
     CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = 9
     CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN = 10
     CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION = 11
     CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT = 12
     CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = 13
     CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = 14
-enum CUlaunchMemSyncDomain
 enum CUlibraryOption
     CU_LIBRARY_HOST_UNIVERSAL_FUNCTION_AND_DATA_TABLE = 0
     CU_LIBRARY_BINARY_IS_PRESERVED = 1
     CU_LIBRARY_NUM_OPTIONS = 2
 enum CUlimit
     CU_LIMIT_STACK_SIZE = 0
     CU_LIMIT_PRINTF_FIFO_SIZE = 1
     CU_LIMIT_MALLOC_HEAP_SIZE = 2
     CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH = 3
     CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT = 4
     CU_LIMIT_MAX_L2_FETCH_GRANULARITY = 5
     CU_LIMIT_PERSISTING_L2_CACHE_SIZE = 6
     CU_LIMIT_SHMEM_SIZE = 7
     CU_LIMIT_CIG_ENABLED = 8
     CU_LIMIT_CIG_SHMEM_FALLBACK_ENABLED = 9
     CU_LIMIT_MAX = 10
 enum CUmemAccess_flags
     CU_MEM_ACCESS_FLAGS_PROT_NONE = 0
     CU_MEM_ACCESS_FLAGS_PROT_READ = 1
     CU_MEM_ACCESS_FLAGS_PROT_READWRITE = 3
     CU_MEM_ACCESS_FLAGS_PROT_MAX = 2147483647
 enum CUmemAllocationCompType
     CU_MEM_ALLOCATION_COMP_NONE = 0
     CU_MEM_ALLOCATION_COMP_GENERIC = 1
 enum CUmemAllocationGranularity_flags
     CU_MEM_ALLOC_GRANULARITY_MINIMUM = 0
     CU_MEM_ALLOC_GRANULARITY_RECOMMENDED = 1
 enum CUmemAllocationHandleType
     CU_MEM_HANDLE_TYPE_NONE = 0
     CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR = 1
     CU_MEM_HANDLE_TYPE_WIN32 = 2
     CU_MEM_HANDLE_TYPE_WIN32_KMT = 4
     CU_MEM_HANDLE_TYPE_FABRIC = 8
     CU_MEM_HANDLE_TYPE_MAX = 2147483647
 enum CUmemAllocationType
     CU_MEM_ALLOCATION_TYPE_INVALID = 0
     CU_MEM_ALLOCATION_TYPE_PINNED = 1
     CU_MEM_ALLOCATION_TYPE_MAX = 2147483647
 enum CUmemAttach_flags
     CU_MEM_ATTACH_GLOBAL = 1
     CU_MEM_ATTACH_HOST = 2
     CU_MEM_ATTACH_SINGLE = 4
-enum CUmemHandleType
-enum CUmemLocationType
-enum CUmemOperationType
 enum CUmemPool_attribute
     CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES = 1
     CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC = 2
     CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES = 3
     CU_MEMPOOL_ATTR_RELEASE_THRESHOLD = 4
     CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT = 5
     CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH = 6
     CU_MEMPOOL_ATTR_USED_MEM_CURRENT = 7
     CU_MEMPOOL_ATTR_USED_MEM_HIGH = 8
 enum CUmemRangeFlags
     CU_MEM_RANGE_FLAG_DMA_BUF_MAPPING_TYPE_PCIE = 1
 enum CUmemRangeHandleType
     CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD = 1
     CU_MEM_RANGE_HANDLE_TYPE_MAX = 2147483647
 enum CUmem_advise
     CU_MEM_ADVISE_SET_READ_MOSTLY = 1
     CU_MEM_ADVISE_UNSET_READ_MOSTLY = 2
     CU_MEM_ADVISE_SET_PREFERRED_LOCATION = 3
     CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION = 4
     CU_MEM_ADVISE_SET_ACCESSED_BY = 5
     CU_MEM_ADVISE_UNSET_ACCESSED_BY = 6
 enum CUmemcpy3DOperandType
     CU_MEMCPY_OPERAND_TYPE_POINTER = 1
     CU_MEMCPY_OPERAND_TYPE_ARRAY = 2
     CU_MEMCPY_OPERAND_TYPE_MAX = 2147483647
-enum CUmemcpyFlags
 enum CUmemcpySrcAccessOrder
     CU_MEMCPY_SRC_ACCESS_ORDER_INVALID = 0
     CU_MEMCPY_SRC_ACCESS_ORDER_STREAM = 1
     CU_MEMCPY_SRC_ACCESS_ORDER_DURING_API_CALL = 2
     CU_MEMCPY_SRC_ACCESS_ORDER_ANY = 3
     CU_MEMCPY_SRC_ACCESS_ORDER_MAX = 2147483647
 enum CUmemorytype
     CU_MEMORYTYPE_HOST = 1
     CU_MEMORYTYPE_DEVICE = 2
     CU_MEMORYTYPE_ARRAY = 3
     CU_MEMORYTYPE_UNIFIED = 4
 enum CUmulticastGranularity_flags
     CU_MULTICAST_GRANULARITY_MINIMUM = 0
     CU_MULTICAST_GRANULARITY_RECOMMENDED = 1
 enum CUoccupancy_flags
     CU_OCCUPANCY_DEFAULT = 0
     CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE = 1
 enum CUpointer_attribute
     CU_POINTER_ATTRIBUTE_CONTEXT = 1
     CU_POINTER_ATTRIBUTE_MEMORY_TYPE = 2
     CU_POINTER_ATTRIBUTE_DEVICE_POINTER = 3
     CU_POINTER_ATTRIBUTE_HOST_POINTER = 4
     CU_POINTER_ATTRIBUTE_P2P_TOKENS = 5
     CU_POINTER_ATTRIBUTE_SYNC_MEMOPS = 6
     CU_POINTER_ATTRIBUTE_BUFFER_ID = 7
     CU_POINTER_ATTRIBUTE_IS_MANAGED = 8
     CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL = 9
     CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE = 10
     CU_POINTER_ATTRIBUTE_RANGE_START_ADDR = 11
     CU_POINTER_ATTRIBUTE_RANGE_SIZE = 12
     CU_POINTER_ATTRIBUTE_MAPPED = 13
     CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES = 14
     CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE = 15
     CU_POINTER_ATTRIBUTE_ACCESS_FLAGS = 16
     CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE = 17
     CU_POINTER_ATTRIBUTE_MAPPING_SIZE = 18
     CU_POINTER_ATTRIBUTE_MAPPING_BASE_ADDR = 19
     CU_POINTER_ATTRIBUTE_MEMORY_BLOCK_ID = 20
     CU_POINTER_ATTRIBUTE_IS_HW_DECOMPRESS_CAPABLE = 21
-enum CUprocessState
 enum CUresourceViewFormat
     CU_RES_VIEW_FORMAT_NONE = 0
     CU_RES_VIEW_FORMAT_UINT_1X8 = 1
     CU_RES_VIEW_FORMAT_UINT_2X8 = 2
     CU_RES_VIEW_FORMAT_UINT_4X8 = 3
     CU_RES_VIEW_FORMAT_SINT_1X8 = 4
     CU_RES_VIEW_FORMAT_SINT_2X8 = 5
     CU_RES_VIEW_FORMAT_SINT_4X8 = 6
     CU_RES_VIEW_FORMAT_UINT_1X16 = 7
     CU_RES_VIEW_FORMAT_UINT_2X16 = 8
     CU_RES_VIEW_FORMAT_UINT_4X16 = 9
     CU_RES_VIEW_FORMAT_SINT_1X16 = 10
     CU_RES_VIEW_FORMAT_SINT_2X16 = 11
     CU_RES_VIEW_FORMAT_SINT_4X16 = 12
     CU_RES_VIEW_FORMAT_UINT_1X32 = 13
     CU_RES_VIEW_FORMAT_UINT_2X32 = 14
     CU_RES_VIEW_FORMAT_UINT_4X32 = 15
     CU_RES_VIEW_FORMAT_SINT_1X32 = 16
     CU_RES_VIEW_FORMAT_SINT_2X32 = 17
     CU_RES_VIEW_FORMAT_SINT_4X32 = 18
     CU_RES_VIEW_FORMAT_FLOAT_1X16 = 19
     CU_RES_VIEW_FORMAT_FLOAT_2X16 = 20
     CU_RES_VIEW_FORMAT_FLOAT_4X16 = 21
     CU_RES_VIEW_FORMAT_FLOAT_1X32 = 22
     CU_RES_VIEW_FORMAT_FLOAT_2X32 = 23
     CU_RES_VIEW_FORMAT_FLOAT_4X32 = 24
     CU_RES_VIEW_FORMAT_UNSIGNED_BC1 = 25
     CU_RES_VIEW_FORMAT_UNSIGNED_BC2 = 26
     CU_RES_VIEW_FORMAT_UNSIGNED_BC3 = 27
     CU_RES_VIEW_FORMAT_UNSIGNED_BC4 = 28
     CU_RES_VIEW_FORMAT_SIGNED_BC4 = 29
     CU_RES_VIEW_FORMAT_UNSIGNED_BC5 = 30
     CU_RES_VIEW_FORMAT_SIGNED_BC5 = 31
     CU_RES_VIEW_FORMAT_UNSIGNED_BC6H = 32
     CU_RES_VIEW_FORMAT_SIGNED_BC6H = 33
     CU_RES_VIEW_FORMAT_UNSIGNED_BC7 = 34
 enum CUresourcetype
     CU_RESOURCE_TYPE_ARRAY = 0
     CU_RESOURCE_TYPE_MIPMAPPED_ARRAY = 1
     CU_RESOURCE_TYPE_LINEAR = 2
     CU_RESOURCE_TYPE_PITCH2D = 3
 enum CUresult
     CUDA_SUCCESS = 0
     CUDA_ERROR_INVALID_VALUE = 1
     CUDA_ERROR_OUT_OF_MEMORY = 2
     CUDA_ERROR_NOT_INITIALIZED = 3
     CUDA_ERROR_DEINITIALIZED = 4
     CUDA_ERROR_PROFILER_DISABLED = 5
     CUDA_ERROR_PROFILER_NOT_INITIALIZED = 6
     CUDA_ERROR_PROFILER_ALREADY_STARTED = 7
     CUDA_ERROR_PROFILER_ALREADY_STOPPED = 8
     CUDA_ERROR_STUB_LIBRARY = 34
     CUDA_ERROR_DEVICE_UNAVAILABLE = 46
     CUDA_ERROR_NO_DEVICE = 100
     CUDA_ERROR_INVALID_DEVICE = 101
     CUDA_ERROR_DEVICE_NOT_LICENSED = 102
     CUDA_ERROR_INVALID_IMAGE = 200
     CUDA_ERROR_INVALID_CONTEXT = 201
     CUDA_ERROR_CONTEXT_ALREADY_CURRENT = 202
     CUDA_ERROR_MAP_FAILED = 205
     CUDA_ERROR_UNMAP_FAILED = 206
     CUDA_ERROR_ARRAY_IS_MAPPED = 207
     CUDA_ERROR_ALREADY_MAPPED = 208
     CUDA_ERROR_NO_BINARY_FOR_GPU = 209
     CUDA_ERROR_ALREADY_ACQUIRED = 210
     CUDA_ERROR_NOT_MAPPED = 211
     CUDA_ERROR_NOT_MAPPED_AS_ARRAY = 212
     CUDA_ERROR_NOT_MAPPED_AS_POINTER = 213
     CUDA_ERROR_ECC_UNCORRECTABLE = 214
     CUDA_ERROR_UNSUPPORTED_LIMIT = 215
     CUDA_ERROR_CONTEXT_ALREADY_IN_USE = 216
     CUDA_ERROR_PEER_ACCESS_UNSUPPORTED = 217
     CUDA_ERROR_INVALID_PTX = 218
     CUDA_ERROR_INVALID_GRAPHICS_CONTEXT = 219
     CUDA_ERROR_NVLINK_UNCORRECTABLE = 220
     CUDA_ERROR_JIT_COMPILER_NOT_FOUND = 221
     CUDA_ERROR_UNSUPPORTED_PTX_VERSION = 222
     CUDA_ERROR_JIT_COMPILATION_DISABLED = 223
     CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY = 224
     CUDA_ERROR_UNSUPPORTED_DEVSIDE_SYNC = 225
     CUDA_ERROR_CONTAINED = 226
     CUDA_ERROR_INVALID_SOURCE = 300
     CUDA_ERROR_FILE_NOT_FOUND = 301
     CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND = 302
     CUDA_ERROR_SHARED_OBJECT_INIT_FAILED = 303
     CUDA_ERROR_OPERATING_SYSTEM = 304
     CUDA_ERROR_INVALID_HANDLE = 400
     CUDA_ERROR_ILLEGAL_STATE = 401
     CUDA_ERROR_LOSSY_QUERY = 402
     CUDA_ERROR_NOT_FOUND = 500
     CUDA_ERROR_NOT_READY = 600
     CUDA_ERROR_ILLEGAL_ADDRESS = 700
     CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES = 701
     CUDA_ERROR_LAUNCH_TIMEOUT = 702
     CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING = 703
     CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED = 704
     CUDA_ERROR_PEER_ACCESS_NOT_ENABLED = 705
     CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE = 708
     CUDA_ERROR_CONTEXT_IS_DESTROYED = 709
     CUDA_ERROR_ASSERT = 710
     CUDA_ERROR_TOO_MANY_PEERS = 711
     CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED = 712
     CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED = 713
     CUDA_ERROR_HARDWARE_STACK_ERROR = 714
     CUDA_ERROR_ILLEGAL_INSTRUCTION = 715
     CUDA_ERROR_MISALIGNED_ADDRESS = 716
     CUDA_ERROR_INVALID_ADDRESS_SPACE = 717
     CUDA_ERROR_INVALID_PC = 718
     CUDA_ERROR_LAUNCH_FAILED = 719
     CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE = 720
     CUDA_ERROR_TENSOR_MEMORY_LEAK = 721
     CUDA_ERROR_NOT_PERMITTED = 800
     CUDA_ERROR_NOT_SUPPORTED = 801
     CUDA_ERROR_SYSTEM_NOT_READY = 802
     CUDA_ERROR_SYSTEM_DRIVER_MISMATCH = 803
     CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE = 804
     CUDA_ERROR_MPS_CONNECTION_FAILED = 805
     CUDA_ERROR_MPS_RPC_FAILURE = 806
     CUDA_ERROR_MPS_SERVER_NOT_READY = 807
     CUDA_ERROR_MPS_MAX_CLIENTS_REACHED = 808
     CUDA_ERROR_MPS_MAX_CONNECTIONS_REACHED = 809
     CUDA_ERROR_MPS_CLIENT_TERMINATED = 810
     CUDA_ERROR_CDP_NOT_SUPPORTED = 811
     CUDA_ERROR_CDP_VERSION_MISMATCH = 812
     CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED = 900
     CUDA_ERROR_STREAM_CAPTURE_INVALIDATED = 901
     CUDA_ERROR_STREAM_CAPTURE_MERGE = 902
     CUDA_ERROR_STREAM_CAPTURE_UNMATCHED = 903
     CUDA_ERROR_STREAM_CAPTURE_UNJOINED = 904
     CUDA_ERROR_STREAM_CAPTURE_ISOLATION = 905
     CUDA_ERROR_STREAM_CAPTURE_IMPLICIT = 906
     CUDA_ERROR_CAPTURED_EVENT = 907
     CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD = 908
     CUDA_ERROR_TIMEOUT = 909
     CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE = 910
     CUDA_ERROR_EXTERNAL_DEVICE = 911
     CUDA_ERROR_INVALID_CLUSTER_SIZE = 912
     CUDA_ERROR_FUNCTION_NOT_LOADED = 913
     CUDA_ERROR_INVALID_RESOURCE_TYPE = 914
     CUDA_ERROR_INVALID_RESOURCE_CONFIGURATION = 915
     CUDA_ERROR_KEY_ROTATION = 916
     CUDA_ERROR_UNKNOWN = 999
 enum CUshared_carveout
     CU_SHAREDMEM_CARVEOUT_DEFAULT = 18446744073709551615
     CU_SHAREDMEM_CARVEOUT_MAX_SHARED = 100
     CU_SHAREDMEM_CARVEOUT_MAX_L1 = 0
 enum CUsharedconfig
     CU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE = 0
     CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE = 1
     CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE = 2
-enum CUstreamBatchMemOpType
 enum CUstreamCaptureMode
     CU_STREAM_CAPTURE_MODE_GLOBAL = 0
     CU_STREAM_CAPTURE_MODE_THREAD_LOCAL = 1
     CU_STREAM_CAPTURE_MODE_RELAXED = 2
 enum CUstreamCaptureStatus
     CU_STREAM_CAPTURE_STATUS_NONE = 0
     CU_STREAM_CAPTURE_STATUS_ACTIVE = 1
     CU_STREAM_CAPTURE_STATUS_INVALIDATED = 2
-enum CUstreamMemoryBarrier_flags
 enum CUstreamUpdateCaptureDependencies_flags
     CU_STREAM_ADD_CAPTURE_DEPENDENCIES = 0
     CU_STREAM_SET_CAPTURE_DEPENDENCIES = 1
-enum CUstreamWaitValue_flags
 enum CUstreamWriteValue_flags
     CU_STREAM_WRITE_VALUE_DEFAULT = 0
     CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER = 1
 enum CUstream_flags
     CU_STREAM_DEFAULT = 0
     CU_STREAM_NON_BLOCKING = 1
 enum CUtensorMapDataType
     CU_TENSOR_MAP_DATA_TYPE_UINT8 = 0
     CU_TENSOR_MAP_DATA_TYPE_UINT16 = 1
     CU_TENSOR_MAP_DATA_TYPE_UINT32 = 2
     CU_TENSOR_MAP_DATA_TYPE_INT32 = 3
     CU_TENSOR_MAP_DATA_TYPE_UINT64 = 4
     CU_TENSOR_MAP_DATA_TYPE_INT64 = 5
     CU_TENSOR_MAP_DATA_TYPE_FLOAT16 = 6
     CU_TENSOR_MAP_DATA_TYPE_FLOAT32 = 7
     CU_TENSOR_MAP_DATA_TYPE_FLOAT64 = 8
     CU_TENSOR_MAP_DATA_TYPE_BFLOAT16 = 9
     CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ = 10
     CU_TENSOR_MAP_DATA_TYPE_TFLOAT32 = 11
     CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ = 12
     CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN8B = 13
     CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B = 14
     CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B = 15
 enum CUtensorMapFloatOOBfill
     CU_TENSOR_MAP_FLOAT_OOB_FILL_NONE = 0
     CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA = 1
 enum CUtensorMapIm2ColWideMode
     CU_TENSOR_MAP_IM2COL_WIDE_MODE_W = 0
     CU_TENSOR_MAP_IM2COL_WIDE_MODE_W128 = 1
 enum CUtensorMapInterleave
     CU_TENSOR_MAP_INTERLEAVE_NONE = 0
     CU_TENSOR_MAP_INTERLEAVE_16B = 1
     CU_TENSOR_MAP_INTERLEAVE_32B = 2
 enum CUtensorMapL2promotion
     CU_TENSOR_MAP_L2_PROMOTION_NONE = 0
     CU_TENSOR_MAP_L2_PROMOTION_L2_64B = 1
     CU_TENSOR_MAP_L2_PROMOTION_L2_128B = 2
     CU_TENSOR_MAP_L2_PROMOTION_L2_256B = 3
 enum CUtensorMapSwizzle
     CU_TENSOR_MAP_SWIZZLE_NONE = 0
     CU_TENSOR_MAP_SWIZZLE_32B = 1
     CU_TENSOR_MAP_SWIZZLE_64B = 2
     CU_TENSOR_MAP_SWIZZLE_128B = 3
     CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B = 4
     CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B_FLIP_8B = 5
     CU_TENSOR_MAP_SWIZZLE_128B_ATOM_64B = 6
 enum CUuserObjectRetain_flags
     CU_GRAPH_USER_OBJECT_MOVE = 1
 enum CUuserObject_flags
     CU_USER_OBJECT_NO_DESTRUCTOR_SYNC = 1
-enum cl_context_flags
-enum cl_event_flags
 struct CUDA_ARRAY3D_DESCRIPTOR_v2
     Depth
     Flags
     Format
     Height
     NumChannels
     Width
 struct CUDA_ARRAY_DESCRIPTOR_v2
     Format
     Height
     NumChannels
     Width
-struct CUDA_ARRAY_MEMORY_REQUIREMENTS_v1
-struct CUDA_ARRAY_SPARSE_PROPERTIES_v1
 struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v2
 struct CUDA_CHILD_GRAPH_NODE_PARAMS
     graph
     ownership
-struct CUDA_CONDITIONAL_NODE_PARAMS
 struct CUDA_EVENT_RECORD_NODE_PARAMS
     event
 struct CUDA_EVENT_WAIT_NODE_PARAMS
     event
-struct CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1
 struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1
-struct CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1
 struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1
 struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1
 struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1
-struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1
-struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2
-struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1
-struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2
struct CUDA_GRAPH_INSTANTIATE_PARAMS
 struct CUDA_HOST_NODE_PARAMS_v1
     fn
     userData
 struct CUDA_HOST_NODE_PARAMS_v2
     fn
     userData
 struct CUDA_KERNEL_NODE_PARAMS_v1
     blockDimX
     blockDimY
     blockDimZ
     extra
     func
     gridDimX
     gridDimY
     gridDimZ
     kernelParams
     sharedMemBytes
 struct CUDA_KERNEL_NODE_PARAMS_v2
     blockDimX
     blockDimY
     blockDimZ
     ctx
     extra
     func
     gridDimX
     gridDimY
     gridDimZ
     kern
     kernelParams
     sharedMemBytes
 struct CUDA_KERNEL_NODE_PARAMS_v3
     blockDimX
     blockDimY
     blockDimZ
     ctx
     extra
     func
     gridDimX
     gridDimY
     gridDimZ
     kern
     kernelParams
     sharedMemBytes
-struct CUDA_LAUNCH_PARAMS_v1
 struct CUDA_MEMCPY2D_v2
     Height
     WidthInBytes
     dstArray
     dstDevice
     dstHost
     dstMemoryType
     dstPitch
     dstXInBytes
     dstY
     srcArray
     srcDevice
     srcHost
     srcMemoryType
     srcPitch
     srcXInBytes
     srcY
-struct CUDA_MEMCPY3D_PEER_v1
 struct CUDA_MEMCPY3D_v2
     Depth
     Height
     WidthInBytes
     dstArray
     dstDevice
     dstHeight
     dstHost
     dstLOD
     dstMemoryType
     dstPitch
     dstXInBytes
     dstY
     dstZ
     reserved0
     reserved1
     srcArray
     srcDevice
     srcHeight
     srcHost
     srcLOD
     srcMemoryType
     srcPitch
     srcXInBytes
     srcY
     srcZ
 struct CUDA_MEMCPY_NODE_PARAMS
     copyCtx
     copyParams
     flags
     reserved
 struct CUDA_MEMSET_NODE_PARAMS_v1
     dst
     elementSize
     height
     pitch
     value
     width
 struct CUDA_MEMSET_NODE_PARAMS_v2
     ctx
     dst
     elementSize
     height
     pitch
     value
     width
 struct CUDA_MEM_ALLOC_NODE_PARAMS_v1
     accessDescCount
     accessDescs
     bytesize
     dptr
     poolProps
 struct CUDA_MEM_ALLOC_NODE_PARAMS_v2
     accessDescCount
     accessDescs
     bytesize
     dptr
     poolProps
 struct CUDA_MEM_FREE_NODE_PARAMS
     dptr
-struct CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1
 struct CUDA_RESOURCE_DESC_v1
     devPtr
     flags
     format
     hArray
     hMipmappedArray
     height
     numChannels
     pitchInBytes
     resType
     sizeInBytes
     width
 struct CUDA_RESOURCE_VIEW_DESC_v1
     depth
     firstLayer
     firstMipmapLevel
     format
     height
     lastLayer
     lastMipmapLevel
     width
-struct CUDA_TEXTURE_DESC_v1
     addressMode
     borderColor
     filterMode
     flags
     maxAnisotropy
     maxMipmapLevelClamp
     minMipmapLevelClamp
     mipmapFilterMode
     mipmapLevelBias
-struct CUaccessPolicyWindow_v1
     base_ptr
     hitProp
     hitRatio
     missProp
     num_bytes
-struct CUarrayMapInfo_v1
 struct CUasyncNotificationInfo
struct CUcheckpointCheckpointArgs
struct CUcheckpointLockArgs
struct CUcheckpointRestoreArgs
struct CUcheckpointUnlockArgs
 struct CUctxCigParam
struct CUctxCreateParams
 struct CUdevprop_v1
     SIMDWidth
     clockRate
     maxGridSize
     maxThreadsDim
     maxThreadsPerBlock
     memPitch
     regsPerBlock
     sharedMemPerBlock
     textureAlign
     totalConstantMemory
-struct CUeglFrame_v1
 struct CUexecAffinityParam_v1
-struct CUexecAffinitySmCount_v1
     val
 struct CUextent3D_v1
struct CUgraphEdgeData
 struct CUgraphExecUpdateResultInfo_v1
     errorFromNode
     errorNode
     result
struct CUgraphNodeParams
 struct CUipcEventHandle_v1
 struct CUipcMemHandle_v1
 struct CUlaunchAttribute
     id
     value
 union CUlaunchAttributeValue
struct CUlaunchConfig
-struct CUlaunchMemSyncDomainMap
 struct CUmemAccessDesc_v1
     flags
     location
 struct CUmemAllocationProp_v1
     compressionType
     location
     requestedHandleTypes
     type
     usage
     win32HandleMetaData
 struct CUmemFabricHandle_v1
 struct CUmemLocation_v1
     id
     type
 struct CUmemPoolProps_v1
     allocType
     handleTypes
     location
     maxSize
     reserved
     usage
     win32SecurityAttributes
 struct CUmemPoolPtrExportData_v1
 struct CUmemcpy3DOperand_v1
 struct CUmemcpyAttributes_v1
     dstLocHint
     flags
     srcAccessOrder
     srcLocHint
 struct CUmulticastObjectProp_v1
     flags
     handleTypes
     numDevices
     size
 struct CUoffset3D_v1
 union CUstreamBatchMemOpParams_v1
struct CUtensorMap
 typedef CUarray_st * CUarray;
-typedef void (*CUasyncCallback)(CUasyncNotificationInfo* info, void* userData, CUasyncCallbackHandle callback);
-typedef CUasyncCallbackEntry_st * CUasyncCallbackHandle;
 typedef CUctx_st * CUcontext;
 typedef CUdevice_v1 CUdevice;
 typedef int CUdevice_v1;
 typedef CUdeviceptr_v2 CUdeviceptr;
 typedef unsigned long long CUdeviceptr_v2;
-typedef CUeglStreamConnection_st * CUeglStreamConnection;
 typedef CUevent_st * CUevent;
-typedef CUextMemory_st * CUexternalMemory;
-typedef CUextSemaphore_st * CUexternalSemaphore;
 typedef CUfunc_st * CUfunction;
 typedef CUgraph_st * CUgraph;
-typedef cuuint64_t CUgraphConditionalHandle;
 typedef CUgraphDeviceUpdatableNode_st * CUgraphDeviceNode;
 typedef CUgraphExec_st * CUgraphExec;
 typedef CUgraphNode_st * CUgraphNode;
 typedef CUgraphicsResource_st * CUgraphicsResource;
 typedef CUgreenCtx_st * CUgreenCtx;
 typedef void(* CUhostFn)(void* userData);
 typedef CUkern_st * CUkernel;
 typedef CUlib_st * CUlibrary;
 typedef CUmemPoolHandle_st * CUmemoryPool;
 typedef CUmipmappedArray_st * CUmipmappedArray;
 typedef CUmod_st * CUmodule;
 typedef size_t(* CUoccupancyB2DSize)(int blockSize);
 typedef CUstream_st * CUstream;
 typedef void(* CUstreamCallback)(CUstream hStream, CUresult status, void* userData);
 typedef CUsurfObject_v1 CUsurfObject;
 typedef unsigned long long CUsurfObject_v1;
-typedef CUsurfref_st * CUsurfref;
 typedef CUtexObject_v1 CUtexObject;
 typedef unsigned long long CUtexObject_v1;
 typedef CUtexref_st * CUtexref;
 typedef CUuserObject_st * CUuserObject;

6.2. Error Handling#

 CUresult cuGetErrorName(CUresult error, const char** pStr);
 CUresult cuGetErrorString(CUresult error, const char** pStr);

6.3. Initialization#

 CUresult cuInit(unsigned int Flags);

6.4. Version Management#

 CUresult cuDriverGetVersion(int* driverVersion);

6.5. Device Management#

 CUresult cuDeviceGet(CUdevice* device, int ordinal);
 CUresult cuDeviceGetAttribute(int* pi, CUdevice_attribute attrib, CUdevice dev);
 CUresult cuDeviceGetCount(int* count);
 CUresult cuDeviceGetDefaultMemPool(CUmemoryPool* pool_out, CUdevice dev);
 CUresult cuDeviceGetExecAffinitySupport(int* pi, CUexecAffinityType type, CUdevice dev);
 CUresult cuDeviceGetLuid(char* luid, unsigned int* deviceNodeMask, CUdevice dev);
 CUresult cuDeviceGetMemPool(CUmemoryPool* pool, CUdevice dev);
 CUresult cuDeviceGetName(char* name, int len, CUdevice dev);
-CUresult cuDeviceGetNvSciSyncAttributes(void* nvSciSyncAttrList, CUdevice dev, int flags);
 CUresult cuDeviceGetTexture1DLinearMaxWidth(size_t* maxWidthInElements, CUarray_format format, unsigned numChannels, CUdevice dev);
 CUresult cuDeviceGetUuid(CUuuid* uuid, CUdevice dev);
 CUresult cuDeviceGetUuid_v2(CUuuid* uuid, CUdevice dev);
 CUresult cuDeviceSetMemPool(CUdevice dev, CUmemoryPool pool);
 CUresult cuDeviceTotalMem(size_t* bytes, CUdevice dev);
 CUresult cuFlushGPUDirectRDMAWrites(CUflushGPUDirectRDMAWritesTarget target, CUflushGPUDirectRDMAWritesScope scope);

6.6. Device Management [DEPRECATED]#

 CUresult cuDeviceComputeCapability(int* major, int* minor, CUdevice dev);
 CUresult cuDeviceGetProperties(CUdevprop* prop, CUdevice dev);

6.7. Primary Context Management#

 CUresult cuDevicePrimaryCtxGetState(CUdevice dev, unsigned int* flags, int* active);
 CUresult cuDevicePrimaryCtxRelease(CUdevice dev);
 CUresult cuDevicePrimaryCtxReset(CUdevice dev);
 CUresult cuDevicePrimaryCtxRetain(CUcontext* pctx, CUdevice dev);
 CUresult cuDevicePrimaryCtxSetFlags(CUdevice dev, unsigned int flags);

6.8. Context Management#

 CUresult cuCtxCreate(CUcontext* pctx, unsigned int flags, CUdevice dev);
 CUresult cuCtxCreate_v3(CUcontext* pctx, CUexecAffinityParam* paramsArray, int numParams, unsigned int flags, CUdevice dev);
 CUresult cuCtxCreate_v4(CUcontext* pctx, CUctxCreateParams* ctxCreateParams, unsigned int flags, CUdevice dev);
 CUresult cuCtxDestroy(CUcontext ctx);
 CUresult cuCtxGetApiVersion(CUcontext ctx, unsigned int* version);
 CUresult cuCtxGetCacheConfig(CUfunc_cache* pconfig);
 CUresult cuCtxGetCurrent(CUcontext* pctx);
 CUresult cuCtxGetDevice(CUdevice* device);
 CUresult cuCtxGetExecAffinity(CUexecAffinityParam* pExecAffinity, CUexecAffinityType type);
 CUresult cuCtxGetFlags(unsigned int* flags);
 CUresult cuCtxGetId(CUcontext ctx, unsigned long long* ctxId);
 CUresult cuCtxGetLimit(size_t* pvalue, CUlimit limit);
 CUresult cuCtxGetStreamPriorityRange(int* leastPriority, int* greatestPriority);
 CUresult cuCtxPopCurrent(CUcontext* pctx);
 CUresult cuCtxPushCurrent(CUcontext ctx);
 CUresult cuCtxRecordEvent(CUcontext hCtx, CUevent hEvent);
 CUresult cuCtxResetPersistingL2Cache(void);
 CUresult cuCtxSetCacheConfig(CUfunc_cache config);
 CUresult cuCtxSetCurrent(CUcontext ctx);
 CUresult cuCtxSetFlags(unsigned int flags);
 CUresult cuCtxSetLimit(CUlimit limit, size_t value);
 CUresult cuCtxSynchronize(void);
 CUresult cuCtxWaitEvent(CUcontext hCtx, CUevent hEvent);

6.9. Context Management [DEPRECATED]#

 CUresult cuCtxAttach(CUcontext* pctx, unsigned int flags);
 CUresult cuCtxDetach(CUcontext ctx);
 CUresult cuCtxGetSharedMemConfig(CUsharedconfig* pConfig);
 CUresult cuCtxSetSharedMemConfig(CUsharedconfig config);

6.10. Module Management#

 enum CUmoduleLoadingMode
     CU_MODULE_EAGER_LOADING = 1
     CU_MODULE_LAZY_LOADING = 2
 CUresult cuLinkAddData(CUlinkState state, CUjitInputType type, void* data, size_t size, const char* name, unsigned int numOptions, CUjit_option* options, void** optionValues);
 CUresult cuLinkAddFile(CUlinkState state, CUjitInputType type, const char* path, unsigned int numOptions, CUjit_option* options, void** optionValues);
 CUresult cuLinkComplete(CUlinkState state, void** cubinOut, size_t* sizeOut);
 CUresult cuLinkCreate(unsigned int numOptions, CUjit_option* options, void** optionValues, CUlinkState* stateOut);
 CUresult cuLinkDestroy(CUlinkState state);
 CUresult cuModuleEnumerateFunctions(CUfunction* functions, unsigned int numFunctions, CUmodule mod);
 CUresult cuModuleGetFunction(CUfunction* hfunc, CUmodule hmod, const char* name);
 CUresult cuModuleGetFunctionCount(unsigned int* count, CUmodule mod);
 CUresult cuModuleGetGlobal(CUdeviceptr* dptr, size_t* bytes, CUmodule hmod, const char* name);
 CUresult cuModuleGetLoadingMode(CUmoduleLoadingMode* mode);
 CUresult cuModuleLoad(CUmodule* module, const char* fname);
 CUresult cuModuleLoadData(CUmodule* module, const void* image);
 CUresult cuModuleLoadDataEx(CUmodule* module, const void* image, unsigned int numOptions, CUjit_option* options, void** optionValues);
 CUresult cuModuleLoadFatBinary(CUmodule* module, const void* fatCubin);
 CUresult cuModuleUnload(CUmodule hmod);

6.11. Module Management [DEPRECATED]#

-CUresult cuModuleGetSurfRef(CUsurfref* pSurfRef, CUmodule hmod, const char* name);
-CUresult cuModuleGetTexRef(CUtexref* pTexRef, CUmodule hmod, const char* name);

6.12. Library Management#

 CUresult cuKernelGetAttribute(int* pi, CUfunction_attribute attrib, CUkernel kernel, CUdevice dev);
 CUresult cuKernelGetFunction(CUfunction* pFunc, CUkernel kernel);
 CUresult cuKernelGetLibrary(CUlibrary* pLib, CUkernel kernel);
 CUresult cuKernelGetName(const char** name, CUkernel hfunc);
 CUresult cuKernelGetParamInfo(CUkernel kernel, size_t paramIndex, size_t* paramOffset, size_t* paramSize);
-CUresult cuKernelSetAttribute(CUfunction_attribute attrib, int val, CUkernel kernel, CUdevice dev);
-CUresult cuKernelSetCacheConfig(CUkernel kernel, CUfunc_cache config, CUdevice dev);
 CUresult cuLibraryEnumerateKernels(CUkernel* kernels, unsigned int numKernels, CUlibrary lib);
 CUresult cuLibraryGetGlobal(CUdeviceptr* dptr, size_t* bytes, CUlibrary library, const char* name);
 CUresult cuLibraryGetKernel(CUkernel* pKernel, CUlibrary library, const char* name);
 CUresult cuLibraryGetKernelCount(unsigned int* count, CUlibrary lib);
-CUresult cuLibraryGetManaged(CUdeviceptr* dptr, size_t* bytes, CUlibrary library, const char* name);
 CUresult cuLibraryGetModule(CUmodule* pMod, CUlibrary library);
-CUresult cuLibraryGetUnifiedFunction(void** fptr, CUlibrary library, const char* symbol);
 CUresult cuLibraryLoadData(CUlibrary* library, const void* code, CUjit_option* jitOptions, void** jitOptionsValues, unsigned int numJitOptions, CUlibraryOption* libraryOptions, void** libraryOptionValues, unsigned int numLibraryOptions);
-CUresult cuLibraryLoadFromFile(CUlibrary* library, const char* fileName, CUjit_option* jitOptions, void** jitOptionsValues, unsigned int numJitOptions, CUlibraryOption* libraryOptions, void** libraryOptionValues, unsigned int numLibraryOptions);
 CUresult cuLibraryUnload(CUlibrary library);

6.13. Memory Management#

-enum CUmemDecompressAlgorithm
struct CUmemDecompressParams
 CUresult cuArray3DCreate(CUarray* pHandle, const CUDA_ARRAY3D_DESCRIPTOR* pAllocateArray);
 CUresult cuArray3DGetDescriptor(CUDA_ARRAY3D_DESCRIPTOR* pArrayDescriptor, CUarray hArray);
 CUresult cuArrayCreate(CUarray* pHandle, const CUDA_ARRAY_DESCRIPTOR* pAllocateArray);
 CUresult cuArrayDestroy(CUarray hArray);
 CUresult cuArrayGetDescriptor(CUDA_ARRAY_DESCRIPTOR* pArrayDescriptor, CUarray hArray);
-CUresult cuArrayGetMemoryRequirements(CUDA_ARRAY_MEMORY_REQUIREMENTS* memoryRequirements, CUarray array, CUdevice device);
-CUresult cuArrayGetPlane(CUarray* pPlaneArray, CUarray hArray, unsigned int planeIdx);
-CUresult cuArrayGetSparseProperties(CUDA_ARRAY_SPARSE_PROPERTIES* sparseProperties, CUarray array);
 CUresult cuDeviceGetByPCIBusId(CUdevice* dev, const char* pciBusId);
 CUresult cuDeviceGetPCIBusId(char* pciBusId, int len, CUdevice dev);
-CUresult cuDeviceRegisterAsyncNotification(CUdevice device, CUasyncCallback callbackFunc, void* userData, CUasyncCallbackHandle* callback);
-CUresult cuDeviceUnregisterAsyncNotification(CUdevice device, CUasyncCallbackHandle callback);
 CUresult cuIpcCloseMemHandle(CUdeviceptr dptr);
 CUresult cuIpcGetEventHandle(CUipcEventHandle* pHandle, CUevent event);
 CUresult cuIpcGetMemHandle(CUipcMemHandle* pHandle, CUdeviceptr dptr);
 CUresult cuIpcOpenEventHandle(CUevent* phEvent, CUipcEventHandle handle);
 CUresult cuIpcOpenMemHandle(CUdeviceptr* pdptr, CUipcMemHandle handle, unsigned int Flags);
 CUresult cuMemAlloc(CUdeviceptr* dptr, size_t bytesize);
 CUresult cuMemAllocHost(void** pp, size_t bytesize);
 CUresult cuMemAllocManaged(CUdeviceptr* dptr, size_t bytesize, unsigned int flags);
 CUresult cuMemAllocPitch(CUdeviceptr* dptr, size_t* pPitch, size_t WidthInBytes, size_t Height, unsigned int ElementSizeBytes);
-CUresult cuMemBatchDecompressAsync(CUmemDecompressParams* paramsArray, size_t count, unsigned int flags, size_t* errorIndex, CUstream stream);
 CUresult cuMemFree(CUdeviceptr dptr);
 CUresult cuMemFreeHost(void* p);
 CUresult cuMemGetAddressRange(CUdeviceptr* pbase, size_t* psize, CUdeviceptr dptr);
 CUresult cuMemGetHandleForAddressRange(void* handle, CUdeviceptr dptr, size_t size, CUmemRangeHandleType handleType, unsigned long long flags);
 CUresult cuMemGetInfo(size_t* free, size_t* total);
 CUresult cuMemHostAlloc(void** pp, size_t bytesize, unsigned int Flags);
 CUresult cuMemHostGetDevicePointer(CUdeviceptr* pdptr, void* p, unsigned int Flags);
 CUresult cuMemHostGetFlags(unsigned int* pFlags, void* p);
 CUresult cuMemHostRegister(void* p, size_t bytesize, unsigned int Flags);
 CUresult cuMemHostUnregister(void* p);
 CUresult cuMemcpy(CUdeviceptr dst, CUdeviceptr src, size_t ByteCount);
 CUresult cuMemcpy2D(const CUDA_MEMCPY2D* pCopy);
 CUresult cuMemcpy2DAsync(const CUDA_MEMCPY2D* pCopy, CUstream hStream);
 CUresult cuMemcpy2DUnaligned(const CUDA_MEMCPY2D* pCopy);
 CUresult cuMemcpy3D(const CUDA_MEMCPY3D* pCopy);
 CUresult cuMemcpy3DAsync(const CUDA_MEMCPY3D* pCopy, CUstream hStream);
-CUresult cuMemcpy3DBatchAsync(size_t numOps, CUDA_MEMCPY3D_BATCH_OP* opList, size_t* failIdx, unsigned long long flags, CUstream hStream);
-CUresult cuMemcpy3DPeer(const CUDA_MEMCPY3D_PEER* pCopy);
-CUresult cuMemcpy3DPeerAsync(const CUDA_MEMCPY3D_PEER* pCopy, CUstream hStream);
 CUresult cuMemcpyAsync(CUdeviceptr dst, CUdeviceptr src, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyAtoA(CUarray dstArray, size_t dstOffset, CUarray srcArray, size_t srcOffset, size_t ByteCount);
 CUresult cuMemcpyAtoD(CUdeviceptr dstDevice, CUarray srcArray, size_t srcOffset, size_t ByteCount);
 CUresult cuMemcpyAtoH(void* dstHost, CUarray srcArray, size_t srcOffset, size_t ByteCount);
 CUresult cuMemcpyAtoHAsync(void* dstHost, CUarray srcArray, size_t srcOffset, size_t ByteCount, CUstream hStream);
-CUresult cuMemcpyBatchAsync(CUdeviceptr* dsts, CUdeviceptr* srcs, size_t* sizes, size_t count, CUmemcpyAttributes* attrs, size_t* attrsIdxs, size_t numAttrs, size_t* failIdx, CUstream hStream);
 CUresult cuMemcpyDtoA(CUarray dstArray, size_t dstOffset, CUdeviceptr srcDevice, size_t ByteCount);
 CUresult cuMemcpyDtoD(CUdeviceptr dstDevice, CUdeviceptr srcDevice, size_t ByteCount);
 CUresult cuMemcpyDtoDAsync(CUdeviceptr dstDevice, CUdeviceptr srcDevice, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyDtoH(void* dstHost, CUdeviceptr srcDevice, size_t ByteCount);
 CUresult cuMemcpyDtoHAsync(void* dstHost, CUdeviceptr srcDevice, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyHtoA(CUarray dstArray, size_t dstOffset, const void* srcHost, size_t ByteCount);
 CUresult cuMemcpyHtoAAsync(CUarray dstArray, size_t dstOffset, const void* srcHost, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyHtoD(CUdeviceptr dstDevice, const void* srcHost, size_t ByteCount);
 CUresult cuMemcpyHtoDAsync(CUdeviceptr dstDevice, const void* srcHost, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyPeer(CUdeviceptr dstDevice, CUcontext dstContext, CUdeviceptr srcDevice, CUcontext srcContext, size_t ByteCount);
 CUresult cuMemcpyPeerAsync(CUdeviceptr dstDevice, CUcontext dstContext, CUdeviceptr srcDevice, CUcontext srcContext, size_t ByteCount, CUstream hStream);
 CUresult cuMemsetD16(CUdeviceptr dstDevice, unsigned short us, size_t N);
 CUresult cuMemsetD16Async(CUdeviceptr dstDevice, unsigned short us, size_t N, CUstream hStream);
 CUresult cuMemsetD2D16(CUdeviceptr dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height);
 CUresult cuMemsetD2D16Async(CUdeviceptr dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height, CUstream hStream);
 CUresult cuMemsetD2D32(CUdeviceptr dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height);
 CUresult cuMemsetD2D32Async(CUdeviceptr dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height, CUstream hStream);
 CUresult cuMemsetD2D8(CUdeviceptr dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height);
 CUresult cuMemsetD2D8Async(CUdeviceptr dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height, CUstream hStream);
 CUresult cuMemsetD32(CUdeviceptr dstDevice, unsigned int ui, size_t N);
 CUresult cuMemsetD32Async(CUdeviceptr dstDevice, unsigned int ui, size_t N, CUstream hStream);
 CUresult cuMemsetD8(CUdeviceptr dstDevice, unsigned char uc, size_t N);
 CUresult cuMemsetD8Async(CUdeviceptr dstDevice, unsigned char uc, size_t N, CUstream hStream);
 CUresult cuMipmappedArrayCreate(CUmipmappedArray* pHandle, const CUDA_ARRAY3D_DESCRIPTOR* pMipmappedArrayDesc, unsigned int numMipmapLevels);
 CUresult cuMipmappedArrayDestroy(CUmipmappedArray hMipmappedArray);
 CUresult cuMipmappedArrayGetLevel(CUarray* pLevelArray, CUmipmappedArray hMipmappedArray, unsigned int level);
-CUresult cuMipmappedArrayGetMemoryRequirements(CUDA_ARRAY_MEMORY_REQUIREMENTS* memoryRequirements, CUmipmappedArray mipmap, CUdevice device);
-CUresult cuMipmappedArrayGetSparseProperties(CUDA_ARRAY_SPARSE_PROPERTIES* sparseProperties, CUmipmappedArray mipmap);

6.14. Virtual Memory Management#

 CUresult cuMemAddressFree(CUdeviceptr ptr, size_t size);
 CUresult cuMemAddressReserve(CUdeviceptr* ptr, size_t size, size_t alignment, CUdeviceptr addr, unsigned long long flags);
 CUresult cuMemCreate(CUmemGenericAllocationHandle* handle, size_t size, const CUmemAllocationProp* prop, unsigned long long flags);
 CUresult cuMemExportToShareableHandle(void* shareableHandle, CUmemGenericAllocationHandle handle, CUmemAllocationHandleType handleType, unsigned long long flags);
 CUresult cuMemGetAccess(unsigned long long* flags, const CUmemLocation* location, CUdeviceptr ptr);
 CUresult cuMemGetAllocationGranularity(size_t* granularity, const CUmemAllocationProp* prop, CUmemAllocationGranularity_flags option);
 CUresult cuMemGetAllocationPropertiesFromHandle(CUmemAllocationProp* prop, CUmemGenericAllocationHandle handle);
 CUresult cuMemImportFromShareableHandle(CUmemGenericAllocationHandle* handle, void* osHandle, CUmemAllocationHandleType shHandleType);
 CUresult cuMemMap(CUdeviceptr ptr, size_t size, size_t offset, CUmemGenericAllocationHandle handle, unsigned long long flags);
-CUresult cuMemMapArrayAsync(CUarrayMapInfo* mapInfoList, unsigned int count, CUstream hStream);
 CUresult cuMemRelease(CUmemGenericAllocationHandle handle);
 CUresult cuMemRetainAllocationHandle(CUmemGenericAllocationHandle* handle, void* addr);
 CUresult cuMemSetAccess(CUdeviceptr ptr, size_t size, const CUmemAccessDesc* desc, size_t count);
 CUresult cuMemUnmap(CUdeviceptr ptr, size_t size);

6.15. Stream Ordered Memory Allocator#

 CUresult cuMemAllocAsync(CUdeviceptr* dptr, size_t bytesize, CUstream hStream);
 CUresult cuMemAllocFromPoolAsync(CUdeviceptr* dptr, size_t bytesize, CUmemoryPool pool, CUstream hStream);
 CUresult cuMemFreeAsync(CUdeviceptr dptr, CUstream hStream);
 CUresult cuMemPoolCreate(CUmemoryPool* pool, const CUmemPoolProps* poolProps);
 CUresult cuMemPoolDestroy(CUmemoryPool pool);
 CUresult cuMemPoolExportPointer(CUmemPoolPtrExportData* shareData_out, CUdeviceptr ptr);
 CUresult cuMemPoolExportToShareableHandle(void* handle_out, CUmemoryPool pool, CUmemAllocationHandleType handleType, unsigned long long flags);
 CUresult cuMemPoolGetAccess(CUmemAccess_flags* flags, CUmemoryPool memPool, CUmemLocation* location);
 CUresult cuMemPoolGetAttribute(CUmemoryPool pool, CUmemPool_attribute attr, void* value);
 CUresult cuMemPoolImportFromShareableHandle(CUmemoryPool* pool_out, void* handle, CUmemAllocationHandleType handleType, unsigned long long flags);
 CUresult cuMemPoolImportPointer(CUdeviceptr* ptr_out, CUmemoryPool pool, CUmemPoolPtrExportData* shareData);
 CUresult cuMemPoolSetAccess(CUmemoryPool pool, const CUmemAccessDesc* map, size_t count);
 CUresult cuMemPoolSetAttribute(CUmemoryPool pool, CUmemPool_attribute attr, void* value);
 CUresult cuMemPoolTrimTo(CUmemoryPool pool, size_t minBytesToKeep);

6.16. Multicast Object Management#

 CUresult cuMulticastAddDevice(CUmemGenericAllocationHandle mcHandle, CUdevice dev);
 CUresult cuMulticastBindAddr(CUmemGenericAllocationHandle mcHandle, size_t mcOffset, CUdeviceptr memptr, size_t size, unsigned long long flags);
 CUresult cuMulticastBindMem(CUmemGenericAllocationHandle mcHandle, size_t mcOffset, CUmemGenericAllocationHandle memHandle, size_t memOffset, size_t size, unsigned long long flags);
 CUresult cuMulticastCreate(CUmemGenericAllocationHandle* mcHandle, const CUmulticastObjectProp* prop);
 CUresult cuMulticastGetGranularity(size_t* granularity, const CUmulticastObjectProp* prop, CUmulticastGranularity_flags option);
 CUresult cuMulticastUnbind(CUmemGenericAllocationHandle mcHandle, CUdevice dev, size_t mcOffset, size_t size);

6.17. Unified Addressing#

 CUresult cuMemAdvise(CUdeviceptr devPtr, size_t count, CUmem_advise advice, CUdevice device);
 CUresult cuMemAdvise_v2(CUdeviceptr devPtr, size_t count, CUmem_advise advice, CUmemLocation location);
 CUresult cuMemPrefetchAsync(CUdeviceptr devPtr, size_t count, CUdevice dstDevice, CUstream hStream);
 CUresult cuMemPrefetchAsync_v2(CUdeviceptr devPtr, size_t count, CUmemLocation location, unsigned int flags, CUstream hStream);
 CUresult cuMemRangeGetAttribute(void* data, size_t dataSize, CUmem_range_attribute attribute, CUdeviceptr devPtr, size_t count);
 CUresult cuMemRangeGetAttributes(void** data, size_t* dataSizes, CUmem_range_attribute* attributes, size_t numAttributes, CUdeviceptr devPtr, size_t count);
 CUresult cuPointerGetAttribute(void* data, CUpointer_attribute attribute, CUdeviceptr ptr);
 CUresult cuPointerGetAttributes(unsigned int numAttributes, CUpointer_attribute* attributes, void** data, CUdeviceptr ptr);
 CUresult cuPointerSetAttribute(const void* value, CUpointer_attribute attribute, CUdeviceptr ptr);

6.18. Stream Management#

 CUresult cuStreamAddCallback(CUstream hStream, CUstreamCallback callback, void* userData, unsigned int flags);
 CUresult cuStreamAttachMemAsync(CUstream hStream, CUdeviceptr dptr, size_t length, unsigned int flags);
 CUresult cuStreamBeginCapture(CUstream hStream, CUstreamCaptureMode mode);
 CUresult cuStreamBeginCaptureToGraph(CUstream hStream, CUgraph hGraph, const CUgraphNode* dependencies, const CUgraphEdgeData* dependencyData, size_t numDependencies, CUstreamCaptureMode mode);
 CUresult cuStreamCopyAttributes(CUstream dst, CUstream src);
 CUresult cuStreamCreate(CUstream* phStream, unsigned int Flags);
 CUresult cuStreamCreateWithPriority(CUstream* phStream, unsigned int flags, int priority);
 CUresult cuStreamDestroy(CUstream hStream);
 CUresult cuStreamEndCapture(CUstream hStream, CUgraph* phGraph);
 CUresult cuStreamGetAttribute(CUstream hStream, CUstreamAttrID attr, CUstreamAttrValue* value_out);
 CUresult cuStreamGetCaptureInfo(CUstream hStream, CUstreamCaptureStatus* captureStatus_out, cuuint64_t* id_out, CUgraph* graph_out, const CUgraphNode** dependencies_out, size_t* numDependencies_out);
 CUresult cuStreamGetCaptureInfo_v3(CUstream hStream, CUstreamCaptureStatus* captureStatus_out, cuuint64_t* id_out, CUgraph* graph_out, const CUgraphNode** dependencies_out, const CUgraphEdgeData** edgeData_out, size_t* numDependencies_out);
 CUresult cuStreamGetCtx(CUstream hStream, CUcontext* pctx);
 CUresult cuStreamGetCtx_v2(CUstream hStream, CUcontext* pCtx, CUgreenCtx* pGreenCtx);
 CUresult cuStreamGetDevice(CUstream hStream, CUdevice* device);
 CUresult cuStreamGetFlags(CUstream hStream, unsigned int* flags);
 CUresult cuStreamGetId(CUstream hStream, unsigned long long* streamId);
 CUresult cuStreamGetPriority(CUstream hStream, int* priority);
 CUresult cuStreamIsCapturing(CUstream hStream, CUstreamCaptureStatus* captureStatus);
 CUresult cuStreamQuery(CUstream hStream);
 CUresult cuStreamSetAttribute(CUstream hStream, CUstreamAttrID attr, const CUstreamAttrValue* value);
 CUresult cuStreamSynchronize(CUstream hStream);
 CUresult cuStreamUpdateCaptureDependencies(CUstream hStream, CUgraphNode* dependencies, size_t numDependencies, unsigned int flags);
 CUresult cuStreamUpdateCaptureDependencies_v2(CUstream hStream, CUgraphNode* dependencies, const CUgraphEdgeData* dependencyData, size_t numDependencies, unsigned int flags);
 CUresult cuStreamWaitEvent(CUstream hStream, CUevent hEvent, unsigned int Flags);
 CUresult cuThreadExchangeStreamCaptureMode(CUstreamCaptureMode* mode);

6.19. Event Management#

 CUresult cuEventCreate(CUevent* phEvent, unsigned int Flags);
 CUresult cuEventDestroy(CUevent hEvent);
 CUresult cuEventElapsedTime(float* pMilliseconds, CUevent hStart, CUevent hEnd);
 CUresult cuEventElapsedTime_v2(float* pMilliseconds, CUevent hStart, CUevent hEnd);
 CUresult cuEventQuery(CUevent hEvent);
 CUresult cuEventRecord(CUevent hEvent, CUstream hStream);
 CUresult cuEventRecordWithFlags(CUevent hEvent, CUstream hStream, unsigned int flags);
 CUresult cuEventSynchronize(CUevent hEvent);

6.20. External Resource Interoperability#

-CUresult cuDestroyExternalMemory(CUexternalMemory extMem);
-CUresult cuDestroyExternalSemaphore(CUexternalSemaphore extSem);
-CUresult cuExternalMemoryGetMappedBuffer(CUdeviceptr* devPtr, CUexternalMemory extMem, const CUDA_EXTERNAL_MEMORY_BUFFER_DESC* bufferDesc);
-CUresult cuExternalMemoryGetMappedMipmappedArray(CUmipmappedArray* mipmap, CUexternalMemory extMem, const CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC* mipmapDesc);
-CUresult cuImportExternalMemory(CUexternalMemory* extMem_out, const CUDA_EXTERNAL_MEMORY_HANDLE_DESC* memHandleDesc);
-CUresult cuImportExternalSemaphore(CUexternalSemaphore* extSem_out, const CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC* semHandleDesc);
-CUresult cuSignalExternalSemaphoresAsync(const CUexternalSemaphore* extSemArray, const CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS* paramsArray, unsigned int numExtSems, CUstream stream);
-CUresult cuWaitExternalSemaphoresAsync(const CUexternalSemaphore* extSemArray, const CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS* paramsArray, unsigned int numExtSems, CUstream stream);

6.21. Stream Memory Operations#

-CUresult cuStreamBatchMemOp(CUstream stream, unsigned int count, CUstreamBatchMemOpParams* paramArray, unsigned int flags);
-CUresult cuStreamWaitValue32(CUstream stream, CUdeviceptr addr, cuuint32_t value, unsigned int flags);
-CUresult cuStreamWaitValue64(CUstream stream, CUdeviceptr addr, cuuint64_t value, unsigned int flags);
 CUresult cuStreamWriteValue32(CUstream stream, CUdeviceptr addr, cuuint32_t value, unsigned int flags);
-CUresult cuStreamWriteValue64(CUstream stream, CUdeviceptr addr, cuuint64_t value, unsigned int flags);

6.22. Execution Control#

 CUresult cuFuncGetAttribute(int* pi, CUfunction_attribute attrib, CUfunction hfunc);
 CUresult cuFuncGetModule(CUmodule* hmod, CUfunction hfunc);
 CUresult cuFuncGetName(const char** name, CUfunction hfunc);
 CUresult cuFuncGetParamInfo(CUfunction func, size_t paramIndex, size_t* paramOffset, size_t* paramSize);
 CUresult cuFuncIsLoaded(CUfunctionLoadingState* state, CUfunction function);
 CUresult cuFuncLoad(CUfunction function);
 CUresult cuFuncSetAttribute(CUfunction hfunc, CUfunction_attribute attrib, int value);
 CUresult cuFuncSetCacheConfig(CUfunction hfunc, CUfunc_cache config);
 CUresult 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);
-CUresult cuLaunchCooperativeKernelMultiDevice(CUDA_LAUNCH_PARAMS* launchParamsList, unsigned int numDevices, unsigned int flags);
 CUresult cuLaunchHostFunc(CUstream hStream, CUhostFn fn, void* userData);
 CUresult 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);
 CUresult cuLaunchKernelEx(const CUlaunchConfig* config, CUfunction f, void** kernelParams, void** extra);

6.23. Execution Control [DEPRECATED]#

 CUresult cuFuncSetBlockShape(CUfunction hfunc, int x, int y, int z);
 CUresult cuFuncSetSharedMemConfig(CUfunction hfunc, CUsharedconfig config);
 CUresult cuFuncSetSharedSize(CUfunction hfunc, unsigned int bytes);
 CUresult cuLaunch(CUfunction f);
 CUresult cuLaunchGrid(CUfunction f, int grid_width, int grid_height);
 CUresult cuLaunchGridAsync(CUfunction f, int grid_width, int grid_height, CUstream hStream);
 CUresult cuParamSetSize(CUfunction hfunc, unsigned int numbytes);
-CUresult cuParamSetTexRef(CUfunction hfunc, int texunit, CUtexref hTexRef);
 CUresult cuParamSetf(CUfunction hfunc, int offset, float value);
 CUresult cuParamSeti(CUfunction hfunc, int offset, unsigned int value);
 CUresult cuParamSetv(CUfunction hfunc, int offset, void* ptr, unsigned int numbytes);

6.24. Graph Management#

-CUresult cuDeviceGetGraphMemAttribute(CUdevice device, CUgraphMem_attribute attr, void* value);
-CUresult cuDeviceGraphMemTrim(CUdevice device);
-CUresult cuDeviceSetGraphMemAttribute(CUdevice device, CUgraphMem_attribute attr, void* value);
-CUresult cuGraphAddBatchMemOpNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, const CUDA_BATCH_MEM_OP_NODE_PARAMS* nodeParams);
 CUresult cuGraphAddChildGraphNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, CUgraph childGraph);
 CUresult cuGraphAddDependencies(CUgraph hGraph, const CUgraphNode* from, const CUgraphNode* to, size_t numDependencies);
 CUresult cuGraphAddDependencies_v2(CUgraph hGraph, const CUgraphNode* from, const CUgraphNode* to, const CUgraphEdgeData* edgeData, size_t numDependencies);
 CUresult cuGraphAddEmptyNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies);
 CUresult cuGraphAddEventRecordNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, CUevent event);
 CUresult cuGraphAddEventWaitNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, CUevent event);
-CUresult cuGraphAddExternalSemaphoresSignalNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, const CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* nodeParams);
-CUresult cuGraphAddExternalSemaphoresWaitNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, const CUDA_EXT_SEM_WAIT_NODE_PARAMS* nodeParams);
 CUresult cuGraphAddHostNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, const CUDA_HOST_NODE_PARAMS* nodeParams);
-CUresult cuGraphAddKernelNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, const CUDA_KERNEL_NODE_PARAMS* nodeParams);
 CUresult cuGraphAddMemAllocNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, CUDA_MEM_ALLOC_NODE_PARAMS* nodeParams);
 CUresult cuGraphAddMemFreeNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, CUdeviceptr dptr);
-CUresult cuGraphAddMemcpyNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, const CUDA_MEMCPY3D* copyParams, CUcontext ctx);
 CUresult cuGraphAddMemsetNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, const CUDA_MEMSET_NODE_PARAMS* memsetParams, CUcontext ctx);
-CUresult cuGraphAddNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, CUgraphNodeParams* nodeParams);
-CUresult cuGraphAddNode_v2(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, const CUgraphEdgeData* dependencyData, size_t numDependencies, CUgraphNodeParams* nodeParams);
-CUresult cuGraphBatchMemOpNodeGetParams(CUgraphNode hNode, CUDA_BATCH_MEM_OP_NODE_PARAMS* nodeParams_out);
-CUresult cuGraphBatchMemOpNodeSetParams(CUgraphNode hNode, const CUDA_BATCH_MEM_OP_NODE_PARAMS* nodeParams);
 CUresult cuGraphChildGraphNodeGetGraph(CUgraphNode hNode, CUgraph* phGraph);
 CUresult cuGraphClone(CUgraph* phGraphClone, CUgraph originalGraph);
-CUresult cuGraphConditionalHandleCreate(CUgraphConditionalHandle* pHandle_out, CUgraph hGraph, CUcontext ctx, unsigned int defaultLaunchValue, unsigned int flags);
 CUresult cuGraphCreate(CUgraph* phGraph, unsigned int flags);
 CUresult cuGraphDebugDotPrint(CUgraph hGraph, const char* path, unsigned int flags);
 CUresult cuGraphDestroy(CUgraph hGraph);
 CUresult cuGraphDestroyNode(CUgraphNode hNode);
 CUresult cuGraphEventRecordNodeGetEvent(CUgraphNode hNode, CUevent* event_out);
 CUresult cuGraphEventRecordNodeSetEvent(CUgraphNode hNode, CUevent event);
 CUresult cuGraphEventWaitNodeGetEvent(CUgraphNode hNode, CUevent* event_out);
 CUresult cuGraphEventWaitNodeSetEvent(CUgraphNode hNode, CUevent event);
-CUresult cuGraphExecBatchMemOpNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, const CUDA_BATCH_MEM_OP_NODE_PARAMS* nodeParams);
 CUresult cuGraphExecChildGraphNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, CUgraph childGraph);
 CUresult cuGraphExecDestroy(CUgraphExec hGraphExec);
 CUresult cuGraphExecEventRecordNodeSetEvent(CUgraphExec hGraphExec, CUgraphNode hNode, CUevent event);
 CUresult cuGraphExecEventWaitNodeSetEvent(CUgraphExec hGraphExec, CUgraphNode hNode, CUevent event);
-CUresult cuGraphExecExternalSemaphoresSignalNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, const CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* nodeParams);
-CUresult cuGraphExecExternalSemaphoresWaitNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, const CUDA_EXT_SEM_WAIT_NODE_PARAMS* nodeParams);
 CUresult cuGraphExecGetFlags(CUgraphExec hGraphExec, cuuint64_t* flags);
 CUresult cuGraphExecHostNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, const CUDA_HOST_NODE_PARAMS* nodeParams);
-CUresult cuGraphExecKernelNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, const CUDA_KERNEL_NODE_PARAMS* nodeParams);
-CUresult cuGraphExecMemcpyNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, const CUDA_MEMCPY3D* copyParams, CUcontext ctx);
-CUresult cuGraphExecMemsetNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, const CUDA_MEMSET_NODE_PARAMS* memsetParams, CUcontext ctx);
-CUresult cuGraphExecNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, CUgraphNodeParams* nodeParams);
 CUresult cuGraphExecUpdate(CUgraphExec hGraphExec, CUgraph hGraph, CUgraphExecUpdateResultInfo* resultInfo);
-CUresult cuGraphExternalSemaphoresSignalNodeGetParams(CUgraphNode hNode, CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* params_out);
-CUresult cuGraphExternalSemaphoresSignalNodeSetParams(CUgraphNode hNode, const CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* nodeParams);
-CUresult cuGraphExternalSemaphoresWaitNodeGetParams(CUgraphNode hNode, CUDA_EXT_SEM_WAIT_NODE_PARAMS* params_out);
-CUresult cuGraphExternalSemaphoresWaitNodeSetParams(CUgraphNode hNode, const CUDA_EXT_SEM_WAIT_NODE_PARAMS* nodeParams);
 CUresult cuGraphGetEdges(CUgraph hGraph, CUgraphNode* from, CUgraphNode* to, size_t* numEdges);
 CUresult cuGraphGetEdges_v2(CUgraph hGraph, CUgraphNode* from, CUgraphNode* to, CUgraphEdgeData* edgeData, size_t* numEdges);
 CUresult cuGraphGetNodes(CUgraph hGraph, CUgraphNode* nodes, size_t* numNodes);
 CUresult cuGraphGetRootNodes(CUgraph hGraph, CUgraphNode* rootNodes, size_t* numRootNodes);
 CUresult cuGraphHostNodeGetParams(CUgraphNode hNode, CUDA_HOST_NODE_PARAMS* nodeParams);
 CUresult cuGraphHostNodeSetParams(CUgraphNode hNode, const CUDA_HOST_NODE_PARAMS* nodeParams);
 CUresult cuGraphInstantiate(CUgraphExec* phGraphExec, CUgraph hGraph, unsigned long long flags);
 CUresult cuGraphInstantiateWithParams(CUgraphExec* phGraphExec, CUgraph hGraph, CUDA_GRAPH_INSTANTIATE_PARAMS* instantiateParams);
 CUresult cuGraphKernelNodeCopyAttributes(CUgraphNode dst, CUgraphNode src);
 CUresult cuGraphKernelNodeGetAttribute(CUgraphNode hNode, CUkernelNodeAttrID attr, CUkernelNodeAttrValue* value_out);
-CUresult cuGraphKernelNodeGetParams(CUgraphNode hNode, CUDA_KERNEL_NODE_PARAMS* nodeParams);
 CUresult cuGraphKernelNodeSetAttribute(CUgraphNode hNode, CUkernelNodeAttrID attr, const CUkernelNodeAttrValue* value);
-CUresult cuGraphKernelNodeSetParams(CUgraphNode hNode, const CUDA_KERNEL_NODE_PARAMS* nodeParams);
 CUresult cuGraphLaunch(CUgraphExec hGraphExec, CUstream hStream);
 CUresult cuGraphMemAllocNodeGetParams(CUgraphNode hNode, CUDA_MEM_ALLOC_NODE_PARAMS* params_out);
 CUresult cuGraphMemFreeNodeGetParams(CUgraphNode hNode, CUdeviceptr* dptr_out);
-CUresult cuGraphMemcpyNodeGetParams(CUgraphNode hNode, CUDA_MEMCPY3D* nodeParams);
-CUresult cuGraphMemcpyNodeSetParams(CUgraphNode hNode, const CUDA_MEMCPY3D* nodeParams);
 CUresult cuGraphMemsetNodeGetParams(CUgraphNode hNode, CUDA_MEMSET_NODE_PARAMS* nodeParams);
 CUresult cuGraphMemsetNodeSetParams(CUgraphNode hNode, const CUDA_MEMSET_NODE_PARAMS* nodeParams);
 CUresult cuGraphNodeFindInClone(CUgraphNode* phNode, CUgraphNode hOriginalNode, CUgraph hClonedGraph);
 CUresult cuGraphNodeGetDependencies(CUgraphNode hNode, CUgraphNode* dependencies, size_t* numDependencies);
 CUresult cuGraphNodeGetDependencies_v2(CUgraphNode hNode, CUgraphNode* dependencies, CUgraphEdgeData* edgeData, size_t* numDependencies);
 CUresult cuGraphNodeGetDependentNodes(CUgraphNode hNode, CUgraphNode* dependentNodes, size_t* numDependentNodes);
 CUresult cuGraphNodeGetDependentNodes_v2(CUgraphNode hNode, CUgraphNode* dependentNodes, CUgraphEdgeData* edgeData, size_t* numDependentNodes);
 CUresult cuGraphNodeGetEnabled(CUgraphExec hGraphExec, CUgraphNode hNode, unsigned int* isEnabled);
 CUresult cuGraphNodeGetType(CUgraphNode hNode, CUgraphNodeType* type);
 CUresult cuGraphNodeSetEnabled(CUgraphExec hGraphExec, CUgraphNode hNode, unsigned int isEnabled);
-CUresult cuGraphNodeSetParams(CUgraphNode hNode, CUgraphNodeParams* nodeParams);
 CUresult cuGraphReleaseUserObject(CUgraph graph, CUuserObject object, unsigned int count);
 CUresult cuGraphRemoveDependencies(CUgraph hGraph, const CUgraphNode* from, const CUgraphNode* to, size_t numDependencies);
 CUresult cuGraphRemoveDependencies_v2(CUgraph hGraph, const CUgraphNode* from, const CUgraphNode* to, const CUgraphEdgeData* edgeData, size_t numDependencies);
 CUresult cuGraphRetainUserObject(CUgraph graph, CUuserObject object, unsigned int count, unsigned int flags);
 CUresult cuGraphUpload(CUgraphExec hGraphExec, CUstream hStream);
 CUresult cuUserObjectCreate(CUuserObject* object_out, void* ptr, CUhostFn destroy, unsigned int initialRefcount, unsigned int flags);
 CUresult cuUserObjectRelease(CUuserObject object, unsigned int count);
 CUresult cuUserObjectRetain(CUuserObject object, unsigned int count);

6.25. Occupancy#

 CUresult cuOccupancyAvailableDynamicSMemPerBlock(size_t* dynamicSmemSize, CUfunction func, int numBlocks, int blockSize);
 CUresult cuOccupancyMaxActiveBlocksPerMultiprocessor(int* numBlocks, CUfunction func, int blockSize, size_t dynamicSMemSize);
 CUresult cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int* numBlocks, CUfunction func, int blockSize, size_t dynamicSMemSize, unsigned int flags);
-CUresult cuOccupancyMaxActiveClusters(int* numClusters, CUfunction func, const CUlaunchConfig* config);
 CUresult cuOccupancyMaxPotentialBlockSize(int* minGridSize, int* blockSize, CUfunction func, CUoccupancyB2DSize blockSizeToDynamicSMemSize, size_t dynamicSMemSize, int blockSizeLimit);
 CUresult cuOccupancyMaxPotentialBlockSizeWithFlags(int* minGridSize, int* blockSize, CUfunction func, CUoccupancyB2DSize blockSizeToDynamicSMemSize, size_t dynamicSMemSize, int blockSizeLimit, unsigned int flags);
-CUresult cuOccupancyMaxPotentialClusterSize(int* clusterSize, CUfunction func, const CUlaunchConfig* config);

6.26. Texture Reference Management [DEPRECATED]#

 CUresult cuTexRefCreate(CUtexref* pTexRef);
 CUresult cuTexRefDestroy(CUtexref hTexRef);
 CUresult cuTexRefGetAddress(CUdeviceptr* pdptr, CUtexref hTexRef);
 CUresult cuTexRefGetAddressMode(CUaddress_mode* pam, CUtexref hTexRef, int dim);
 CUresult cuTexRefGetArray(CUarray* phArray, CUtexref hTexRef);
-CUresult cuTexRefGetBorderColor(float* pBorderColor, CUtexref hTexRef);
 CUresult cuTexRefGetFilterMode(CUfilter_mode* pfm, CUtexref hTexRef);
-CUresult cuTexRefGetFlags(unsigned int* pFlags, CUtexref hTexRef);
-CUresult cuTexRefGetFormat(CUarray_format* pFormat, int* pNumChannels, CUtexref hTexRef);
-CUresult cuTexRefGetMaxAnisotropy(int* pmaxAniso, CUtexref hTexRef);
-CUresult cuTexRefGetMipmapFilterMode(CUfilter_mode* pfm, CUtexref hTexRef);
-CUresult cuTexRefGetMipmapLevelBias(float* pbias, CUtexref hTexRef);
-CUresult cuTexRefGetMipmapLevelClamp(float* pminMipmapLevelClamp, float* pmaxMipmapLevelClamp, CUtexref hTexRef);
-CUresult cuTexRefGetMipmappedArray(CUmipmappedArray* phMipmappedArray, CUtexref hTexRef);
-CUresult cuTexRefSetAddress(size_t* ByteOffset, CUtexref hTexRef, CUdeviceptr dptr, size_t bytes);
-CUresult cuTexRefSetAddress2D(CUtexref hTexRef, const CUDA_ARRAY_DESCRIPTOR* desc, CUdeviceptr dptr, size_t Pitch);
-CUresult cuTexRefSetAddressMode(CUtexref hTexRef, int dim, CUaddress_mode am);
-CUresult cuTexRefSetArray(CUtexref hTexRef, CUarray hArray, unsigned int Flags);
-CUresult cuTexRefSetBorderColor(CUtexref hTexRef, float* pBorderColor);
-CUresult cuTexRefSetFilterMode(CUtexref hTexRef, CUfilter_mode fm);
-CUresult cuTexRefSetFlags(CUtexref hTexRef, unsigned int Flags);
-CUresult cuTexRefSetFormat(CUtexref hTexRef, CUarray_format fmt, int NumPackedComponents);
-CUresult cuTexRefSetMaxAnisotropy(CUtexref hTexRef, unsigned int maxAniso);
-CUresult cuTexRefSetMipmapFilterMode(CUtexref hTexRef, CUfilter_mode fm);
-CUresult cuTexRefSetMipmapLevelBias(CUtexref hTexRef, float bias);
-CUresult cuTexRefSetMipmapLevelClamp(CUtexref hTexRef, float minMipmapLevelClamp, float maxMipmapLevelClamp);
-CUresult cuTexRefSetMipmappedArray(CUtexref hTexRef, CUmipmappedArray hMipmappedArray, unsigned int Flags);

6.27. Surface Reference Management [DEPRECATED]#

-CUresult cuSurfRefGetArray(CUarray* phArray, CUsurfref hSurfRef);
-CUresult cuSurfRefSetArray(CUsurfref hSurfRef, CUarray hArray, unsigned int Flags);

6.28. Texture Object Management#

 CUresult cuTexObjectCreate(CUtexObject* pTexObject, const CUDA_RESOURCE_DESC* pResDesc, const CUDA_TEXTURE_DESC* pTexDesc, const CUDA_RESOURCE_VIEW_DESC* pResViewDesc);
 CUresult cuTexObjectDestroy(CUtexObject texObject);
 CUresult cuTexObjectGetResourceDesc(CUDA_RESOURCE_DESC* pResDesc, CUtexObject texObject);
 CUresult cuTexObjectGetResourceViewDesc(CUDA_RESOURCE_VIEW_DESC* pResViewDesc, CUtexObject texObject);
 CUresult cuTexObjectGetTextureDesc(CUDA_TEXTURE_DESC* pTexDesc, CUtexObject texObject);

6.29. Surface Object Management#

 CUresult cuSurfObjectCreate(CUsurfObject* pSurfObject, const CUDA_RESOURCE_DESC* pResDesc);
 CUresult cuSurfObjectDestroy(CUsurfObject surfObject);
 CUresult cuSurfObjectGetResourceDesc(CUDA_RESOURCE_DESC* pResDesc, CUsurfObject surfObject);

6.30. Tensor Map Object Managment#

 CUresult cuTensorMapEncodeIm2col(CUtensorMap* tensorMap, CUtensorMapDataType tensorDataType, cuuint32_t tensorRank, void* globalAddress, const cuuint64_t* globalDim, const cuuint64_t* globalStrides, const int* pixelBoxLowerCorner, const int* pixelBoxUpperCorner, cuuint32_t channelsPerPixel, cuuint32_t pixelsPerColumn, const cuuint32_t* elementStrides, CUtensorMapInterleave interleave, CUtensorMapSwizzle swizzle, CUtensorMapL2promotion l2Promotion, CUtensorMapFloatOOBfill oobFill);
 CUresult cuTensorMapEncodeIm2colWide(CUtensorMap* tensorMap, CUtensorMapDataType tensorDataType, cuuint32_t tensorRank, void* globalAddress, const cuuint64_t* globalDim, const cuuint64_t* globalStrides, int pixelBoxLowerCornerWidth, int pixelBoxUpperCornerWidth, cuuint32_t channelsPerPixel, cuuint32_t pixelsPerColumn, const cuuint32_t* elementStrides, CUtensorMapInterleave interleave, CUtensorMapIm2ColWideMode mode, CUtensorMapSwizzle swizzle, CUtensorMapL2promotion l2Promotion, CUtensorMapFloatOOBfill oobFill);
 CUresult cuTensorMapEncodeTiled(CUtensorMap* tensorMap, CUtensorMapDataType tensorDataType, cuuint32_t tensorRank, void* globalAddress, const cuuint64_t* globalDim, const cuuint64_t* globalStrides, const cuuint32_t* boxDim, const cuuint32_t* elementStrides, CUtensorMapInterleave interleave, CUtensorMapSwizzle swizzle, CUtensorMapL2promotion l2Promotion, CUtensorMapFloatOOBfill oobFill);
 CUresult cuTensorMapReplaceAddress(CUtensorMap* tensorMap, void* globalAddress);

6.31. Peer Context Memory Access#

 CUresult cuCtxDisablePeerAccess(CUcontext peerContext);
 CUresult cuCtxEnablePeerAccess(CUcontext peerContext, unsigned int Flags);
 CUresult cuDeviceCanAccessPeer(int* canAccessPeer, CUdevice dev, CUdevice peerDev);
 CUresult cuDeviceGetP2PAttribute(int* value, CUdevice_P2PAttribute attrib, CUdevice srcDevice, CUdevice dstDevice);

6.32. Graphics Interoperability#

 CUresult cuGraphicsMapResources(unsigned int count, CUgraphicsResource* resources, CUstream hStream);
-CUresult cuGraphicsResourceGetMappedMipmappedArray(CUmipmappedArray* pMipmappedArray, CUgraphicsResource resource);
 CUresult cuGraphicsResourceGetMappedPointer(CUdeviceptr* pDevPtr, size_t* pSize, CUgraphicsResource resource);
 CUresult cuGraphicsResourceSetMapFlags(CUgraphicsResource resource, unsigned int flags);
 CUresult cuGraphicsSubResourceGetMappedArray(CUarray* pArray, CUgraphicsResource resource, unsigned int arrayIndex, unsigned int mipLevel);
 CUresult cuGraphicsUnmapResources(unsigned int count, CUgraphicsResource* resources, CUstream hStream);
 CUresult cuGraphicsUnregisterResource(CUgraphicsResource resource);

6.33. Driver Entry Point Access#

 CUresult cuGetProcAddress(const char* symbol, void** pfn, int cudaVersion, cuuint64_t flags, CUdriverProcAddressQueryResult* symbolStatus);

6.34. Coredump Attributes Control API#

-enum CUCoredumpGenerationFlags
-enum CUcoredumpSettings
-CUresult cuCoredumpGetAttribute(CUcoredumpSettings attrib, void* value, size_t* size);
-CUresult cuCoredumpGetAttributeGlobal(CUcoredumpSettings attrib, void* value, size_t* size);
-CUresult cuCoredumpSetAttribute(CUcoredumpSettings attrib, void* value, size_t* size);
-CUresult cuCoredumpSetAttributeGlobal(CUcoredumpSettings attrib, void* value, size_t* size);

6.35. Green Contexts#

 enum CUdevResourceType
     CU_DEV_RESOURCE_TYPE_INVALID = 0
     CU_DEV_RESOURCE_TYPE_SM = 1
struct CUdevResource
 struct CUdevSmResource
     smCount
 typedef CUdevResourceDesc_st * CUdevResourceDesc;
 CUresult cuCtxFromGreenCtx(CUcontext* pContext, CUgreenCtx hCtx);
 CUresult cuCtxGetDevResource(CUcontext hCtx, CUdevResource* resource, CUdevResourceType type);
 CUresult cuDevResourceGenerateDesc(CUdevResourceDesc* phDesc, CUdevResource* resources, unsigned int nbResources);
 CUresult cuDevSmResourceSplitByCount(CUdevResource* result, unsigned int* nbGroups, const CUdevResource* input, CUdevResource* remaining, unsigned int useFlags, unsigned int minCount);
 CUresult cuDeviceGetDevResource(CUdevice device, CUdevResource* resource, CUdevResourceType type);
 CUresult cuGreenCtxCreate(CUgreenCtx* phCtx, CUdevResourceDesc desc, CUdevice dev, unsigned int flags);
 CUresult cuGreenCtxDestroy(CUgreenCtx hCtx);
 CUresult cuGreenCtxGetDevResource(CUgreenCtx hCtx, CUdevResource* resource, CUdevResourceType type);
 CUresult cuGreenCtxRecordEvent(CUgreenCtx hCtx, CUevent hEvent);
 CUresult cuGreenCtxStreamCreate(CUstream* phStream, CUgreenCtx greenCtx, unsigned int flags, int priority);
 CUresult cuGreenCtxWaitEvent(CUgreenCtx hCtx, CUevent hEvent);
 CUresult cuStreamGetGreenCtx(CUstream hStream, CUgreenCtx* phCtx);

6.36. Error Log Management Functions#

 CUresult cuLogsCurrent(CUlogIterator* iterator_out, unsigned int flags);
 CUresult cuLogsDumpToFile(CUlogIterator* iterator, const char* pathToFile, unsigned int flags);
 CUresult cuLogsDumpToMemory(CUlogIterator* iterator, char* buffer, size_t* size, unsigned int flags);
 CUresult cuLogsRegisterCallback(CUlogsCallback callbackFunc, void* userData, CUlogsCallbackHandle* callback_out);
 CUresult cuLogsUnregisterCallback(CUlogsCallbackHandle callback);

6.37. CUDA Checkpointing#

-CUresult cuCheckpointProcessCheckpoint(int pid, CUcheckpointCheckpointArgs* args);
-CUresult cuCheckpointProcessGetRestoreThreadId(int pid, int* tid);
-CUresult cuCheckpointProcessGetState(int pid, CUprocessState* state);
-CUresult cuCheckpointProcessLock(int pid, CUcheckpointLockArgs* args);
-CUresult cuCheckpointProcessRestore(int pid, CUcheckpointRestoreArgs* args);
-CUresult cuCheckpointProcessUnlock(int pid, CUcheckpointUnlockArgs* args);

6.38. Profiler Control [DEPRECATED]#

 CUresult cuProfilerInitialize(const char* configFile, const char* outputFile, CUoutput_mode outputMode);

6.39. Profiler Control#

 CUresult cuProfilerStart(void);
 CUresult cuProfilerStop(void);

6.40. OpenGL Interoperability#

 enum CUGLDeviceList
     CU_GL_DEVICE_LIST_ALL = 1
     CU_GL_DEVICE_LIST_CURRENT_FRAME = 2
     CU_GL_DEVICE_LIST_NEXT_FRAME = 3
 CUresult cuGLGetDevices(unsigned int* pCudaDeviceCount, CUdevice* pCudaDevices, unsigned int cudaDeviceCount, CUGLDeviceList deviceList);
 CUresult cuGraphicsGLRegisterBuffer(CUgraphicsResource* pCudaResource, GLuint buffer, unsigned int Flags);
 CUresult cuGraphicsGLRegisterImage(CUgraphicsResource* pCudaResource, GLuint image, GLenum target, unsigned int Flags);
-CUresult cuWGLGetDevice(CUdevice* pDevice, HGPUNV hGpu);

6.40.1. OpenGL Interoperability [DEPRECATED]#

 enum CUGLmap_flags
     CU_GL_MAP_RESOURCE_FLAGS_NONE = 0
     CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY = 1
     CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 2
 CUresult cuGLCtxCreate(CUcontext* pCtx, unsigned int Flags, CUdevice device);
 CUresult cuGLInit(void);
 CUresult cuGLMapBufferObject(CUdeviceptr* dptr, size_t* size, GLuint buffer);
 CUresult cuGLMapBufferObjectAsync(CUdeviceptr* dptr, size_t* size, GLuint buffer, CUstream hStream);
 CUresult cuGLRegisterBufferObject(GLuint buffer);
 CUresult cuGLSetBufferObjectMapFlags(GLuint buffer, unsigned int Flags);
 CUresult cuGLUnmapBufferObject(GLuint buffer);
 CUresult cuGLUnmapBufferObjectAsync(GLuint buffer, CUstream hStream);
 CUresult cuGLUnregisterBufferObject(GLuint buffer);

6.41. Direct3D 9 Interoperability#

-Windows APIs are currently unsupported

6.41.1. Direct3D 9 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

6.42. Direct3D 10 Interoperability#

-Windows APIs are currently unsupported

6.42.1. Direct3D 10 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

6.43. Direct3D 11 Interoperability#

-Windows APIs are currently unsupported

6.43.1. Direct3D 11 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

6.44. VDPAU Interoperability#

-VDPAU is currently unsupported

6.45. EGL Interoperability#

-EGL is currently unsupported

71% (571 of 803 declarations available)

6.1. Data types used by CUDA driver#

 #define CUDA_ARRAY3D_2DARRAY
 #define CUDA_ARRAY3D_COLOR_ATTACHMENT
 #define CUDA_ARRAY3D_CUBEMAP
 #define CUDA_ARRAY3D_DEFERRED_MAPPING
 #define CUDA_ARRAY3D_DEPTH_TEXTURE
 #define CUDA_ARRAY3D_LAYERED
 #define CUDA_ARRAY3D_SPARSE
 #define CUDA_ARRAY3D_SURFACE_LDST
 #define CUDA_ARRAY3D_TEXTURE_GATHER
 #define CUDA_ARRAY3D_VIDEO_ENCODE_DECODE
-#define CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC
-#define CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC
-#define CUDA_EGL_INFINITE_TIMEOUT
-#define CUDA_EXTERNAL_MEMORY_DEDICATED
-#define CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC
-#define CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC
-#define CUDA_NVSCISYNC_ATTR_SIGNAL
-#define CUDA_NVSCISYNC_ATTR_WAIT
 #define CUDA_VERSION
 #define CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL
 #define CU_DEVICE_CPU
 #define CU_DEVICE_INVALID
-#define CU_GRAPH_COND_ASSIGN_DEFAULT
 #define CU_GRAPH_KERNEL_NODE_PORT_DEFAULT
 #define CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER
 #define CU_GRAPH_KERNEL_NODE_PORT_PROGRAMMATIC
 #define CU_IPC_HANDLE_SIZE
-#define CU_LAUNCH_KERNEL_REQUIRED_BLOCK_DIM
 #define CU_LAUNCH_PARAM_BUFFER_POINTER
 #define CU_LAUNCH_PARAM_BUFFER_POINTER_AS_INT
 #define CU_LAUNCH_PARAM_BUFFER_SIZE
 #define CU_LAUNCH_PARAM_BUFFER_SIZE_AS_INT
 #define CU_LAUNCH_PARAM_END
 #define CU_LAUNCH_PARAM_END_AS_INT
 #define CU_MEMHOSTALLOC_DEVICEMAP
 #define CU_MEMHOSTALLOC_PORTABLE
 #define CU_MEMHOSTALLOC_WRITECOMBINED
 #define CU_MEMHOSTREGISTER_DEVICEMAP
 #define CU_MEMHOSTREGISTER_IOMEMORY
 #define CU_MEMHOSTREGISTER_PORTABLE
 #define CU_MEMHOSTREGISTER_READ_ONLY
-#define CU_MEM_CREATE_USAGE_HW_DECOMPRESS
-#define CU_MEM_CREATE_USAGE_TILE_POOL
-#define CU_MEM_POOL_CREATE_USAGE_HW_DECOMPRESS
-#define CU_PARAM_TR_DEFAULT
 #define CU_STREAM_LEGACY
 #define CU_STREAM_PER_THREAD
-#define CU_TENSOR_MAP_NUM_QWORDS
-#define CU_TRSA_OVERRIDE_FORMAT
 #define CU_TRSF_DISABLE_TRILINEAR_OPTIMIZATION
 #define CU_TRSF_NORMALIZED_COORDINATES
 #define CU_TRSF_READ_AS_INTEGER
 #define CU_TRSF_SEAMLESS_CUBEMAP
 #define CU_TRSF_SRGB
-#define MAX_PLANES
-enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS
 enum CUGPUDirectRDMAWritesOrdering
     CU_GPU_DIRECT_RDMA_WRITES_ORDERING_NONE = 0
     CU_GPU_DIRECT_RDMA_WRITES_ORDERING_OWNER = 100
     CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES = 200
-enum CUaccessProperty
 enum CUaddress_mode
     CU_TR_ADDRESS_MODE_WRAP = 0
     CU_TR_ADDRESS_MODE_CLAMP = 1
     CU_TR_ADDRESS_MODE_MIRROR = 2
     CU_TR_ADDRESS_MODE_BORDER = 3
-enum CUarraySparseSubresourceType
 enum CUarray_cubemap_face
     CU_CUBEMAP_FACE_POSITIVE_X = 0
     CU_CUBEMAP_FACE_NEGATIVE_X = 1
     CU_CUBEMAP_FACE_POSITIVE_Y = 2
     CU_CUBEMAP_FACE_NEGATIVE_Y = 3
     CU_CUBEMAP_FACE_POSITIVE_Z = 4
     CU_CUBEMAP_FACE_NEGATIVE_Z = 5
 enum CUarray_format
     CU_AD_FORMAT_UNSIGNED_INT8 = 1
     CU_AD_FORMAT_UNSIGNED_INT16 = 2
     CU_AD_FORMAT_UNSIGNED_INT32 = 3
     CU_AD_FORMAT_SIGNED_INT8 = 8
     CU_AD_FORMAT_SIGNED_INT16 = 9
     CU_AD_FORMAT_SIGNED_INT32 = 10
     CU_AD_FORMAT_HALF = 16
     CU_AD_FORMAT_FLOAT = 32
     CU_AD_FORMAT_NV12 = 176
     CU_AD_FORMAT_UNORM_INT8X1 = 192
     CU_AD_FORMAT_UNORM_INT8X2 = 193
     CU_AD_FORMAT_UNORM_INT8X4 = 194
     CU_AD_FORMAT_UNORM_INT16X1 = 195
     CU_AD_FORMAT_UNORM_INT16X2 = 196
     CU_AD_FORMAT_UNORM_INT16X4 = 197
     CU_AD_FORMAT_SNORM_INT8X1 = 198
     CU_AD_FORMAT_SNORM_INT8X2 = 199
     CU_AD_FORMAT_SNORM_INT8X4 = 200
     CU_AD_FORMAT_SNORM_INT16X1 = 201
     CU_AD_FORMAT_SNORM_INT16X2 = 202
     CU_AD_FORMAT_SNORM_INT16X4 = 203
     CU_AD_FORMAT_BC1_UNORM = 145
     CU_AD_FORMAT_BC1_UNORM_SRGB = 146
     CU_AD_FORMAT_BC2_UNORM = 147
     CU_AD_FORMAT_BC2_UNORM_SRGB = 148
     CU_AD_FORMAT_BC3_UNORM = 149
     CU_AD_FORMAT_BC3_UNORM_SRGB = 150
     CU_AD_FORMAT_BC4_UNORM = 151
     CU_AD_FORMAT_BC4_SNORM = 152
     CU_AD_FORMAT_BC5_UNORM = 153
     CU_AD_FORMAT_BC5_SNORM = 154
     CU_AD_FORMAT_BC6H_UF16 = 155
     CU_AD_FORMAT_BC6H_SF16 = 156
     CU_AD_FORMAT_BC7_UNORM = 157
     CU_AD_FORMAT_BC7_UNORM_SRGB = 158
     CU_AD_FORMAT_P010 = 159
     CU_AD_FORMAT_P016 = 161
     CU_AD_FORMAT_NV16 = 162
     CU_AD_FORMAT_P210 = 163
     CU_AD_FORMAT_P216 = 164
     CU_AD_FORMAT_YUY2 = 165
     CU_AD_FORMAT_Y210 = 166
     CU_AD_FORMAT_Y216 = 167
     CU_AD_FORMAT_AYUV = 168
     CU_AD_FORMAT_Y410 = 169
     CU_AD_FORMAT_Y416 = 177
     CU_AD_FORMAT_Y444_PLANAR8 = 178
     CU_AD_FORMAT_Y444_PLANAR10 = 179
     CU_AD_FORMAT_YUV444_8bit_SemiPlanar = 180
     CU_AD_FORMAT_YUV444_16bit_SemiPlanar = 181
     CU_AD_FORMAT_UNORM_INT_101010_2 = 80
-    CU_AD_FORMAT_UINT8_PACKED_422 = 81
-    CU_AD_FORMAT_UINT8_PACKED_444 = 82
-    CU_AD_FORMAT_UINT8_SEMIPLANAR_420 = 83
-    CU_AD_FORMAT_UINT16_SEMIPLANAR_420 = 84
-    CU_AD_FORMAT_UINT8_SEMIPLANAR_422 = 85
-    CU_AD_FORMAT_UINT16_SEMIPLANAR_422 = 86
-    CU_AD_FORMAT_UINT8_SEMIPLANAR_444 = 87
-    CU_AD_FORMAT_UINT16_SEMIPLANAR_444 = 88
-    CU_AD_FORMAT_UINT8_PLANAR_420 = 89
-    CU_AD_FORMAT_UINT16_PLANAR_420 = 90
-    CU_AD_FORMAT_UINT8_PLANAR_422 = 91
-    CU_AD_FORMAT_UINT16_PLANAR_422 = 92
-    CU_AD_FORMAT_UINT8_PLANAR_444 = 93
-    CU_AD_FORMAT_UINT16_PLANAR_444 = 94
     CU_AD_FORMAT_MAX = 2147483647
-enum CUasyncNotificationType
-enum CUatomicOperation
-enum CUatomicOperationCapability
-enum CUclusterSchedulingPolicy
 enum CUcomputemode
     CU_COMPUTEMODE_DEFAULT = 0
     CU_COMPUTEMODE_PROHIBITED = 2
     CU_COMPUTEMODE_EXCLUSIVE_PROCESS = 3
 enum CUctx_flags
     CU_CTX_SCHED_AUTO = 0
     CU_CTX_SCHED_SPIN = 1
     CU_CTX_SCHED_YIELD = 2
     CU_CTX_SCHED_BLOCKING_SYNC = 4
     CU_CTX_BLOCKING_SYNC = 4
     CU_CTX_SCHED_MASK = 7
     CU_CTX_MAP_HOST = 8
     CU_CTX_LMEM_RESIZE_TO_MAX = 16
     CU_CTX_COREDUMP_ENABLE = 32
     CU_CTX_USER_COREDUMP_ENABLE = 64
     CU_CTX_SYNC_MEMOPS = 128
     CU_CTX_FLAGS_MASK = 255
 enum CUdeviceNumaConfig
     CU_DEVICE_NUMA_CONFIG_NONE = 0
     CU_DEVICE_NUMA_CONFIG_NUMA_NODE = 1
 enum CUdevice_P2PAttribute
     CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK = 1
     CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED = 2
     CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED = 3
     CU_DEVICE_P2P_ATTRIBUTE_ACCESS_ACCESS_SUPPORTED = 4
     CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED = 4
-    CU_DEVICE_P2P_ATTRIBUTE_ONLY_PARTIAL_NATIVE_ATOMIC_SUPPORTED = 5
 enum CUdevice_attribute
     CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1
     CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = 2
     CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y = 3
     CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z = 4
     CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = 5
     CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y = 6
     CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z = 7
     CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK = 8
     CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK = 8
     CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY = 9
     CU_DEVICE_ATTRIBUTE_WARP_SIZE = 10
     CU_DEVICE_ATTRIBUTE_MAX_PITCH = 11
     CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK = 12
     CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK = 12
     CU_DEVICE_ATTRIBUTE_CLOCK_RATE = 13
     CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT = 14
     CU_DEVICE_ATTRIBUTE_GPU_OVERLAP = 15
     CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT = 16
     CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT = 17
     CU_DEVICE_ATTRIBUTE_INTEGRATED = 18
     CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY = 19
     CU_DEVICE_ATTRIBUTE_COMPUTE_MODE = 20
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH = 21
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH = 22
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT = 23
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH = 24
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT = 25
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH = 26
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH = 27
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT = 28
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS = 29
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH = 27
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT = 28
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES = 29
     CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT = 30
     CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS = 31
     CU_DEVICE_ATTRIBUTE_ECC_ENABLED = 32
     CU_DEVICE_ATTRIBUTE_PCI_BUS_ID = 33
     CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID = 34
     CU_DEVICE_ATTRIBUTE_TCC_DRIVER = 35
     CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE = 36
     CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH = 37
     CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE = 38
     CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR = 39
     CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT = 40
     CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING = 41
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH = 42
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS = 43
     CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER = 44
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH = 45
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT = 46
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE = 47
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE = 48
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE = 49
     CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID = 50
     CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT = 51
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH = 52
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH = 53
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS = 54
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH = 55
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH = 56
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT = 57
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH = 58
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT = 59
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH = 60
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH = 61
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS = 62
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH = 63
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT = 64
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS = 65
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH = 66
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH = 67
     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS = 68
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH = 69
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH = 70
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT = 71
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH = 72
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH = 73
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT = 74
     CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR = 75
     CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR = 76
     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH = 77
     CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED = 78
     CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED = 79
     CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED = 80
     CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR = 81
     CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR = 82
     CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY = 83
     CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD = 84
     CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID = 85
     CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED = 86
     CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO = 87
     CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS = 88
     CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS = 89
     CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED = 90
     CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM = 91
     CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS_V1 = 92
     CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS_V1 = 93
     CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR_V1 = 94
     CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH = 95
     CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH = 96
     CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN = 97
     CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES = 98
     CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED = 99
     CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES = 100
     CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST = 101
     CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED = 102
     CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED = 102
     CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED = 103
     CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED = 104
     CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED = 105
     CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR = 106
     CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED = 107
     CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE = 108
     CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE = 109
     CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED = 110
     CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK = 111
     CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED = 112
     CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED = 113
     CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED = 114
     CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED = 115
     CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED = 116
     CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS = 117
     CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING = 118
     CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES = 119
     CU_DEVICE_ATTRIBUTE_CLUSTER_LAUNCH = 120
     CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED = 121
     CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS = 122
     CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR = 123
     CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED = 124
     CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED = 125
     CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT = 126
     CU_DEVICE_ATTRIBUTE_TENSOR_MAP_ACCESS_SUPPORTED = 127
     CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_FABRIC_SUPPORTED = 128
     CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS = 129
     CU_DEVICE_ATTRIBUTE_NUMA_CONFIG = 130
     CU_DEVICE_ATTRIBUTE_NUMA_ID = 131
     CU_DEVICE_ATTRIBUTE_MULTICAST_SUPPORTED = 132
     CU_DEVICE_ATTRIBUTE_MPS_ENABLED = 133
     CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID = 134
     CU_DEVICE_ATTRIBUTE_D3D12_CIG_SUPPORTED = 135
     CU_DEVICE_ATTRIBUTE_MEM_DECOMPRESS_ALGORITHM_MASK = 136
     CU_DEVICE_ATTRIBUTE_MEM_DECOMPRESS_MAXIMUM_LENGTH = 137
     CU_DEVICE_ATTRIBUTE_VULKAN_CIG_SUPPORTED = 138
     CU_DEVICE_ATTRIBUTE_GPU_PCI_DEVICE_ID = 139
     CU_DEVICE_ATTRIBUTE_GPU_PCI_SUBSYSTEM_ID = 140
     CU_DEVICE_ATTRIBUTE_HOST_NUMA_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED = 141
     CU_DEVICE_ATTRIBUTE_HOST_NUMA_MEMORY_POOLS_SUPPORTED = 142
     CU_DEVICE_ATTRIBUTE_HOST_NUMA_MULTINODE_IPC_SUPPORTED = 143
-    CU_DEVICE_ATTRIBUTE_HOST_MEMORY_POOLS_SUPPORTED = 144
-    CU_DEVICE_ATTRIBUTE_HOST_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED = 145
-    CU_DEVICE_ATTRIBUTE_HOST_ALLOC_DMA_BUF_SUPPORTED = 146
-    CU_DEVICE_ATTRIBUTE_ONLY_PARTIAL_HOST_NATIVE_ATOMIC_SUPPORTED = 147
-    CU_DEVICE_ATTRIBUTE_ATOMIC_REDUCTION_SUPPORTED = 148
-    CU_DEVICE_ATTRIBUTE_D3D12_CIG_STREAMS_SUPPORTED = 151
-    CU_DEVICE_ATTRIBUTE_DMA_BUF_MMAP_SUPPORTED = 152
-    CU_DEVICE_ATTRIBUTE_LOGICAL_ENDPOINT_UNICAST_SUPPORTED = 153
-    CU_DEVICE_ATTRIBUTE_LOGICAL_ENDPOINT_MULTICAST_SUPPORTED = 154
-    CU_DEVICE_ATTRIBUTE_LOGICAL_ENDPOINT_COUNTED_OPS_SUPPORTED = 155
-    CU_DEVICE_ATTRIBUTE_LOGICAL_ENDPOINT_UNICAST_ACCESS_ON_OWNER_DEVICE_SUPPORTED = 156
-    CU_DEVICE_ATTRIBUTE_MAX = 157
 enum CUdriverProcAddressQueryResult
     CU_GET_PROC_ADDRESS_SUCCESS = 0
     CU_GET_PROC_ADDRESS_SYMBOL_NOT_FOUND = 1
     CU_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT = 2
 enum CUdriverProcAddress_flags
     CU_GET_PROC_ADDRESS_DEFAULT = 0
     CU_GET_PROC_ADDRESS_LEGACY_STREAM = 1
     CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM = 2
-enum CUeglColorFormat
-enum CUeglFrameType
-enum CUeglResourceLocationFlags
 enum CUevent_flags
     CU_EVENT_DEFAULT = 0
     CU_EVENT_BLOCKING_SYNC = 1
     CU_EVENT_DISABLE_TIMING = 2
     CU_EVENT_INTERPROCESS = 4
 enum CUevent_record_flags
     CU_EVENT_RECORD_DEFAULT = 0
     CU_EVENT_RECORD_EXTERNAL = 1
 enum CUevent_sched_flags
     CU_EVENT_SCHED_AUTO = 0
     CU_EVENT_SCHED_SPIN = 1
     CU_EVENT_SCHED_YIELD = 2
     CU_EVENT_SCHED_BLOCKING_SYNC = 4
 enum CUevent_wait_flags
     CU_EVENT_WAIT_DEFAULT = 0
     CU_EVENT_WAIT_EXTERNAL = 1
 enum CUexecAffinityType
     CU_EXEC_AFFINITY_TYPE_SM_COUNT = 0
     CU_EXEC_AFFINITY_TYPE_MAX = 1
-enum CUexternalMemoryHandleType
-enum CUexternalSemaphoreHandleType
 enum CUfilter_mode
     CU_TR_FILTER_MODE_POINT = 0
     CU_TR_FILTER_MODE_LINEAR = 1
 enum CUflushGPUDirectRDMAWritesOptions
     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_HOST = 1
     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS = 2
 enum CUflushGPUDirectRDMAWritesScope
     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_OWNER = 100
     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES = 200
 enum CUflushGPUDirectRDMAWritesTarget
     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX = 0
 enum CUfunc_cache
     CU_FUNC_CACHE_PREFER_NONE = 0
     CU_FUNC_CACHE_PREFER_SHARED = 1
     CU_FUNC_CACHE_PREFER_L1 = 2
     CU_FUNC_CACHE_PREFER_EQUAL = 3
 enum CUfunction_attribute
     CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 0
     CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES = 1
     CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES = 2
     CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES = 3
     CU_FUNC_ATTRIBUTE_NUM_REGS = 4
     CU_FUNC_ATTRIBUTE_PTX_VERSION = 5
     CU_FUNC_ATTRIBUTE_BINARY_VERSION = 6
     CU_FUNC_ATTRIBUTE_CACHE_MODE_CA = 7
     CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES = 8
     CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = 9
     CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_MUST_BE_SET = 10
     CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_WIDTH = 11
     CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_HEIGHT = 12
     CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_DEPTH = 13
     CU_FUNC_ATTRIBUTE_NON_PORTABLE_CLUSTER_SIZE_ALLOWED = 14
     CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = 15
-    CU_FUNC_ATTRIBUTE_DEVICE_NODE_UPDATE_SUPPORTED = 16
-    CU_FUNC_ATTRIBUTE_MAX = 17
-enum CUgraphChildGraphNodeOwnership
     CU_GRAPH_CHILD_GRAPH_OWNERSHIP_CLONE = 0
     CU_GRAPH_CHILD_GRAPH_OWNERSHIP_MOVE = 1
-    CU_GRAPH_CHILD_GRAPH_OWNERSHIP_INVALID = 18446744073709551615
-enum CUgraphConditionalNodeType
 enum CUgraphDebugDot_flags
     CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE = 1
     CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME_TYPES = 2
     CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_PARAMS = 4
     CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY_NODE_PARAMS = 8
     CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET_NODE_PARAMS = 16
     CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NODE_PARAMS = 32
     CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_NODE_PARAMS = 64
     CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_SIGNAL_NODE_PARAMS = 128
     CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_WAIT_NODE_PARAMS = 256
     CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_ATTRIBUTES = 512
     CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES = 1024
     CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALLOC_NODE_PARAMS = 2048
     CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FREE_NODE_PARAMS = 4096
     CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_MEM_OP_NODE_PARAMS = 8192
     CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_TOPO_INFO = 16384
     CU_GRAPH_DEBUG_DOT_FLAGS_CONDITIONAL_NODE_PARAMS = 32768
 enum CUgraphDependencyType
     CU_GRAPH_DEPENDENCY_TYPE_DEFAULT = 0
     CU_GRAPH_DEPENDENCY_TYPE_PROGRAMMATIC = 1
 enum CUgraphExecUpdateResult
     CU_GRAPH_EXEC_UPDATE_SUCCESS = 0
     CU_GRAPH_EXEC_UPDATE_ERROR = 1
     CU_GRAPH_EXEC_UPDATE_ERROR_TOPOLOGY_CHANGED = 2
     CU_GRAPH_EXEC_UPDATE_ERROR_NODE_TYPE_CHANGED = 3
     CU_GRAPH_EXEC_UPDATE_ERROR_FUNCTION_CHANGED = 4
     CU_GRAPH_EXEC_UPDATE_ERROR_PARAMETERS_CHANGED = 5
     CU_GRAPH_EXEC_UPDATE_ERROR_NOT_SUPPORTED = 6
     CU_GRAPH_EXEC_UPDATE_ERROR_UNSUPPORTED_FUNCTION_CHANGE = 7
     CU_GRAPH_EXEC_UPDATE_ERROR_ATTRIBUTES_CHANGED = 8
 enum CUgraphInstantiateResult
     CUDA_GRAPH_INSTANTIATE_SUCCESS = 0
     CUDA_GRAPH_INSTANTIATE_ERROR = 1
     CUDA_GRAPH_INSTANTIATE_INVALID_STRUCTURE = 2
     CUDA_GRAPH_INSTANTIATE_NODE_OPERATION_NOT_SUPPORTED = 3
     CUDA_GRAPH_INSTANTIATE_MULTIPLE_CTXS_NOT_SUPPORTED = 4
     CUDA_GRAPH_INSTANTIATE_CONDITIONAL_HANDLE_UNUSED = 5
 enum CUgraphInstantiate_flags
     CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH = 1
     CUDA_GRAPH_INSTANTIATE_FLAG_UPLOAD = 2
     CUDA_GRAPH_INSTANTIATE_FLAG_DEVICE_LAUNCH = 4
     CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY = 8
 enum CUgraphNodeType
     CU_GRAPH_NODE_TYPE_KERNEL = 0
     CU_GRAPH_NODE_TYPE_MEMCPY = 1
     CU_GRAPH_NODE_TYPE_MEMSET = 2
     CU_GRAPH_NODE_TYPE_HOST = 3
     CU_GRAPH_NODE_TYPE_GRAPH = 4
     CU_GRAPH_NODE_TYPE_EMPTY = 5
     CU_GRAPH_NODE_TYPE_WAIT_EVENT = 6
     CU_GRAPH_NODE_TYPE_EVENT_RECORD = 7
     CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIGNAL = 8
     CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAIT = 9
     CU_GRAPH_NODE_TYPE_MEM_ALLOC = 10
     CU_GRAPH_NODE_TYPE_MEM_FREE = 11
     CU_GRAPH_NODE_TYPE_BATCH_MEM_OP = 12
     CU_GRAPH_NODE_TYPE_CONDITIONAL = 13
-    CU_GRAPH_NODE_TYPE_RESERVED_16 = 16
 enum CUgraphicsMapResourceFlags
     CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE = 0
     CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY = 1
     CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 2
 enum CUgraphicsRegisterFlags
     CU_GRAPHICS_REGISTER_FLAGS_NONE = 0
     CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY = 1
     CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD = 2
     CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST = 4
     CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER = 8
-enum CUipcMem_flags
 enum CUjitInputType
     CU_JIT_INPUT_CUBIN = 0
     CU_JIT_INPUT_PTX = 1
     CU_JIT_INPUT_FATBINARY = 2
     CU_JIT_INPUT_OBJECT = 3
     CU_JIT_INPUT_LIBRARY = 4
     CU_JIT_INPUT_NVVM = 5
     CU_JIT_NUM_INPUT_TYPES = 6
-enum CUjit_cacheMode
-enum CUjit_fallback
 enum CUjit_option
     CU_JIT_MAX_REGISTERS = 0
     CU_JIT_THREADS_PER_BLOCK = 1
     CU_JIT_WALL_TIME = 2
     CU_JIT_INFO_LOG_BUFFER = 3
     CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES = 4
     CU_JIT_ERROR_LOG_BUFFER = 5
     CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES = 6
     CU_JIT_OPTIMIZATION_LEVEL = 7
     CU_JIT_TARGET_FROM_CUCONTEXT = 8
     CU_JIT_TARGET = 9
     CU_JIT_FALLBACK_STRATEGY = 10
     CU_JIT_GENERATE_DEBUG_INFO = 11
     CU_JIT_LOG_VERBOSE = 12
     CU_JIT_GENERATE_LINE_INFO = 13
     CU_JIT_CACHE_MODE = 14
     CU_JIT_NEW_SM3X_OPT = 15
     CU_JIT_FAST_COMPILE = 16
     CU_JIT_GLOBAL_SYMBOL_NAMES = 17
     CU_JIT_GLOBAL_SYMBOL_ADDRESSES = 18
     CU_JIT_GLOBAL_SYMBOL_COUNT = 19
     CU_JIT_LTO = 20
     CU_JIT_FTZ = 21
     CU_JIT_PREC_DIV = 22
     CU_JIT_PREC_SQRT = 23
     CU_JIT_FMA = 24
     CU_JIT_REFERENCED_KERNEL_NAMES = 25
     CU_JIT_REFERENCED_KERNEL_COUNT = 26
     CU_JIT_REFERENCED_VARIABLE_NAMES = 27
     CU_JIT_REFERENCED_VARIABLE_COUNT = 28
     CU_JIT_OPTIMIZE_UNUSED_DEVICE_VARIABLES = 29
     CU_JIT_POSITION_INDEPENDENT_CODE = 30
     CU_JIT_MIN_CTA_PER_SM = 31
     CU_JIT_MAX_THREADS_PER_BLOCK = 32
     CU_JIT_OVERRIDE_DIRECTIVE_VALUES = 33
     CU_JIT_SPLIT_COMPILE = 34
-    CU_JIT_BINARY_LOADER_THREAD_COUNT = 35
-    CU_JIT_NUM_OPTIONS = 36
-enum CUjit_target
 enum CUlaunchAttributeID
     CU_LAUNCH_ATTRIBUTE_IGNORE = 0
     CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1
     CU_LAUNCH_ATTRIBUTE_COOPERATIVE = 2
     CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY = 3
     CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION = 4
     CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = 5
     CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION = 6
     CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT = 7
     CU_LAUNCH_ATTRIBUTE_PRIORITY = 8
     CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = 9
     CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN = 10
     CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION = 11
     CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT = 12
     CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = 13
     CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = 14
     CU_LAUNCH_ATTRIBUTE_NVLINK_UTIL_CENTRIC_SCHEDULING = 16
-    CU_LAUNCH_ATTRIBUTE_PORTABLE_CLUSTER_SIZE_MODE = 17
-    CU_LAUNCH_ATTRIBUTE_SHARED_MEMORY_MODE = 18
-enum CUlaunchAttributePortableClusterMode
-enum CUlaunchMemSyncDomain
 enum CUlibraryOption
     CU_LIBRARY_HOST_UNIVERSAL_FUNCTION_AND_DATA_TABLE = 0
     CU_LIBRARY_BINARY_IS_PRESERVED = 1
     CU_LIBRARY_NUM_OPTIONS = 2
 enum CUlimit
     CU_LIMIT_STACK_SIZE = 0
     CU_LIMIT_PRINTF_FIFO_SIZE = 1
     CU_LIMIT_MALLOC_HEAP_SIZE = 2
     CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH = 3
     CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT = 4
     CU_LIMIT_MAX_L2_FETCH_GRANULARITY = 5
     CU_LIMIT_PERSISTING_L2_CACHE_SIZE = 6
     CU_LIMIT_SHMEM_SIZE = 7
     CU_LIMIT_CIG_ENABLED = 8
     CU_LIMIT_CIG_SHMEM_FALLBACK_ENABLED = 9
     CU_LIMIT_MAX = 10
 enum CUmemAccess_flags
     CU_MEM_ACCESS_FLAGS_PROT_NONE = 0
     CU_MEM_ACCESS_FLAGS_PROT_READ = 1
     CU_MEM_ACCESS_FLAGS_PROT_READWRITE = 3
     CU_MEM_ACCESS_FLAGS_PROT_MAX = 2147483647
 enum CUmemAllocationCompType
     CU_MEM_ALLOCATION_COMP_NONE = 0
     CU_MEM_ALLOCATION_COMP_GENERIC = 1
 enum CUmemAllocationGranularity_flags
     CU_MEM_ALLOC_GRANULARITY_MINIMUM = 0
     CU_MEM_ALLOC_GRANULARITY_RECOMMENDED = 1
 enum CUmemAllocationHandleType
     CU_MEM_HANDLE_TYPE_NONE = 0
     CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR = 1
     CU_MEM_HANDLE_TYPE_WIN32 = 2
     CU_MEM_HANDLE_TYPE_WIN32_KMT = 4
     CU_MEM_HANDLE_TYPE_FABRIC = 8
     CU_MEM_HANDLE_TYPE_MAX = 2147483647
 enum CUmemAllocationType
     CU_MEM_ALLOCATION_TYPE_INVALID = 0
     CU_MEM_ALLOCATION_TYPE_PINNED = 1
     CU_MEM_ALLOCATION_TYPE_MANAGED = 2
     CU_MEM_ALLOCATION_TYPE_MAX = 2147483647
 enum CUmemAttach_flags
     CU_MEM_ATTACH_GLOBAL = 1
     CU_MEM_ATTACH_HOST = 2
     CU_MEM_ATTACH_SINGLE = 4
-enum CUmemHandleType
-enum CUmemLocationType
-enum CUmemOperationType
 enum CUmemPool_attribute
     CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES = 1
     CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC = 2
     CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES = 3
     CU_MEMPOOL_ATTR_RELEASE_THRESHOLD = 4
     CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT = 5
     CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH = 6
     CU_MEMPOOL_ATTR_USED_MEM_CURRENT = 7
     CU_MEMPOOL_ATTR_USED_MEM_HIGH = 8
-    CU_MEMPOOL_ATTR_ALLOCATION_TYPE = 9
-    CU_MEMPOOL_ATTR_EXPORT_HANDLE_TYPES = 10
-    CU_MEMPOOL_ATTR_LOCATION_ID = 11
-    CU_MEMPOOL_ATTR_LOCATION_TYPE = 12
-    CU_MEMPOOL_ATTR_MAX_POOL_SIZE = 13
-    CU_MEMPOOL_ATTR_HW_DECOMPRESS_ENABLED = 14
 enum CUmemRangeFlags
     CU_MEM_RANGE_FLAG_DMA_BUF_MAPPING_TYPE_PCIE = 1
 enum CUmemRangeHandleType
     CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD = 1
     CU_MEM_RANGE_HANDLE_TYPE_MAX = 2147483647
 enum CUmem_advise
     CU_MEM_ADVISE_SET_READ_MOSTLY = 1
     CU_MEM_ADVISE_UNSET_READ_MOSTLY = 2
     CU_MEM_ADVISE_SET_PREFERRED_LOCATION = 3
     CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION = 4
     CU_MEM_ADVISE_SET_ACCESSED_BY = 5
     CU_MEM_ADVISE_UNSET_ACCESSED_BY = 6
 enum CUmemcpy3DOperandType
     CU_MEMCPY_OPERAND_TYPE_POINTER = 1
     CU_MEMCPY_OPERAND_TYPE_ARRAY = 2
     CU_MEMCPY_OPERAND_TYPE_MAX = 2147483647
-enum CUmemcpyFlags
 enum CUmemcpySrcAccessOrder
     CU_MEMCPY_SRC_ACCESS_ORDER_INVALID = 0
     CU_MEMCPY_SRC_ACCESS_ORDER_STREAM = 1
     CU_MEMCPY_SRC_ACCESS_ORDER_DURING_API_CALL = 2
     CU_MEMCPY_SRC_ACCESS_ORDER_ANY = 3
     CU_MEMCPY_SRC_ACCESS_ORDER_MAX = 2147483647
 enum CUmemorytype
     CU_MEMORYTYPE_HOST = 1
     CU_MEMORYTYPE_DEVICE = 2
     CU_MEMORYTYPE_ARRAY = 3
     CU_MEMORYTYPE_UNIFIED = 4
 enum CUmulticastGranularity_flags
     CU_MULTICAST_GRANULARITY_MINIMUM = 0
     CU_MULTICAST_GRANULARITY_RECOMMENDED = 1
 enum CUoccupancy_flags
     CU_OCCUPANCY_DEFAULT = 0
     CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE = 1
 enum CUpointer_attribute
     CU_POINTER_ATTRIBUTE_CONTEXT = 1
     CU_POINTER_ATTRIBUTE_MEMORY_TYPE = 2
     CU_POINTER_ATTRIBUTE_DEVICE_POINTER = 3
     CU_POINTER_ATTRIBUTE_HOST_POINTER = 4
     CU_POINTER_ATTRIBUTE_P2P_TOKENS = 5
     CU_POINTER_ATTRIBUTE_SYNC_MEMOPS = 6
     CU_POINTER_ATTRIBUTE_BUFFER_ID = 7
     CU_POINTER_ATTRIBUTE_IS_MANAGED = 8
     CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL = 9
     CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE = 10
     CU_POINTER_ATTRIBUTE_RANGE_START_ADDR = 11
     CU_POINTER_ATTRIBUTE_RANGE_SIZE = 12
     CU_POINTER_ATTRIBUTE_MAPPED = 13
     CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES = 14
     CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE = 15
     CU_POINTER_ATTRIBUTE_ACCESS_FLAGS = 16
     CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE = 17
     CU_POINTER_ATTRIBUTE_MAPPING_SIZE = 18
     CU_POINTER_ATTRIBUTE_MAPPING_BASE_ADDR = 19
     CU_POINTER_ATTRIBUTE_MEMORY_BLOCK_ID = 20
     CU_POINTER_ATTRIBUTE_IS_HW_DECOMPRESS_CAPABLE = 21
-enum CUprocessState
 enum CUresourceViewFormat
     CU_RES_VIEW_FORMAT_NONE = 0
     CU_RES_VIEW_FORMAT_UINT_1X8 = 1
     CU_RES_VIEW_FORMAT_UINT_2X8 = 2
     CU_RES_VIEW_FORMAT_UINT_4X8 = 3
     CU_RES_VIEW_FORMAT_SINT_1X8 = 4
     CU_RES_VIEW_FORMAT_SINT_2X8 = 5
     CU_RES_VIEW_FORMAT_SINT_4X8 = 6
     CU_RES_VIEW_FORMAT_UINT_1X16 = 7
     CU_RES_VIEW_FORMAT_UINT_2X16 = 8
     CU_RES_VIEW_FORMAT_UINT_4X16 = 9
     CU_RES_VIEW_FORMAT_SINT_1X16 = 10
     CU_RES_VIEW_FORMAT_SINT_2X16 = 11
     CU_RES_VIEW_FORMAT_SINT_4X16 = 12
     CU_RES_VIEW_FORMAT_UINT_1X32 = 13
     CU_RES_VIEW_FORMAT_UINT_2X32 = 14
     CU_RES_VIEW_FORMAT_UINT_4X32 = 15
     CU_RES_VIEW_FORMAT_SINT_1X32 = 16
     CU_RES_VIEW_FORMAT_SINT_2X32 = 17
     CU_RES_VIEW_FORMAT_SINT_4X32 = 18
     CU_RES_VIEW_FORMAT_FLOAT_1X16 = 19
     CU_RES_VIEW_FORMAT_FLOAT_2X16 = 20
     CU_RES_VIEW_FORMAT_FLOAT_4X16 = 21
     CU_RES_VIEW_FORMAT_FLOAT_1X32 = 22
     CU_RES_VIEW_FORMAT_FLOAT_2X32 = 23
     CU_RES_VIEW_FORMAT_FLOAT_4X32 = 24
     CU_RES_VIEW_FORMAT_UNSIGNED_BC1 = 25
     CU_RES_VIEW_FORMAT_UNSIGNED_BC2 = 26
     CU_RES_VIEW_FORMAT_UNSIGNED_BC3 = 27
     CU_RES_VIEW_FORMAT_UNSIGNED_BC4 = 28
     CU_RES_VIEW_FORMAT_SIGNED_BC4 = 29
     CU_RES_VIEW_FORMAT_UNSIGNED_BC5 = 30
     CU_RES_VIEW_FORMAT_SIGNED_BC5 = 31
     CU_RES_VIEW_FORMAT_UNSIGNED_BC6H = 32
     CU_RES_VIEW_FORMAT_SIGNED_BC6H = 33
     CU_RES_VIEW_FORMAT_UNSIGNED_BC7 = 34
 enum CUresourcetype
     CU_RESOURCE_TYPE_ARRAY = 0
     CU_RESOURCE_TYPE_MIPMAPPED_ARRAY = 1
     CU_RESOURCE_TYPE_LINEAR = 2
     CU_RESOURCE_TYPE_PITCH2D = 3
 enum CUresult
     CUDA_SUCCESS = 0
     CUDA_ERROR_INVALID_VALUE = 1
     CUDA_ERROR_OUT_OF_MEMORY = 2
     CUDA_ERROR_NOT_INITIALIZED = 3
     CUDA_ERROR_DEINITIALIZED = 4
     CUDA_ERROR_PROFILER_DISABLED = 5
     CUDA_ERROR_PROFILER_NOT_INITIALIZED = 6
     CUDA_ERROR_PROFILER_ALREADY_STARTED = 7
     CUDA_ERROR_PROFILER_ALREADY_STOPPED = 8
     CUDA_ERROR_STUB_LIBRARY = 34
     CUDA_ERROR_CALL_REQUIRES_NEWER_DRIVER = 36
     CUDA_ERROR_DEVICE_UNAVAILABLE = 46
     CUDA_ERROR_NO_DEVICE = 100
     CUDA_ERROR_INVALID_DEVICE = 101
     CUDA_ERROR_DEVICE_NOT_LICENSED = 102
     CUDA_ERROR_INVALID_IMAGE = 200
     CUDA_ERROR_INVALID_CONTEXT = 201
     CUDA_ERROR_CONTEXT_ALREADY_CURRENT = 202
     CUDA_ERROR_MAP_FAILED = 205
     CUDA_ERROR_UNMAP_FAILED = 206
     CUDA_ERROR_ARRAY_IS_MAPPED = 207
     CUDA_ERROR_ALREADY_MAPPED = 208
     CUDA_ERROR_NO_BINARY_FOR_GPU = 209
     CUDA_ERROR_ALREADY_ACQUIRED = 210
     CUDA_ERROR_NOT_MAPPED = 211
     CUDA_ERROR_NOT_MAPPED_AS_ARRAY = 212
     CUDA_ERROR_NOT_MAPPED_AS_POINTER = 213
     CUDA_ERROR_ECC_UNCORRECTABLE = 214
     CUDA_ERROR_UNSUPPORTED_LIMIT = 215
     CUDA_ERROR_CONTEXT_ALREADY_IN_USE = 216
     CUDA_ERROR_PEER_ACCESS_UNSUPPORTED = 217
     CUDA_ERROR_INVALID_PTX = 218
     CUDA_ERROR_INVALID_GRAPHICS_CONTEXT = 219
     CUDA_ERROR_NVLINK_UNCORRECTABLE = 220
     CUDA_ERROR_JIT_COMPILER_NOT_FOUND = 221
     CUDA_ERROR_UNSUPPORTED_PTX_VERSION = 222
     CUDA_ERROR_JIT_COMPILATION_DISABLED = 223
     CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY = 224
     CUDA_ERROR_UNSUPPORTED_DEVSIDE_SYNC = 225
     CUDA_ERROR_CONTAINED = 226
     CUDA_ERROR_INVALID_SOURCE = 300
     CUDA_ERROR_FILE_NOT_FOUND = 301
     CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND = 302
     CUDA_ERROR_SHARED_OBJECT_INIT_FAILED = 303
     CUDA_ERROR_OPERATING_SYSTEM = 304
     CUDA_ERROR_INVALID_HANDLE = 400
     CUDA_ERROR_ILLEGAL_STATE = 401
     CUDA_ERROR_LOSSY_QUERY = 402
     CUDA_ERROR_NOT_FOUND = 500
     CUDA_ERROR_NOT_READY = 600
     CUDA_ERROR_ILLEGAL_ADDRESS = 700
     CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES = 701
     CUDA_ERROR_LAUNCH_TIMEOUT = 702
     CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING = 703
     CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED = 704
     CUDA_ERROR_PEER_ACCESS_NOT_ENABLED = 705
     CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE = 708
     CUDA_ERROR_CONTEXT_IS_DESTROYED = 709
     CUDA_ERROR_ASSERT = 710
     CUDA_ERROR_TOO_MANY_PEERS = 711
     CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED = 712
     CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED = 713
     CUDA_ERROR_HARDWARE_STACK_ERROR = 714
     CUDA_ERROR_ILLEGAL_INSTRUCTION = 715
     CUDA_ERROR_MISALIGNED_ADDRESS = 716
     CUDA_ERROR_INVALID_ADDRESS_SPACE = 717
     CUDA_ERROR_INVALID_PC = 718
     CUDA_ERROR_LAUNCH_FAILED = 719
     CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE = 720
     CUDA_ERROR_TENSOR_MEMORY_LEAK = 721
     CUDA_ERROR_NOT_PERMITTED = 800
     CUDA_ERROR_NOT_SUPPORTED = 801
     CUDA_ERROR_SYSTEM_NOT_READY = 802
     CUDA_ERROR_SYSTEM_DRIVER_MISMATCH = 803
     CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE = 804
     CUDA_ERROR_MPS_CONNECTION_FAILED = 805
     CUDA_ERROR_MPS_RPC_FAILURE = 806
     CUDA_ERROR_MPS_SERVER_NOT_READY = 807
     CUDA_ERROR_MPS_MAX_CLIENTS_REACHED = 808
     CUDA_ERROR_MPS_MAX_CONNECTIONS_REACHED = 809
     CUDA_ERROR_MPS_CLIENT_TERMINATED = 810
     CUDA_ERROR_CDP_NOT_SUPPORTED = 811
     CUDA_ERROR_CDP_VERSION_MISMATCH = 812
     CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED = 900
     CUDA_ERROR_STREAM_CAPTURE_INVALIDATED = 901
     CUDA_ERROR_STREAM_CAPTURE_MERGE = 902
     CUDA_ERROR_STREAM_CAPTURE_UNMATCHED = 903
     CUDA_ERROR_STREAM_CAPTURE_UNJOINED = 904
     CUDA_ERROR_STREAM_CAPTURE_ISOLATION = 905
     CUDA_ERROR_STREAM_CAPTURE_IMPLICIT = 906
     CUDA_ERROR_CAPTURED_EVENT = 907
     CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD = 908
     CUDA_ERROR_TIMEOUT = 909
     CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE = 910
     CUDA_ERROR_EXTERNAL_DEVICE = 911
     CUDA_ERROR_INVALID_CLUSTER_SIZE = 912
     CUDA_ERROR_FUNCTION_NOT_LOADED = 913
     CUDA_ERROR_INVALID_RESOURCE_TYPE = 914
     CUDA_ERROR_INVALID_RESOURCE_CONFIGURATION = 915
     CUDA_ERROR_KEY_ROTATION = 916
     CUDA_ERROR_STREAM_DETACHED = 917
-    CUDA_ERROR_GRAPH_RECAPTURE_FAILURE = 918
     CUDA_ERROR_UNKNOWN = 999
-enum CUsharedMemoryMode
 enum CUshared_carveout
     CU_SHAREDMEM_CARVEOUT_DEFAULT = 18446744073709551615
     CU_SHAREDMEM_CARVEOUT_MAX_SHARED = 100
     CU_SHAREDMEM_CARVEOUT_MAX_L1 = 0
 enum CUsharedconfig
     CU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE = 0
     CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE = 1
     CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE = 2
-enum CUstreamAtomicReductionDataType
-enum CUstreamAtomicReductionOpType
-enum CUstreamBatchMemOpType
 enum CUstreamCaptureMode
     CU_STREAM_CAPTURE_MODE_GLOBAL = 0
     CU_STREAM_CAPTURE_MODE_THREAD_LOCAL = 1
     CU_STREAM_CAPTURE_MODE_RELAXED = 2
 enum CUstreamCaptureStatus
     CU_STREAM_CAPTURE_STATUS_NONE = 0
     CU_STREAM_CAPTURE_STATUS_ACTIVE = 1
     CU_STREAM_CAPTURE_STATUS_INVALIDATED = 2
-enum CUstreamMemoryBarrier_flags
 enum CUstreamUpdateCaptureDependencies_flags
     CU_STREAM_ADD_CAPTURE_DEPENDENCIES = 0
     CU_STREAM_SET_CAPTURE_DEPENDENCIES = 1
-enum CUstreamWaitValue_flags
 enum CUstreamWriteValue_flags
     CU_STREAM_WRITE_VALUE_DEFAULT = 0
     CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER = 1
 enum CUstream_flags
     CU_STREAM_DEFAULT = 0
     CU_STREAM_NON_BLOCKING = 1
 enum CUtensorMapDataType
     CU_TENSOR_MAP_DATA_TYPE_UINT8 = 0
     CU_TENSOR_MAP_DATA_TYPE_UINT16 = 1
     CU_TENSOR_MAP_DATA_TYPE_UINT32 = 2
     CU_TENSOR_MAP_DATA_TYPE_INT32 = 3
     CU_TENSOR_MAP_DATA_TYPE_UINT64 = 4
     CU_TENSOR_MAP_DATA_TYPE_INT64 = 5
     CU_TENSOR_MAP_DATA_TYPE_FLOAT16 = 6
     CU_TENSOR_MAP_DATA_TYPE_FLOAT32 = 7
     CU_TENSOR_MAP_DATA_TYPE_FLOAT64 = 8
     CU_TENSOR_MAP_DATA_TYPE_BFLOAT16 = 9
     CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ = 10
     CU_TENSOR_MAP_DATA_TYPE_TFLOAT32 = 11
     CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ = 12
     CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN8B = 13
     CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B = 14
     CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B = 15
 enum CUtensorMapFloatOOBfill
     CU_TENSOR_MAP_FLOAT_OOB_FILL_NONE = 0
     CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA = 1
 enum CUtensorMapIm2ColWideMode
     CU_TENSOR_MAP_IM2COL_WIDE_MODE_W = 0
     CU_TENSOR_MAP_IM2COL_WIDE_MODE_W128 = 1
 enum CUtensorMapInterleave
     CU_TENSOR_MAP_INTERLEAVE_NONE = 0
     CU_TENSOR_MAP_INTERLEAVE_16B = 1
     CU_TENSOR_MAP_INTERLEAVE_32B = 2
 enum CUtensorMapL2promotion
     CU_TENSOR_MAP_L2_PROMOTION_NONE = 0
     CU_TENSOR_MAP_L2_PROMOTION_L2_64B = 1
     CU_TENSOR_MAP_L2_PROMOTION_L2_128B = 2
     CU_TENSOR_MAP_L2_PROMOTION_L2_256B = 3
 enum CUtensorMapSwizzle
     CU_TENSOR_MAP_SWIZZLE_NONE = 0
     CU_TENSOR_MAP_SWIZZLE_32B = 1
     CU_TENSOR_MAP_SWIZZLE_64B = 2
     CU_TENSOR_MAP_SWIZZLE_128B = 3
     CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B = 4
     CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B_FLIP_8B = 5
     CU_TENSOR_MAP_SWIZZLE_128B_ATOM_64B = 6
 enum CUuserObjectRetain_flags
     CU_GRAPH_USER_OBJECT_MOVE = 1
 enum CUuserObject_flags
     CU_USER_OBJECT_NO_DESTRUCTOR_SYNC = 1
-enum cl_context_flags
-enum cl_event_flags
 struct CUDA_ARRAY3D_DESCRIPTOR_v2
     Depth
     Flags
     Format
     Height
     NumChannels
     Width
 struct CUDA_ARRAY_DESCRIPTOR_v2
     Format
     Height
     NumChannels
     Width
-struct CUDA_ARRAY_MEMORY_REQUIREMENTS_v1
-struct CUDA_ARRAY_SPARSE_PROPERTIES_v1
 struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v1
 struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v2
 struct CUDA_CHILD_GRAPH_NODE_PARAMS
     graph
     ownership
-struct CUDA_CONDITIONAL_NODE_PARAMS
 struct CUDA_EVENT_RECORD_NODE_PARAMS
     event
 struct CUDA_EVENT_WAIT_NODE_PARAMS
     event
-struct CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1
 struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1
-struct CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1
 struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1
 struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1
 struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1
-struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1
-struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2
-struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1
-struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2
struct CUDA_GRAPH_INSTANTIATE_PARAMS
 struct CUDA_HOST_NODE_PARAMS_v1
     fn
     userData
 struct CUDA_HOST_NODE_PARAMS_v2
     fn
-    syncMode
     userData
 struct CUDA_KERNEL_NODE_PARAMS_v1
     blockDimX
     blockDimY
     blockDimZ
     extra
     func
     gridDimX
     gridDimY
     gridDimZ
     kernelParams
     sharedMemBytes
 struct CUDA_KERNEL_NODE_PARAMS_v2
     blockDimX
     blockDimY
     blockDimZ
     ctx
     extra
     func
     gridDimX
     gridDimY
     gridDimZ
     kern
     kernelParams
     sharedMemBytes
 struct CUDA_KERNEL_NODE_PARAMS_v3
     blockDimX
     blockDimY
     blockDimZ
     ctx
     extra
     func
     gridDimX
     gridDimY
     gridDimZ
     kern
     kernelParams
     sharedMemBytes
-struct CUDA_LAUNCH_PARAMS_v1
 struct CUDA_MEMCPY2D_v2
     Height
     WidthInBytes
     dstArray
     dstDevice
     dstHost
     dstMemoryType
     dstPitch
     dstXInBytes
     dstY
     srcArray
     srcDevice
     srcHost
     srcMemoryType
     srcPitch
     srcXInBytes
     srcY
-struct CUDA_MEMCPY3D_PEER_v1
 struct CUDA_MEMCPY3D_v2
     Depth
     Height
     WidthInBytes
     dstArray
     dstDevice
     dstHeight
     dstHost
     dstLOD
     dstMemoryType
     dstPitch
     dstXInBytes
     dstY
     dstZ
     reserved0
     reserved1
     srcArray
     srcDevice
     srcHeight
     srcHost
     srcLOD
     srcMemoryType
     srcPitch
     srcXInBytes
     srcY
     srcZ
 struct CUDA_MEMCPY_NODE_PARAMS
     copyCtx
     copyParams
     flags
     reserved
 struct CUDA_MEMSET_NODE_PARAMS_v1
     dst
     elementSize
     height
     pitch
     value
     width
 struct CUDA_MEMSET_NODE_PARAMS_v2
     ctx
     dst
     elementSize
     height
     pitch
     value
     width
 struct CUDA_MEM_ALLOC_NODE_PARAMS_v1
     accessDescCount
     accessDescs
     bytesize
     dptr
     poolProps
 struct CUDA_MEM_ALLOC_NODE_PARAMS_v2
     accessDescCount
     accessDescs
     bytesize
     dptr
     poolProps
 struct CUDA_MEM_FREE_NODE_PARAMS
     dptr
-struct CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1
 struct CUDA_RESOURCE_DESC_v1
     devPtr
     flags
     format
     hArray
     hMipmappedArray
     height
     numChannels
     pitchInBytes
     resType
     sizeInBytes
     width
 struct CUDA_RESOURCE_VIEW_DESC_v1
     depth
     firstLayer
     firstMipmapLevel
     format
     height
     lastLayer
     lastMipmapLevel
     width
-struct CUDA_TEXTURE_DESC_v1
     addressMode
     borderColor
     filterMode
     flags
     maxAnisotropy
     maxMipmapLevelClamp
     minMipmapLevelClamp
     mipmapFilterMode
     mipmapLevelBias
-struct CUaccessPolicyWindow_v1
     base_ptr
     hitProp
     hitRatio
     missProp
     num_bytes
-struct CUarrayMapInfo_v1
 struct CUasyncNotificationInfo
struct CUcheckpointCheckpointArgs
-struct CUcheckpointGpuPair
struct CUcheckpointLockArgs
struct CUcheckpointRestoreArgs
struct CUcheckpointUnlockArgs
 struct CUctxCigParam
     sharedData
     sharedDataType
struct CUctxCreateParams
 struct CUdevprop_v1
     SIMDWidth
     clockRate
     maxGridSize
     maxThreadsDim
     maxThreadsPerBlock
     memPitch
     regsPerBlock
     sharedMemPerBlock
     textureAlign
     totalConstantMemory
-struct CUeglFrame_v1
-struct CUexecAffinityParam_v1
     smCount
     type
-struct CUexecAffinitySmCount_v1
     val
 struct CUextent3D_v1
struct CUgraphEdgeData
 struct CUgraphExecUpdateResultInfo_v1
     errorFromNode
     errorNode
     result
struct CUgraphNodeParams
 struct CUipcEventHandle_v1
 struct CUipcMemHandle_v1
 struct CUlaunchAttribute
     id
     value
 union CUlaunchAttributeValue
struct CUlaunchConfig
-struct CUlaunchMemSyncDomainMap
 struct CUmemAccessDesc_v1
     flags
     location
 struct CUmemAllocationProp_v1
     compressionType
     location
     requestedHandleTypes
     type
     usage
     win32HandleMetaData
 struct CUmemFabricHandle_v1
 struct CUmemLocation_v1
     id
     type
 struct CUmemPoolProps_v1
     allocType
     handleTypes
     location
     maxSize
     reserved
     usage
     win32SecurityAttributes
 struct CUmemPoolPtrExportData_v1
 struct CUmemcpy3DOperand_v1
 struct CUmemcpyAttributes_v1
     dstLocHint
     flags
     srcAccessOrder
     srcLocHint
 struct CUmulticastObjectProp_v1
     flags
     handleTypes
     numDevices
     size
 struct CUoffset3D_v1
 union CUstreamBatchMemOpParams_v1
struct CUstreamCigCaptureParams
-struct CUstreamCigParam
struct CUtensorMap
 typedef CUarray_st * CUarray;
-typedef void (*CUasyncCallback)(CUasyncNotificationInfo* info, void* userData, CUasyncCallbackHandle callback);
-typedef CUasyncCallbackEntry_st * CUasyncCallbackHandle;
 typedef CUctx_st * CUcontext;
 typedef CUdevice_v1 CUdevice;
 typedef int CUdevice_v1;
 typedef CUdeviceptr_v2 CUdeviceptr;
 typedef unsigned long long CUdeviceptr_v2;
-typedef CUeglStreamConnection_st * CUeglStreamConnection;
 typedef CUevent_st * CUevent;
-typedef CUextMemory_st * CUexternalMemory;
-typedef CUextSemaphore_st * CUexternalSemaphore;
 typedef CUfunc_st * CUfunction;
 typedef CUgraph_st * CUgraph;
-typedef cuuint64_t CUgraphConditionalHandle;
 typedef CUgraphDeviceUpdatableNode_st * CUgraphDeviceNode;
 typedef CUgraphExec_st * CUgraphExec;
 typedef CUgraphNode_st * CUgraphNode;
 typedef CUgraphicsResource_st * CUgraphicsResource;
 typedef CUgreenCtx_st * CUgreenCtx;
 typedef void(* CUhostFn)(void* userData);
 typedef CUkern_st * CUkernel;
 typedef CUlib_st * CUlibrary;
 typedef CUmemPoolHandle_st * CUmemoryPool;
 typedef CUmipmappedArray_st * CUmipmappedArray;
 typedef CUmod_st * CUmodule;
 typedef size_t(* CUoccupancyB2DSize)(int blockSize);
 typedef CUstream_st * CUstream;
 typedef void(* CUstreamCallback)(CUstream hStream, CUresult status, void* userData);
 typedef CUsurfObject_v1 CUsurfObject;
 typedef unsigned long long CUsurfObject_v1;
-typedef CUsurfref_st * CUsurfref;
 typedef CUtexObject_v1 CUtexObject;
 typedef unsigned long long CUtexObject_v1;
 typedef CUtexref_st * CUtexref;
 typedef CUuserObject_st * CUuserObject;

6.2. Error Handling#

 CUresult cuGetErrorName(CUresult error, const char** pStr);
 CUresult cuGetErrorString(CUresult error, const char** pStr);

6.3. Initialization#

 CUresult cuInit(unsigned int Flags);

6.4. Version Management#

 CUresult cuDriverGetVersion(int* driverVersion);

6.5. Device Management#

 CUresult cuDeviceGet(CUdevice* device, int ordinal);
 CUresult cuDeviceGetAttribute(int* pi, CUdevice_attribute attrib, CUdevice dev);
 CUresult cuDeviceGetCount(int* count);
 CUresult cuDeviceGetDefaultMemPool(CUmemoryPool* pool_out, CUdevice dev);
 CUresult cuDeviceGetExecAffinitySupport(int* pi, CUexecAffinityType type, CUdevice dev);
-CUresult cuDeviceGetHostAtomicCapabilities(unsigned int* capabilities, const CUatomicOperation ** operations, unsigned int count, CUdevice dev);
 CUresult cuDeviceGetLuid(char* luid, unsigned int* deviceNodeMask, CUdevice dev);
 CUresult cuDeviceGetMemPool(CUmemoryPool* pool, CUdevice dev);
 CUresult cuDeviceGetName(char* name, int len, CUdevice dev);
-CUresult cuDeviceGetNvSciSyncAttributes(void* nvSciSyncAttrList, CUdevice dev, int flags);
 CUresult cuDeviceGetTexture1DLinearMaxWidth(size_t* maxWidthInElements, CUarray_format format, unsigned numChannels, CUdevice dev);
 CUresult cuDeviceGetUuid(CUuuid* uuid, CUdevice dev);
 CUresult cuDeviceSetMemPool(CUdevice dev, CUmemoryPool pool);
 CUresult cuDeviceTotalMem(size_t* bytes, CUdevice dev);
 CUresult cuFlushGPUDirectRDMAWrites(CUflushGPUDirectRDMAWritesTarget target, CUflushGPUDirectRDMAWritesScope scope);

6.6. Device Management [DEPRECATED]#

 CUresult cuDeviceComputeCapability(int* major, int* minor, CUdevice dev);
 CUresult cuDeviceGetProperties(CUdevprop* prop, CUdevice dev);

6.7. Primary Context Management#

 CUresult cuDevicePrimaryCtxGetState(CUdevice dev, unsigned int* flags, int* active);
 CUresult cuDevicePrimaryCtxRelease(CUdevice dev);
 CUresult cuDevicePrimaryCtxReset(CUdevice dev);
 CUresult cuDevicePrimaryCtxRetain(CUcontext* pctx, CUdevice dev);
 CUresult cuDevicePrimaryCtxSetFlags(CUdevice dev, unsigned int flags);

6.8. Context Management#

 CUresult cuCtxCreate(CUcontext* pctx, CUctxCreateParams* ctxCreateParams, unsigned int flags, CUdevice dev);
 CUresult cuCtxDestroy(CUcontext ctx);
 CUresult cuCtxGetApiVersion(CUcontext ctx, unsigned int* version);
 CUresult cuCtxGetCacheConfig(CUfunc_cache* pconfig);
 CUresult cuCtxGetCurrent(CUcontext* pctx);
 CUresult cuCtxGetDevice(CUdevice* device);
 CUresult cuCtxGetDevice_v2(CUdevice* device, CUcontext ctx);
 CUresult cuCtxGetExecAffinity(CUexecAffinityParam* pExecAffinity, CUexecAffinityType type);
 CUresult cuCtxGetFlags(unsigned int* flags);
 CUresult cuCtxGetId(CUcontext ctx, unsigned long long* ctxId);
 CUresult cuCtxGetLimit(size_t* pvalue, CUlimit limit);
 CUresult cuCtxGetStreamPriorityRange(int* leastPriority, int* greatestPriority);
 CUresult cuCtxPopCurrent(CUcontext* pctx);
 CUresult cuCtxPushCurrent(CUcontext ctx);
 CUresult cuCtxRecordEvent(CUcontext hCtx, CUevent hEvent);
 CUresult cuCtxResetPersistingL2Cache(void);
 CUresult cuCtxSetCacheConfig(CUfunc_cache config);
 CUresult cuCtxSetCurrent(CUcontext ctx);
 CUresult cuCtxSetFlags(unsigned int flags);
 CUresult cuCtxSetLimit(CUlimit limit, size_t value);
 CUresult cuCtxSynchronize(void);
 CUresult cuCtxSynchronize_v2(CUcontext ctx);
 CUresult cuCtxWaitEvent(CUcontext hCtx, CUevent hEvent);

6.9. Context Management [DEPRECATED]#

 CUresult cuCtxAttach(CUcontext* pctx, unsigned int flags);
 CUresult cuCtxDetach(CUcontext ctx);
 CUresult cuCtxGetSharedMemConfig(CUsharedconfig* pConfig);
 CUresult cuCtxSetSharedMemConfig(CUsharedconfig config);

6.10. Module Management#

 enum CUmoduleLoadingMode
     CU_MODULE_EAGER_LOADING = 1
     CU_MODULE_LAZY_LOADING = 2
 CUresult cuLinkAddData(CUlinkState state, CUjitInputType type, void* data, size_t size, const char* name, unsigned int numOptions, CUjit_option* options, void** optionValues);
 CUresult cuLinkAddFile(CUlinkState state, CUjitInputType type, const char* path, unsigned int numOptions, CUjit_option* options, void** optionValues);
 CUresult cuLinkComplete(CUlinkState state, void** cubinOut, size_t* sizeOut);
 CUresult cuLinkCreate(unsigned int numOptions, CUjit_option* options, void** optionValues, CUlinkState* stateOut);
 CUresult cuLinkDestroy(CUlinkState state);
 CUresult cuModuleEnumerateFunctions(CUfunction* functions, unsigned int numFunctions, CUmodule mod);
 CUresult cuModuleGetFunction(CUfunction* hfunc, CUmodule hmod, const char* name);
 CUresult cuModuleGetFunctionCount(unsigned int* count, CUmodule mod);
 CUresult cuModuleGetGlobal(CUdeviceptr* dptr, size_t* bytes, CUmodule hmod, const char* name);
 CUresult cuModuleGetLoadingMode(CUmoduleLoadingMode* mode);
 CUresult cuModuleLoad(CUmodule* module, const char* fname);
 CUresult cuModuleLoadData(CUmodule* module, const void* image);
 CUresult cuModuleLoadDataEx(CUmodule* module, const void* image, unsigned int numOptions, CUjit_option* options, void** optionValues);
 CUresult cuModuleLoadFatBinary(CUmodule* module, const void* fatCubin);
 CUresult cuModuleUnload(CUmodule hmod);

6.11. Module Management [DEPRECATED]#

-CUresult cuModuleGetSurfRef(CUsurfref* pSurfRef, CUmodule hmod, const char* name);
-CUresult cuModuleGetTexRef(CUtexref* pTexRef, CUmodule hmod, const char* name);

6.12. Library Management#

 CUresult cuKernelGetAttribute(int* pi, CUfunction_attribute attrib, CUkernel kernel, CUdevice dev);
 CUresult cuKernelGetFunction(CUfunction* pFunc, CUkernel kernel);
 CUresult cuKernelGetLibrary(CUlibrary* pLib, CUkernel kernel);
 CUresult cuKernelGetName(const char** name, CUkernel hfunc);
-CUresult cuKernelGetParamCount(CUkernel kernel, size_t* paramCount);
 CUresult cuKernelGetParamInfo(CUkernel kernel, size_t paramIndex, size_t* paramOffset, size_t* paramSize);
-CUresult cuKernelSetAttribute(CUfunction_attribute attrib, int val, CUkernel kernel, CUdevice dev);
-CUresult cuKernelSetCacheConfig(CUkernel kernel, CUfunc_cache config, CUdevice dev);
 CUresult cuLibraryEnumerateKernels(CUkernel* kernels, unsigned int numKernels, CUlibrary lib);
 CUresult cuLibraryGetGlobal(CUdeviceptr* dptr, size_t* bytes, CUlibrary library, const char* name);
 CUresult cuLibraryGetKernel(CUkernel* pKernel, CUlibrary library, const char* name);
 CUresult cuLibraryGetKernelCount(unsigned int* count, CUlibrary lib);
-CUresult cuLibraryGetManaged(CUdeviceptr* dptr, size_t* bytes, CUlibrary library, const char* name);
 CUresult cuLibraryGetModule(CUmodule* pMod, CUlibrary library);
-CUresult cuLibraryGetUnifiedFunction(void** fptr, CUlibrary library, const char* symbol);
 CUresult cuLibraryLoadData(CUlibrary* library, const void* code, CUjit_option* jitOptions, void** jitOptionsValues, unsigned int numJitOptions, CUlibraryOption* libraryOptions, void** libraryOptionValues, unsigned int numLibraryOptions);
-CUresult cuLibraryLoadFromFile(CUlibrary* library, const char* fileName, CUjit_option* jitOptions, void** jitOptionsValues, unsigned int numJitOptions, CUlibraryOption* libraryOptions, void** libraryOptionValues, unsigned int numLibraryOptions);
 CUresult cuLibraryUnload(CUlibrary library);

6.13. Memory Management#

-enum CUmemDecompressAlgorithm
struct CUmemDecompressParams
 CUresult cuArray3DCreate(CUarray* pHandle, const CUDA_ARRAY3D_DESCRIPTOR* pAllocateArray);
 CUresult cuArray3DGetDescriptor(CUDA_ARRAY3D_DESCRIPTOR* pArrayDescriptor, CUarray hArray);
 CUresult cuArrayCreate(CUarray* pHandle, const CUDA_ARRAY_DESCRIPTOR* pAllocateArray);
 CUresult cuArrayDestroy(CUarray hArray);
 CUresult cuArrayGetDescriptor(CUDA_ARRAY_DESCRIPTOR* pArrayDescriptor, CUarray hArray);
-CUresult cuArrayGetMemoryRequirements(CUDA_ARRAY_MEMORY_REQUIREMENTS* memoryRequirements, CUarray array, CUdevice device);
-CUresult cuArrayGetPlane(CUarray* pPlaneArray, CUarray hArray, unsigned int planeIdx);
-CUresult cuArrayGetSparseProperties(CUDA_ARRAY_SPARSE_PROPERTIES* sparseProperties, CUarray array);
 CUresult cuDeviceGetByPCIBusId(CUdevice* dev, const char* pciBusId);
 CUresult cuDeviceGetPCIBusId(char* pciBusId, int len, CUdevice dev);
-CUresult cuDeviceRegisterAsyncNotification(CUdevice device, CUasyncCallback callbackFunc, void* userData, CUasyncCallbackHandle* callback);
-CUresult cuDeviceUnregisterAsyncNotification(CUdevice device, CUasyncCallbackHandle callback);
 CUresult cuIpcCloseMemHandle(CUdeviceptr dptr);
 CUresult cuIpcGetEventHandle(CUipcEventHandle* pHandle, CUevent event);
 CUresult cuIpcGetMemHandle(CUipcMemHandle* pHandle, CUdeviceptr dptr);
 CUresult cuIpcOpenEventHandle(CUevent* phEvent, CUipcEventHandle handle);
 CUresult cuIpcOpenMemHandle(CUdeviceptr* pdptr, CUipcMemHandle handle, unsigned int Flags);
 CUresult cuMemAlloc(CUdeviceptr* dptr, size_t bytesize);
 CUresult cuMemAllocHost(void** pp, size_t bytesize);
 CUresult cuMemAllocManaged(CUdeviceptr* dptr, size_t bytesize, unsigned int flags);
 CUresult cuMemAllocPitch(CUdeviceptr* dptr, size_t* pPitch, size_t WidthInBytes, size_t Height, unsigned int ElementSizeBytes);
-CUresult cuMemBatchDecompressAsync(CUmemDecompressParams* paramsArray, size_t count, unsigned int flags, size_t* errorIndex, CUstream stream);
 CUresult cuMemFree(CUdeviceptr dptr);
 CUresult cuMemFreeHost(void* p);
 CUresult cuMemGetAddressRange(CUdeviceptr* pbase, size_t* psize, CUdeviceptr dptr);
 CUresult cuMemGetHandleForAddressRange(void* handle, CUdeviceptr dptr, size_t size, CUmemRangeHandleType handleType, unsigned long long flags);
 CUresult cuMemGetInfo(size_t* free, size_t* total);
 CUresult cuMemHostAlloc(void** pp, size_t bytesize, unsigned int Flags);
 CUresult cuMemHostGetDevicePointer(CUdeviceptr* pdptr, void* p, unsigned int Flags);
 CUresult cuMemHostGetFlags(unsigned int* pFlags, void* p);
 CUresult cuMemHostRegister(void* p, size_t bytesize, unsigned int Flags);
 CUresult cuMemHostUnregister(void* p);
 CUresult cuMemcpy(CUdeviceptr dst, CUdeviceptr src, size_t ByteCount);
 CUresult cuMemcpy2D(const CUDA_MEMCPY2D* pCopy);
 CUresult cuMemcpy2DAsync(const CUDA_MEMCPY2D* pCopy, CUstream hStream);
 CUresult cuMemcpy2DUnaligned(const CUDA_MEMCPY2D* pCopy);
 CUresult cuMemcpy3D(const CUDA_MEMCPY3D* pCopy);
 CUresult cuMemcpy3DAsync(const CUDA_MEMCPY3D* pCopy, CUstream hStream);
-CUresult cuMemcpy3DBatchAsync(size_t numOps, CUDA_MEMCPY3D_BATCH_OP* opList, unsigned long long flags, CUstream hStream);
-CUresult cuMemcpy3DPeer(const CUDA_MEMCPY3D_PEER* pCopy);
-CUresult cuMemcpy3DPeerAsync(const CUDA_MEMCPY3D_PEER* pCopy, CUstream hStream);
-CUresult cuMemcpy3DWithAttributesAsync(CUDA_MEMCPY3D_BATCH_OP* op, unsigned long long flags, CUstream hStream);
 CUresult cuMemcpyAsync(CUdeviceptr dst, CUdeviceptr src, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyAtoA(CUarray dstArray, size_t dstOffset, CUarray srcArray, size_t srcOffset, size_t ByteCount);
 CUresult cuMemcpyAtoD(CUdeviceptr dstDevice, CUarray srcArray, size_t srcOffset, size_t ByteCount);
 CUresult cuMemcpyAtoH(void* dstHost, CUarray srcArray, size_t srcOffset, size_t ByteCount);
 CUresult cuMemcpyAtoHAsync(void* dstHost, CUarray srcArray, size_t srcOffset, size_t ByteCount, CUstream hStream);
-CUresult cuMemcpyBatchAsync(CUdeviceptr* dsts, CUdeviceptr* srcs, size_t* sizes, size_t count, CUmemcpyAttributes* attrs, size_t* attrsIdxs, size_t numAttrs, CUstream hStream);
 CUresult cuMemcpyDtoA(CUarray dstArray, size_t dstOffset, CUdeviceptr srcDevice, size_t ByteCount);
 CUresult cuMemcpyDtoD(CUdeviceptr dstDevice, CUdeviceptr srcDevice, size_t ByteCount);
 CUresult cuMemcpyDtoDAsync(CUdeviceptr dstDevice, CUdeviceptr srcDevice, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyDtoH(void* dstHost, CUdeviceptr srcDevice, size_t ByteCount);
 CUresult cuMemcpyDtoHAsync(void* dstHost, CUdeviceptr srcDevice, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyHtoA(CUarray dstArray, size_t dstOffset, const void* srcHost, size_t ByteCount);
 CUresult cuMemcpyHtoAAsync(CUarray dstArray, size_t dstOffset, const void* srcHost, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyHtoD(CUdeviceptr dstDevice, const void* srcHost, size_t ByteCount);
 CUresult cuMemcpyHtoDAsync(CUdeviceptr dstDevice, const void* srcHost, size_t ByteCount, CUstream hStream);
 CUresult cuMemcpyPeer(CUdeviceptr dstDevice, CUcontext dstContext, CUdeviceptr srcDevice, CUcontext srcContext, size_t ByteCount);
 CUresult cuMemcpyPeerAsync(CUdeviceptr dstDevice, CUcontext dstContext, CUdeviceptr srcDevice, CUcontext srcContext, size_t ByteCount, CUstream hStream);
-CUresult cuMemcpyWithAttributesAsync(CUdeviceptr dst, CUdeviceptr src, size_t size, CUmemcpyAttributes* attr, CUstream hStream);
 CUresult cuMemsetD16(CUdeviceptr dstDevice, unsigned short us, size_t N);
 CUresult cuMemsetD16Async(CUdeviceptr dstDevice, unsigned short us, size_t N, CUstream hStream);
 CUresult cuMemsetD2D16(CUdeviceptr dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height);
 CUresult cuMemsetD2D16Async(CUdeviceptr dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height, CUstream hStream);
 CUresult cuMemsetD2D32(CUdeviceptr dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height);
 CUresult cuMemsetD2D32Async(CUdeviceptr dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height, CUstream hStream);
 CUresult cuMemsetD2D8(CUdeviceptr dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height);
 CUresult cuMemsetD2D8Async(CUdeviceptr dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height, CUstream hStream);
 CUresult cuMemsetD32(CUdeviceptr dstDevice, unsigned int ui, size_t N);
 CUresult cuMemsetD32Async(CUdeviceptr dstDevice, unsigned int ui, size_t N, CUstream hStream);
 CUresult cuMemsetD8(CUdeviceptr dstDevice, unsigned char uc, size_t N);
 CUresult cuMemsetD8Async(CUdeviceptr dstDevice, unsigned char uc, size_t N, CUstream hStream);
 CUresult cuMipmappedArrayCreate(CUmipmappedArray* pHandle, const CUDA_ARRAY3D_DESCRIPTOR* pMipmappedArrayDesc, unsigned int numMipmapLevels);
 CUresult cuMipmappedArrayDestroy(CUmipmappedArray hMipmappedArray);
 CUresult cuMipmappedArrayGetLevel(CUarray* pLevelArray, CUmipmappedArray hMipmappedArray, unsigned int level);
-CUresult cuMipmappedArrayGetMemoryRequirements(CUDA_ARRAY_MEMORY_REQUIREMENTS* memoryRequirements, CUmipmappedArray mipmap, CUdevice device);
-CUresult cuMipmappedArrayGetSparseProperties(CUDA_ARRAY_SPARSE_PROPERTIES* sparseProperties, CUmipmappedArray mipmap);

6.14. Virtual Memory Management#

 CUresult cuMemAddressFree(CUdeviceptr ptr, size_t size);
 CUresult cuMemAddressReserve(CUdeviceptr* ptr, size_t size, size_t alignment, CUdeviceptr addr, unsigned long long flags);
 CUresult cuMemCreate(CUmemGenericAllocationHandle* handle, size_t size, const CUmemAllocationProp* prop, unsigned long long flags);
 CUresult cuMemExportToShareableHandle(void* shareableHandle, CUmemGenericAllocationHandle handle, CUmemAllocationHandleType handleType, unsigned long long flags);
 CUresult cuMemGetAccess(unsigned long long* flags, const CUmemLocation* location, CUdeviceptr ptr);
 CUresult cuMemGetAllocationGranularity(size_t* granularity, const CUmemAllocationProp* prop, CUmemAllocationGranularity_flags option);
 CUresult cuMemGetAllocationPropertiesFromHandle(CUmemAllocationProp* prop, CUmemGenericAllocationHandle handle);
 CUresult cuMemImportFromShareableHandle(CUmemGenericAllocationHandle* handle, void* osHandle, CUmemAllocationHandleType shHandleType);
 CUresult cuMemMap(CUdeviceptr ptr, size_t size, size_t offset, CUmemGenericAllocationHandle handle, unsigned long long flags);
-CUresult cuMemMapArrayAsync(CUarrayMapInfo* mapInfoList, unsigned int count, CUstream hStream);
 CUresult cuMemRelease(CUmemGenericAllocationHandle handle);
 CUresult cuMemRetainAllocationHandle(CUmemGenericAllocationHandle* handle, void* addr);
 CUresult cuMemSetAccess(CUdeviceptr ptr, size_t size, const CUmemAccessDesc* desc, size_t count);
 CUresult cuMemUnmap(CUdeviceptr ptr, size_t size);

6.15. Stream Ordered Memory Allocator#

 CUresult cuMemAllocAsync(CUdeviceptr* dptr, size_t bytesize, CUstream hStream);
 CUresult cuMemAllocFromPoolAsync(CUdeviceptr* dptr, size_t bytesize, CUmemoryPool pool, CUstream hStream);
 CUresult cuMemFreeAsync(CUdeviceptr dptr, CUstream hStream);
 CUresult cuMemGetDefaultMemPool(CUmemoryPool* pool_out, CUmemLocation* location, CUmemAllocationType type);
-CUresult cuMemGetMemPool(CUmemoryPool* pool, CUmemLocation* location, CUmemAllocationType type);
 CUresult cuMemPoolCreate(CUmemoryPool* pool, const CUmemPoolProps* poolProps);
 CUresult cuMemPoolDestroy(CUmemoryPool pool);
 CUresult cuMemPoolExportPointer(CUmemPoolPtrExportData* shareData_out, CUdeviceptr ptr);
 CUresult cuMemPoolExportToShareableHandle(void* handle_out, CUmemoryPool pool, CUmemAllocationHandleType handleType, unsigned long long flags);
 CUresult cuMemPoolGetAccess(CUmemAccess_flags* flags, CUmemoryPool memPool, CUmemLocation* location);
 CUresult cuMemPoolGetAttribute(CUmemoryPool pool, CUmemPool_attribute attr, void* value);
 CUresult cuMemPoolImportFromShareableHandle(CUmemoryPool* pool_out, void* handle, CUmemAllocationHandleType handleType, unsigned long long flags);
 CUresult cuMemPoolImportPointer(CUdeviceptr* ptr_out, CUmemoryPool pool, CUmemPoolPtrExportData* shareData);
 CUresult cuMemPoolSetAccess(CUmemoryPool pool, const CUmemAccessDesc* map, size_t count);
 CUresult cuMemPoolSetAttribute(CUmemoryPool pool, CUmemPool_attribute attr, void* value);
 CUresult cuMemPoolTrimTo(CUmemoryPool pool, size_t minBytesToKeep);
 CUresult cuMemSetMemPool(CUmemLocation* location, CUmemAllocationType type, CUmemoryPool pool);

6.16. Multicast Object Management#

 CUresult cuMulticastAddDevice(CUmemGenericAllocationHandle mcHandle, CUdevice dev);
 CUresult cuMulticastBindAddr(CUmemGenericAllocationHandle mcHandle, size_t mcOffset, CUdeviceptr memptr, size_t size, unsigned long long flags);
-CUresult cuMulticastBindAddr_v2(CUmemGenericAllocationHandle mcHandle, CUdevice dev, size_t mcOffset, CUdeviceptr memptr, size_t size, unsigned long long flags);
 CUresult cuMulticastBindMem(CUmemGenericAllocationHandle mcHandle, size_t mcOffset, CUmemGenericAllocationHandle memHandle, size_t memOffset, size_t size, unsigned long long flags);
-CUresult cuMulticastBindMem_v2(CUmemGenericAllocationHandle mcHandle, CUdevice dev, size_t mcOffset, CUmemGenericAllocationHandle memHandle, size_t memOffset, size_t size, unsigned long long flags);
 CUresult cuMulticastCreate(CUmemGenericAllocationHandle* mcHandle, const CUmulticastObjectProp* prop);
 CUresult cuMulticastGetGranularity(size_t* granularity, const CUmulticastObjectProp* prop, CUmulticastGranularity_flags option);
 CUresult cuMulticastUnbind(CUmemGenericAllocationHandle mcHandle, CUdevice dev, size_t mcOffset, size_t size);

6.17. Logical Endpoint#

-enum CUlogicalEndpointFlag
-enum CUlogicalEndpointIpcHandleType
-enum CUlogicalEndpointType
-struct CUlogicalEndpointFabricHandle
struct CUlogicalEndpointProp
-typedef cuuint32_t CUlogicalEndpointId;
-CUresult cuLogicalEndpointAddDevice(CUlogicalEndpointId leId, CUdevice dev);
-CUresult cuLogicalEndpointBindAddr(CUlogicalEndpointId leId, CUdevice dev, cuuint64_t offset, void* ptr, cuuint64_t size, unsigned long long flags);
-CUresult cuLogicalEndpointBindMem(CUlogicalEndpointId leId, CUdevice dev, cuuint64_t offset, CUmemGenericAllocationHandle memHandle, cuuint64_t memOffset, cuuint64_t size, unsigned long long flags);
-CUresult cuLogicalEndpointCreate(CUlogicalEndpointId leId, const CUlogicalEndpointProp* prop);
-CUresult cuLogicalEndpointDestroy(CUlogicalEndpointId leId);
-CUresult cuLogicalEndpointExport(void* handle, CUlogicalEndpointId leId, CUlogicalEndpointIpcHandleType handleType);
-CUresult cuLogicalEndpointGetLimits(cuuint64_t* bindAlignment, cuuint64_t* maxSize, const CUlogicalEndpointProp* prop);
-CUresult cuLogicalEndpointIdRelease(CUlogicalEndpointId baseLeId, cuuint32_t count);
-CUresult cuLogicalEndpointIdReserve(CUlogicalEndpointId* baseLeId, cuuint32_t count);
-CUresult cuLogicalEndpointImport(CUlogicalEndpointId leId, const void* handle, CUlogicalEndpointIpcHandleType handleType);
-CUresult cuLogicalEndpointQuery(CUlogicalEndpointId leId, cuuint32_t count, int* queryStatus);
-CUresult cuLogicalEndpointUnbind(CUlogicalEndpointId leId, CUdevice dev, cuuint64_t offset, cuuint64_t size);

6.18. Unified Addressing#

 CUresult cuMemAdvise(CUdeviceptr devPtr, size_t count, CUmem_advise advice, CUmemLocation location);
 CUresult cuMemDiscardAndPrefetchBatchAsync(CUdeviceptr* dptrs, size_t* sizes, size_t count, CUmemLocation* prefetchLocs, size_t* prefetchLocIdxs, size_t numPrefetchLocs, unsigned long long flags, CUstream hStream);
 CUresult cuMemDiscardBatchAsync(CUdeviceptr* dptrs, size_t* sizes, size_t count, unsigned long long flags, CUstream hStream);
 CUresult cuMemPrefetchAsync(CUdeviceptr devPtr, size_t count, CUmemLocation location, unsigned int flags, CUstream hStream);
 CUresult cuMemPrefetchBatchAsync(CUdeviceptr* dptrs, size_t* sizes, size_t count, CUmemLocation* prefetchLocs, size_t* prefetchLocIdxs, size_t numPrefetchLocs, unsigned long long flags, CUstream hStream);
 CUresult cuMemRangeGetAttribute(void* data, size_t dataSize, CUmem_range_attribute attribute, CUdeviceptr devPtr, size_t count);
 CUresult cuMemRangeGetAttributes(void** data, size_t* dataSizes, CUmem_range_attribute* attributes, size_t numAttributes, CUdeviceptr devPtr, size_t count);
 CUresult cuPointerGetAttribute(void* data, CUpointer_attribute attribute, CUdeviceptr ptr);
 CUresult cuPointerGetAttributes(unsigned int numAttributes, CUpointer_attribute* attributes, void** data, CUdeviceptr ptr);
 CUresult cuPointerSetAttribute(const void* value, CUpointer_attribute attribute, CUdeviceptr ptr);

6.19. Stream Management#

-typedef CUresult* (*CUgraphRecaptureCallback)(void* data, CUgraphNode node, const CUgraphNodeParams* originalParams, const CUgraphNodeParams* recaptureParams, CUgraphRecaptureStatus status);
 CUresult cuStreamAddCallback(CUstream hStream, CUstreamCallback callback, void* userData, unsigned int flags);
 CUresult cuStreamAttachMemAsync(CUstream hStream, CUdeviceptr dptr, size_t length, unsigned int flags);
 CUresult cuStreamBeginCapture(CUstream hStream, CUstreamCaptureMode mode);
-CUresult cuStreamBeginCaptureToCig(CUstream hStream, CUstreamCigCaptureParams* streamCigCaptureParams);
 CUresult cuStreamBeginCaptureToGraph(CUstream hStream, CUgraph hGraph, const CUgraphNode* dependencies, const CUgraphEdgeData* dependencyData, size_t numDependencies, CUstreamCaptureMode mode);
-CUresult cuStreamBeginRecaptureToGraph(CUstream hStream, CUstreamCaptureMode mode, CUgraph hGraph, CUgraphRecaptureCallback callbackFunc, void* userData);
 CUresult cuStreamCopyAttributes(CUstream dst, CUstream src);
 CUresult cuStreamCreate(CUstream* phStream, unsigned int Flags);
 CUresult cuStreamCreateWithPriority(CUstream* phStream, unsigned int flags, int priority);
 CUresult cuStreamDestroy(CUstream hStream);
 CUresult cuStreamEndCapture(CUstream hStream, CUgraph* phGraph);
-CUresult cuStreamEndCaptureToCig(CUstream hStream);
 CUresult cuStreamGetAttribute(CUstream hStream, CUstreamAttrID attr, CUstreamAttrValue* value_out);
 CUresult cuStreamGetCaptureInfo(CUstream hStream, CUstreamCaptureStatus* captureStatus_out, cuuint64_t* id_out, CUgraph* graph_out, const CUgraphNode** dependencies_out, const CUgraphEdgeData** edgeData_out, size_t* numDependencies_out);
 CUresult cuStreamGetCtx(CUstream hStream, CUcontext* pctx);
 CUresult cuStreamGetCtx_v2(CUstream hStream, CUcontext* pCtx, CUgreenCtx* pGreenCtx);
 CUresult cuStreamGetDevice(CUstream hStream, CUdevice* device);
 CUresult cuStreamGetFlags(CUstream hStream, unsigned int* flags);
 CUresult cuStreamGetId(CUstream hStream, unsigned long long* streamId);
 CUresult cuStreamGetPriority(CUstream hStream, int* priority);
 CUresult cuStreamIsCapturing(CUstream hStream, CUstreamCaptureStatus* captureStatus);
 CUresult cuStreamQuery(CUstream hStream);
 CUresult cuStreamSetAttribute(CUstream hStream, CUstreamAttrID attr, const CUstreamAttrValue* value);
 CUresult cuStreamSynchronize(CUstream hStream);
 CUresult cuStreamUpdateCaptureDependencies(CUstream hStream, CUgraphNode* dependencies, const CUgraphEdgeData* dependencyData, size_t numDependencies, unsigned int flags);
 CUresult cuStreamWaitEvent(CUstream hStream, CUevent hEvent, unsigned int Flags);
 CUresult cuThreadExchangeStreamCaptureMode(CUstreamCaptureMode* mode);

6.20. Event Management#

 CUresult cuEventCreate(CUevent* phEvent, unsigned int Flags);
 CUresult cuEventDestroy(CUevent hEvent);
 CUresult cuEventElapsedTime(float* pMilliseconds, CUevent hStart, CUevent hEnd);
 CUresult cuEventQuery(CUevent hEvent);
 CUresult cuEventRecord(CUevent hEvent, CUstream hStream);
 CUresult cuEventRecordWithFlags(CUevent hEvent, CUstream hStream, unsigned int flags);
 CUresult cuEventSynchronize(CUevent hEvent);

6.21. External Resource Interoperability#

-CUresult cuDestroyExternalMemory(CUexternalMemory extMem);
-CUresult cuDestroyExternalSemaphore(CUexternalSemaphore extSem);
-CUresult cuExternalMemoryGetMappedBuffer(CUdeviceptr* devPtr, CUexternalMemory extMem, const CUDA_EXTERNAL_MEMORY_BUFFER_DESC* bufferDesc);
-CUresult cuExternalMemoryGetMappedMipmappedArray(CUmipmappedArray* mipmap, CUexternalMemory extMem, const CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC* mipmapDesc);
-CUresult cuImportExternalMemory(CUexternalMemory* extMem_out, const CUDA_EXTERNAL_MEMORY_HANDLE_DESC* memHandleDesc);
-CUresult cuImportExternalSemaphore(CUexternalSemaphore* extSem_out, const CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC* semHandleDesc);
-CUresult cuSignalExternalSemaphoresAsync(const CUexternalSemaphore* extSemArray, const CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS* paramsArray, unsigned int numExtSems, CUstream stream);
-CUresult cuWaitExternalSemaphoresAsync(const CUexternalSemaphore* extSemArray, const CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS* paramsArray, unsigned int numExtSems, CUstream stream);

6.22. Stream Memory Operations#

-CUresult cuStreamBatchMemOp(CUstream stream, unsigned int count, CUstreamBatchMemOpParams* paramArray, unsigned int flags);
-CUresult cuStreamWaitValue32(CUstream stream, CUdeviceptr addr, cuuint32_t value, unsigned int flags);
-CUresult cuStreamWaitValue64(CUstream stream, CUdeviceptr addr, cuuint64_t value, unsigned int flags);
 CUresult cuStreamWriteValue32(CUstream stream, CUdeviceptr addr, cuuint32_t value, unsigned int flags);
-CUresult cuStreamWriteValue64(CUstream stream, CUdeviceptr addr, cuuint64_t value, unsigned int flags);

6.23. Execution Control#

 CUresult cuFuncGetAttribute(int* pi, CUfunction_attribute attrib, CUfunction hfunc);
 CUresult cuFuncGetModule(CUmodule* hmod, CUfunction hfunc);
 CUresult cuFuncGetName(const char** name, CUfunction hfunc);
-CUresult cuFuncGetParamCount(CUfunction func, size_t* paramCount);
 CUresult cuFuncGetParamInfo(CUfunction func, size_t paramIndex, size_t* paramOffset, size_t* paramSize);
 CUresult cuFuncIsLoaded(CUfunctionLoadingState* state, CUfunction function);
 CUresult cuFuncLoad(CUfunction function);
 CUresult cuFuncSetAttribute(CUfunction hfunc, CUfunction_attribute attrib, int value);
 CUresult cuFuncSetCacheConfig(CUfunction hfunc, CUfunc_cache config);
 CUresult 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);
 CUresult cuLaunchHostFunc(CUstream hStream, CUhostFn fn, void* userData);
-CUresult cuLaunchHostFunc_v2(CUstream hStream, CUhostFn fn, void* userData, unsigned int syncMode);
 CUresult 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);
 CUresult cuLaunchKernelEx(const CUlaunchConfig* config, CUfunction f, void** kernelParams, void** extra);

6.24. Execution Control [DEPRECATED]#

 CUresult cuFuncSetBlockShape(CUfunction hfunc, int x, int y, int z);
 CUresult cuFuncSetSharedMemConfig(CUfunction hfunc, CUsharedconfig config);
 CUresult cuFuncSetSharedSize(CUfunction hfunc, unsigned int bytes);
 CUresult cuLaunch(CUfunction f);
-CUresult cuLaunchCooperativeKernelMultiDevice(CUDA_LAUNCH_PARAMS* launchParamsList, unsigned int numDevices, unsigned int flags);
 CUresult cuLaunchGrid(CUfunction f, int grid_width, int grid_height);
 CUresult cuLaunchGridAsync(CUfunction f, int grid_width, int grid_height, CUstream hStream);
 CUresult cuParamSetSize(CUfunction hfunc, unsigned int numbytes);
-CUresult cuParamSetTexRef(CUfunction hfunc, int texunit, CUtexref hTexRef);
 CUresult cuParamSetf(CUfunction hfunc, int offset, float value);
 CUresult cuParamSeti(CUfunction hfunc, int offset, unsigned int value);
 CUresult cuParamSetv(CUfunction hfunc, int offset, void* ptr, unsigned int numbytes);

6.25. Graph Management#

-CUresult cuDeviceGetGraphMemAttribute(CUdevice device, CUgraphMem_attribute attr, void* value);
-CUresult cuDeviceGraphMemTrim(CUdevice device);
-CUresult cuDeviceSetGraphMemAttribute(CUdevice device, CUgraphMem_attribute attr, void* value);
-CUresult cuGraphAddBatchMemOpNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, const CUDA_BATCH_MEM_OP_NODE_PARAMS* nodeParams);
 CUresult cuGraphAddChildGraphNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, CUgraph childGraph);
 CUresult cuGraphAddDependencies(CUgraph hGraph, const CUgraphNode* from, const CUgraphNode* to, const CUgraphEdgeData* edgeData, size_t numDependencies);
 CUresult cuGraphAddEmptyNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies);
 CUresult cuGraphAddEventRecordNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, CUevent event);
 CUresult cuGraphAddEventWaitNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, CUevent event);
-CUresult cuGraphAddExternalSemaphoresSignalNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, const CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* nodeParams);
-CUresult cuGraphAddExternalSemaphoresWaitNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, const CUDA_EXT_SEM_WAIT_NODE_PARAMS* nodeParams);
 CUresult cuGraphAddHostNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, const CUDA_HOST_NODE_PARAMS* nodeParams);
-CUresult cuGraphAddKernelNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, const CUDA_KERNEL_NODE_PARAMS* nodeParams);
 CUresult cuGraphAddMemAllocNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, CUDA_MEM_ALLOC_NODE_PARAMS* nodeParams);
 CUresult cuGraphAddMemFreeNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, CUdeviceptr dptr);
-CUresult cuGraphAddMemcpyNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, const CUDA_MEMCPY3D* copyParams, CUcontext ctx);
 CUresult cuGraphAddMemsetNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, const CUDA_MEMSET_NODE_PARAMS* memsetParams, CUcontext ctx);
-CUresult cuGraphAddNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, const CUgraphEdgeData* dependencyData, size_t numDependencies, CUgraphNodeParams* nodeParams);
-CUresult cuGraphBatchMemOpNodeGetParams(CUgraphNode hNode, CUDA_BATCH_MEM_OP_NODE_PARAMS* nodeParams_out);
-CUresult cuGraphBatchMemOpNodeSetParams(CUgraphNode hNode, const CUDA_BATCH_MEM_OP_NODE_PARAMS* nodeParams);
 CUresult cuGraphChildGraphNodeGetGraph(CUgraphNode hNode, CUgraph* phGraph);
 CUresult cuGraphClone(CUgraph* phGraphClone, CUgraph originalGraph);
-CUresult cuGraphConditionalHandleCreate(CUgraphConditionalHandle* pHandle_out, CUgraph hGraph, CUcontext ctx, unsigned int defaultLaunchValue, unsigned int flags);
 CUresult cuGraphCreate(CUgraph* phGraph, unsigned int flags);
 CUresult cuGraphDebugDotPrint(CUgraph hGraph, const char* path, unsigned int flags);
 CUresult cuGraphDestroy(CUgraph hGraph);
 CUresult cuGraphDestroyNode(CUgraphNode hNode);
 CUresult cuGraphEventRecordNodeGetEvent(CUgraphNode hNode, CUevent* event_out);
 CUresult cuGraphEventRecordNodeSetEvent(CUgraphNode hNode, CUevent event);
 CUresult cuGraphEventWaitNodeGetEvent(CUgraphNode hNode, CUevent* event_out);
 CUresult cuGraphEventWaitNodeSetEvent(CUgraphNode hNode, CUevent event);
-CUresult cuGraphExecBatchMemOpNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, const CUDA_BATCH_MEM_OP_NODE_PARAMS* nodeParams);
 CUresult cuGraphExecChildGraphNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, CUgraph childGraph);
 CUresult cuGraphExecDestroy(CUgraphExec hGraphExec);
 CUresult cuGraphExecEventRecordNodeSetEvent(CUgraphExec hGraphExec, CUgraphNode hNode, CUevent event);
 CUresult cuGraphExecEventWaitNodeSetEvent(CUgraphExec hGraphExec, CUgraphNode hNode, CUevent event);
-CUresult cuGraphExecExternalSemaphoresSignalNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, const CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* nodeParams);
-CUresult cuGraphExecExternalSemaphoresWaitNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, const CUDA_EXT_SEM_WAIT_NODE_PARAMS* nodeParams);
 CUresult cuGraphExecGetFlags(CUgraphExec hGraphExec, cuuint64_t* flags);
-CUresult cuGraphExecGetId(CUgraphExec hGraphExec, unsigned int* graphId);
 CUresult cuGraphExecHostNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, const CUDA_HOST_NODE_PARAMS* nodeParams);
-CUresult cuGraphExecKernelNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, const CUDA_KERNEL_NODE_PARAMS* nodeParams);
-CUresult cuGraphExecMemcpyNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, const CUDA_MEMCPY3D* copyParams, CUcontext ctx);
-CUresult cuGraphExecMemsetNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, const CUDA_MEMSET_NODE_PARAMS* memsetParams, CUcontext ctx);
-CUresult cuGraphExecNodeSetParams(CUgraphExec hGraphExec, CUgraphNode hNode, CUgraphNodeParams* nodeParams);
 CUresult cuGraphExecUpdate(CUgraphExec hGraphExec, CUgraph hGraph, CUgraphExecUpdateResultInfo* resultInfo);
-CUresult cuGraphExternalSemaphoresSignalNodeGetParams(CUgraphNode hNode, CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* params_out);
-CUresult cuGraphExternalSemaphoresSignalNodeSetParams(CUgraphNode hNode, const CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* nodeParams);
-CUresult cuGraphExternalSemaphoresWaitNodeGetParams(CUgraphNode hNode, CUDA_EXT_SEM_WAIT_NODE_PARAMS* params_out);
-CUresult cuGraphExternalSemaphoresWaitNodeSetParams(CUgraphNode hNode, const CUDA_EXT_SEM_WAIT_NODE_PARAMS* nodeParams);
 CUresult cuGraphGetEdges(CUgraph hGraph, CUgraphNode* from, CUgraphNode* to, CUgraphEdgeData* edgeData, size_t* numEdges);
 CUresult cuGraphGetId(CUgraph hGraph, unsigned int* graphId);
 CUresult cuGraphGetNodes(CUgraph hGraph, CUgraphNode* nodes, size_t* numNodes);
 CUresult cuGraphGetRootNodes(CUgraph hGraph, CUgraphNode* rootNodes, size_t* numRootNodes);
 CUresult cuGraphHostNodeGetParams(CUgraphNode hNode, CUDA_HOST_NODE_PARAMS* nodeParams);
 CUresult cuGraphHostNodeSetParams(CUgraphNode hNode, const CUDA_HOST_NODE_PARAMS* nodeParams);
 CUresult cuGraphInstantiate(CUgraphExec* phGraphExec, CUgraph hGraph, unsigned long long flags);
 CUresult cuGraphInstantiateWithParams(CUgraphExec* phGraphExec, CUgraph hGraph, CUDA_GRAPH_INSTANTIATE_PARAMS* instantiateParams);
 CUresult cuGraphKernelNodeCopyAttributes(CUgraphNode dst, CUgraphNode src);
 CUresult cuGraphKernelNodeGetAttribute(CUgraphNode hNode, CUkernelNodeAttrID attr, CUkernelNodeAttrValue* value_out);
-CUresult cuGraphKernelNodeGetParams(CUgraphNode hNode, CUDA_KERNEL_NODE_PARAMS* nodeParams);
 CUresult cuGraphKernelNodeSetAttribute(CUgraphNode hNode, CUkernelNodeAttrID attr, const CUkernelNodeAttrValue* value);
-CUresult cuGraphKernelNodeSetParams(CUgraphNode hNode, const CUDA_KERNEL_NODE_PARAMS* nodeParams);
 CUresult cuGraphLaunch(CUgraphExec hGraphExec, CUstream hStream);
 CUresult cuGraphMemAllocNodeGetParams(CUgraphNode hNode, CUDA_MEM_ALLOC_NODE_PARAMS* params_out);
 CUresult cuGraphMemFreeNodeGetParams(CUgraphNode hNode, CUdeviceptr* dptr_out);
-CUresult cuGraphMemcpyNodeGetParams(CUgraphNode hNode, CUDA_MEMCPY3D* nodeParams);
-CUresult cuGraphMemcpyNodeSetParams(CUgraphNode hNode, const CUDA_MEMCPY3D* nodeParams);
 CUresult cuGraphMemsetNodeGetParams(CUgraphNode hNode, CUDA_MEMSET_NODE_PARAMS* nodeParams);
 CUresult cuGraphMemsetNodeSetParams(CUgraphNode hNode, const CUDA_MEMSET_NODE_PARAMS* nodeParams);
 CUresult cuGraphNodeFindInClone(CUgraphNode* phNode, CUgraphNode hOriginalNode, CUgraph hClonedGraph);
-CUresult cuGraphNodeGetContainingGraph(CUgraphNode hNode, CUgraph* phGraph);
 CUresult cuGraphNodeGetDependencies(CUgraphNode hNode, CUgraphNode* dependencies, CUgraphEdgeData* edgeData, size_t* numDependencies);
 CUresult cuGraphNodeGetDependentNodes(CUgraphNode hNode, CUgraphNode* dependentNodes, CUgraphEdgeData* edgeData, size_t* numDependentNodes);
 CUresult cuGraphNodeGetEnabled(CUgraphExec hGraphExec, CUgraphNode hNode, unsigned int* isEnabled);
 CUresult cuGraphNodeGetLocalId(CUgraphNode hNode, unsigned int* nodeId);
-CUresult cuGraphNodeGetParams(CUgraphNode hNode, CUgraphNodeParams* nodeParams);
 CUresult cuGraphNodeGetToolsId(CUgraphNode hNode, unsigned long long* toolsNodeId);
 CUresult cuGraphNodeGetType(CUgraphNode hNode, CUgraphNodeType* type);
 CUresult cuGraphNodeSetEnabled(CUgraphExec hGraphExec, CUgraphNode hNode, unsigned int isEnabled);
-CUresult cuGraphNodeSetParams(CUgraphNode hNode, CUgraphNodeParams* nodeParams);
 CUresult cuGraphReleaseUserObject(CUgraph graph, CUuserObject object, unsigned int count);
 CUresult cuGraphRemoveDependencies(CUgraph hGraph, const CUgraphNode* from, const CUgraphNode* to, const CUgraphEdgeData* edgeData, size_t numDependencies);
 CUresult cuGraphRetainUserObject(CUgraph graph, CUuserObject object, unsigned int count, unsigned int flags);
 CUresult cuGraphUpload(CUgraphExec hGraphExec, CUstream hStream);
 CUresult cuUserObjectCreate(CUuserObject* object_out, void* ptr, CUhostFn destroy, unsigned int initialRefcount, unsigned int flags);
 CUresult cuUserObjectRelease(CUuserObject object, unsigned int count);
 CUresult cuUserObjectRetain(CUuserObject object, unsigned int count);

6.26. Occupancy#

 CUresult cuOccupancyAvailableDynamicSMemPerBlock(size_t* dynamicSmemSize, CUfunction func, int numBlocks, int blockSize);
 CUresult cuOccupancyMaxActiveBlocksPerMultiprocessor(int* numBlocks, CUfunction func, int blockSize, size_t dynamicSMemSize);
 CUresult cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int* numBlocks, CUfunction func, int blockSize, size_t dynamicSMemSize, unsigned int flags);
-CUresult cuOccupancyMaxActiveClusters(int* numClusters, CUfunction func, const CUlaunchConfig* config);
 CUresult cuOccupancyMaxPotentialBlockSize(int* minGridSize, int* blockSize, CUfunction func, CUoccupancyB2DSize blockSizeToDynamicSMemSize, size_t dynamicSMemSize, int blockSizeLimit);
 CUresult cuOccupancyMaxPotentialBlockSizeWithFlags(int* minGridSize, int* blockSize, CUfunction func, CUoccupancyB2DSize blockSizeToDynamicSMemSize, size_t dynamicSMemSize, int blockSizeLimit, unsigned int flags);
-CUresult cuOccupancyMaxPotentialClusterSize(int* clusterSize, CUfunction func, const CUlaunchConfig* config);

6.27. Texture Reference Management [DEPRECATED]#

 CUresult cuTexRefCreate(CUtexref* pTexRef);
 CUresult cuTexRefDestroy(CUtexref hTexRef);
 CUresult cuTexRefGetAddress(CUdeviceptr* pdptr, CUtexref hTexRef);
 CUresult cuTexRefGetAddressMode(CUaddress_mode* pam, CUtexref hTexRef, int dim);
 CUresult cuTexRefGetArray(CUarray* phArray, CUtexref hTexRef);
-CUresult cuTexRefGetBorderColor(float* pBorderColor, CUtexref hTexRef);
 CUresult cuTexRefGetFilterMode(CUfilter_mode* pfm, CUtexref hTexRef);
-CUresult cuTexRefGetFlags(unsigned int* pFlags, CUtexref hTexRef);
-CUresult cuTexRefGetFormat(CUarray_format* pFormat, int* pNumChannels, CUtexref hTexRef);
-CUresult cuTexRefGetMaxAnisotropy(int* pmaxAniso, CUtexref hTexRef);
-CUresult cuTexRefGetMipmapFilterMode(CUfilter_mode* pfm, CUtexref hTexRef);
-CUresult cuTexRefGetMipmapLevelBias(float* pbias, CUtexref hTexRef);
-CUresult cuTexRefGetMipmapLevelClamp(float* pminMipmapLevelClamp, float* pmaxMipmapLevelClamp, CUtexref hTexRef);
-CUresult cuTexRefGetMipmappedArray(CUmipmappedArray* phMipmappedArray, CUtexref hTexRef);
-CUresult cuTexRefSetAddress(size_t* ByteOffset, CUtexref hTexRef, CUdeviceptr dptr, size_t bytes);
-CUresult cuTexRefSetAddress2D(CUtexref hTexRef, const CUDA_ARRAY_DESCRIPTOR* desc, CUdeviceptr dptr, size_t Pitch);
-CUresult cuTexRefSetAddressMode(CUtexref hTexRef, int dim, CUaddress_mode am);
-CUresult cuTexRefSetArray(CUtexref hTexRef, CUarray hArray, unsigned int Flags);
-CUresult cuTexRefSetBorderColor(CUtexref hTexRef, float* pBorderColor);
-CUresult cuTexRefSetFilterMode(CUtexref hTexRef, CUfilter_mode fm);
-CUresult cuTexRefSetFlags(CUtexref hTexRef, unsigned int Flags);
-CUresult cuTexRefSetFormat(CUtexref hTexRef, CUarray_format fmt, int NumPackedComponents);
-CUresult cuTexRefSetMaxAnisotropy(CUtexref hTexRef, unsigned int maxAniso);
-CUresult cuTexRefSetMipmapFilterMode(CUtexref hTexRef, CUfilter_mode fm);
-CUresult cuTexRefSetMipmapLevelBias(CUtexref hTexRef, float bias);
-CUresult cuTexRefSetMipmapLevelClamp(CUtexref hTexRef, float minMipmapLevelClamp, float maxMipmapLevelClamp);
-CUresult cuTexRefSetMipmappedArray(CUtexref hTexRef, CUmipmappedArray hMipmappedArray, unsigned int Flags);

6.28. Surface Reference Management [DEPRECATED]#

-CUresult cuSurfRefGetArray(CUarray* phArray, CUsurfref hSurfRef);
-CUresult cuSurfRefSetArray(CUsurfref hSurfRef, CUarray hArray, unsigned int Flags);

6.29. Texture Object Management#

 CUresult cuTexObjectCreate(CUtexObject* pTexObject, const CUDA_RESOURCE_DESC* pResDesc, const CUDA_TEXTURE_DESC* pTexDesc, const CUDA_RESOURCE_VIEW_DESC* pResViewDesc);
 CUresult cuTexObjectDestroy(CUtexObject texObject);
 CUresult cuTexObjectGetResourceDesc(CUDA_RESOURCE_DESC* pResDesc, CUtexObject texObject);
 CUresult cuTexObjectGetResourceViewDesc(CUDA_RESOURCE_VIEW_DESC* pResViewDesc, CUtexObject texObject);
 CUresult cuTexObjectGetTextureDesc(CUDA_TEXTURE_DESC* pTexDesc, CUtexObject texObject);

6.30. Surface Object Management#

 CUresult cuSurfObjectCreate(CUsurfObject* pSurfObject, const CUDA_RESOURCE_DESC* pResDesc);
 CUresult cuSurfObjectDestroy(CUsurfObject surfObject);
 CUresult cuSurfObjectGetResourceDesc(CUDA_RESOURCE_DESC* pResDesc, CUsurfObject surfObject);

6.31. Tensor Map Object Managment#

 CUresult cuTensorMapEncodeIm2col(CUtensorMap* tensorMap, CUtensorMapDataType tensorDataType, cuuint32_t tensorRank, void* globalAddress, const cuuint64_t* globalDim, const cuuint64_t* globalStrides, const int* pixelBoxLowerCorner, const int* pixelBoxUpperCorner, cuuint32_t channelsPerPixel, cuuint32_t pixelsPerColumn, const cuuint32_t* elementStrides, CUtensorMapInterleave interleave, CUtensorMapSwizzle swizzle, CUtensorMapL2promotion l2Promotion, CUtensorMapFloatOOBfill oobFill);
 CUresult cuTensorMapEncodeIm2colWide(CUtensorMap* tensorMap, CUtensorMapDataType tensorDataType, cuuint32_t tensorRank, void* globalAddress, const cuuint64_t* globalDim, const cuuint64_t* globalStrides, int pixelBoxLowerCornerWidth, int pixelBoxUpperCornerWidth, cuuint32_t channelsPerPixel, cuuint32_t pixelsPerColumn, const cuuint32_t* elementStrides, CUtensorMapInterleave interleave, CUtensorMapIm2ColWideMode mode, CUtensorMapSwizzle swizzle, CUtensorMapL2promotion l2Promotion, CUtensorMapFloatOOBfill oobFill);
 CUresult cuTensorMapEncodeTiled(CUtensorMap* tensorMap, CUtensorMapDataType tensorDataType, cuuint32_t tensorRank, void* globalAddress, const cuuint64_t* globalDim, const cuuint64_t* globalStrides, const cuuint32_t* boxDim, const cuuint32_t* elementStrides, CUtensorMapInterleave interleave, CUtensorMapSwizzle swizzle, CUtensorMapL2promotion l2Promotion, CUtensorMapFloatOOBfill oobFill);
 CUresult cuTensorMapReplaceAddress(CUtensorMap* tensorMap, void* globalAddress);

6.32. Peer Context Memory Access#

 CUresult cuCtxDisablePeerAccess(CUcontext peerContext);
 CUresult cuCtxEnablePeerAccess(CUcontext peerContext, unsigned int Flags);
 CUresult cuDeviceCanAccessPeer(int* canAccessPeer, CUdevice dev, CUdevice peerDev);
-CUresult cuDeviceGetP2PAtomicCapabilities(unsigned int* capabilities, const CUatomicOperation ** operations, unsigned int count, CUdevice srcDevice, CUdevice dstDevice);
 CUresult cuDeviceGetP2PAttribute(int* value, CUdevice_P2PAttribute attrib, CUdevice srcDevice, CUdevice dstDevice);

6.33. Graphics Interoperability#

 CUresult cuGraphicsMapResources(unsigned int count, CUgraphicsResource* resources, CUstream hStream);
-CUresult cuGraphicsResourceGetMappedMipmappedArray(CUmipmappedArray* pMipmappedArray, CUgraphicsResource resource);
 CUresult cuGraphicsResourceGetMappedPointer(CUdeviceptr* pDevPtr, size_t* pSize, CUgraphicsResource resource);
 CUresult cuGraphicsResourceSetMapFlags(CUgraphicsResource resource, unsigned int flags);
 CUresult cuGraphicsSubResourceGetMappedArray(CUarray* pArray, CUgraphicsResource resource, unsigned int arrayIndex, unsigned int mipLevel);
 CUresult cuGraphicsUnmapResources(unsigned int count, CUgraphicsResource* resources, CUstream hStream);
 CUresult cuGraphicsUnregisterResource(CUgraphicsResource resource);

6.34. Driver Entry Point Access#

 CUresult cuGetProcAddress(const char* symbol, void** pfn, int cudaVersion, cuuint64_t flags, CUdriverProcAddressQueryResult* symbolStatus);

6.35. Coredump Attributes Control API#

-enum CUCoredumpGenerationFlags
-enum CUcoredumpSettings
-typedef CUcoredumpCallbackEntry_st * CUcoredumpCallbackHandle;
-typedef void(* CUcoredumpStatusCallback)(void* userData, int pid, CUdevice dev);
-CUresult cuCoredumpDeregisterCompleteCallback(CUcoredumpCallbackHandle callback);
-CUresult cuCoredumpDeregisterStartCallback(CUcoredumpCallbackHandle callback);
-CUresult cuCoredumpGetAttribute(CUcoredumpSettings attrib, void* value, size_t* size);
-CUresult cuCoredumpGetAttributeGlobal(CUcoredumpSettings attrib, void* value, size_t* size);
-CUresult cuCoredumpRegisterCompleteCallback(CUcoredumpStatusCallback callback, void* userData, CUcoredumpCallbackHandle* callbackOut);
-CUresult cuCoredumpRegisterStartCallback(CUcoredumpStatusCallback callback, void* userData, CUcoredumpCallbackHandle* callbackOut);
-CUresult cuCoredumpSetAttribute(CUcoredumpSettings attrib, void* value, size_t* size);
-CUresult cuCoredumpSetAttributeGlobal(CUcoredumpSettings attrib, void* value, size_t* size);

6.36. Green Contexts#

 enum CUdevResourceType
     CU_DEV_RESOURCE_TYPE_INVALID = 0
     CU_DEV_RESOURCE_TYPE_SM = 1
     CU_DEV_RESOURCE_TYPE_WORKQUEUE_CONFIG = 1000
     CU_DEV_RESOURCE_TYPE_WORKQUEUE = 10000
-enum CUdevSmResourceGroup_flags
 enum CUdevWorkqueueConfigScope
     CU_WORKQUEUE_SCOPE_DEVICE_CTX = 0
     CU_WORKQUEUE_SCOPE_GREEN_CTX_BALANCED = 1
-enum CUgreenCtxCreate_flags
struct CU_DEV_SM_RESOURCE_GROUP_PARAMS
struct CUdevResource
 struct CUdevSmResource
     flags
     minSmPartitionSize
     smCoscheduledAlignment
     smCount
 struct CUdevWorkqueueConfigResource
     device
     sharingScope
     wqConcurrencyLimit
 struct CUdevWorkqueueResource
     reserved
 typedef CUdevResourceDesc_st * CUdevResourceDesc;
 CUresult cuCtxFromGreenCtx(CUcontext* pContext, CUgreenCtx hCtx);
 CUresult cuCtxGetDevResource(CUcontext hCtx, CUdevResource* resource, CUdevResourceType type);
 CUresult cuDevResourceGenerateDesc(CUdevResourceDesc* phDesc, CUdevResource* resources, unsigned int nbResources);
-CUresult cuDevSmResourceSplit(CUdevResource* result, unsigned int nbGroups, const CUdevResource* input, CUdevResource* remainder, unsigned int flags, CU_DEV_SM_RESOURCE_GROUP_PARAMS* groupParams);
 CUresult cuDevSmResourceSplitByCount(CUdevResource* result, unsigned int* nbGroups, const CUdevResource* input, CUdevResource* remainder, unsigned int flags, unsigned int minCount);
 CUresult cuDeviceGetDevResource(CUdevice device, CUdevResource* resource, CUdevResourceType type);
 CUresult cuGreenCtxCreate(CUgreenCtx* phCtx, CUdevResourceDesc desc, CUdevice dev, unsigned int flags);
 CUresult cuGreenCtxDestroy(CUgreenCtx hCtx);
 CUresult cuGreenCtxGetDevResource(CUgreenCtx hCtx, CUdevResource* resource, CUdevResourceType type);
 CUresult cuGreenCtxGetId(CUgreenCtx greenCtx, unsigned long long* greenCtxId);
 CUresult cuGreenCtxRecordEvent(CUgreenCtx hCtx, CUevent hEvent);
 CUresult cuGreenCtxStreamCreate(CUstream* phStream, CUgreenCtx greenCtx, unsigned int flags, int priority);
 CUresult cuGreenCtxWaitEvent(CUgreenCtx hCtx, CUevent hEvent);
 CUresult cuStreamGetDevResource(CUstream hStream, CUdevResource* resource, CUdevResourceType type);
 CUresult cuStreamGetGreenCtx(CUstream hStream, CUgreenCtx* phCtx);

6.37. Error Log Management Functions#

 CUresult cuLogsCurrent(CUlogIterator* iterator_out, unsigned int flags);
 CUresult cuLogsDumpToFile(CUlogIterator* iterator, const char* pathToFile, unsigned int flags);
 CUresult cuLogsDumpToMemory(CUlogIterator* iterator, char* buffer, size_t* size, unsigned int flags);
 CUresult cuLogsRegisterCallback(CUlogsCallback callbackFunc, void* userData, CUlogsCallbackHandle* callback_out);
 CUresult cuLogsUnregisterCallback(CUlogsCallbackHandle callback);

6.38. CUDA Checkpointing#

-CUresult cuCheckpointProcessCheckpoint(int pid, CUcheckpointCheckpointArgs* args);
-CUresult cuCheckpointProcessGetRestoreThreadId(int pid, int* tid);
-CUresult cuCheckpointProcessGetState(int pid, CUprocessState* state);
-CUresult cuCheckpointProcessLock(int pid, CUcheckpointLockArgs* args);
-CUresult cuCheckpointProcessRestore(int pid, CUcheckpointRestoreArgs* args);
-CUresult cuCheckpointProcessUnlock(int pid, CUcheckpointUnlockArgs* args);

6.39. Profiler Control [DEPRECATED]#

 CUresult cuProfilerInitialize(const char* configFile, const char* outputFile, CUoutput_mode outputMode);

6.40. Profiler Control#

 CUresult cuProfilerStart(void);
 CUresult cuProfilerStop(void);

6.41. OpenGL Interoperability#

 enum CUGLDeviceList
     CU_GL_DEVICE_LIST_ALL = 1
     CU_GL_DEVICE_LIST_CURRENT_FRAME = 2
     CU_GL_DEVICE_LIST_NEXT_FRAME = 3
 CUresult cuGLGetDevices(unsigned int* pCudaDeviceCount, CUdevice* pCudaDevices, unsigned int cudaDeviceCount, CUGLDeviceList deviceList);
 CUresult cuGraphicsGLRegisterBuffer(CUgraphicsResource* pCudaResource, GLuint buffer, unsigned int Flags);
 CUresult cuGraphicsGLRegisterImage(CUgraphicsResource* pCudaResource, GLuint image, GLenum target, unsigned int Flags);
-CUresult cuWGLGetDevice(CUdevice* pDevice, HGPUNV hGpu);

6.41.1. OpenGL Interoperability [DEPRECATED]#

 enum CUGLmap_flags
     CU_GL_MAP_RESOURCE_FLAGS_NONE = 0
     CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY = 1
     CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 2
 CUresult cuGLCtxCreate(CUcontext* pCtx, unsigned int Flags, CUdevice device);
 CUresult cuGLInit(void);
 CUresult cuGLMapBufferObject(CUdeviceptr* dptr, size_t* size, GLuint buffer);
 CUresult cuGLMapBufferObjectAsync(CUdeviceptr* dptr, size_t* size, GLuint buffer, CUstream hStream);
 CUresult cuGLRegisterBufferObject(GLuint buffer);
 CUresult cuGLSetBufferObjectMapFlags(GLuint buffer, unsigned int Flags);
 CUresult cuGLUnmapBufferObject(GLuint buffer);
 CUresult cuGLUnmapBufferObjectAsync(GLuint buffer, CUstream hStream);
 CUresult cuGLUnregisterBufferObject(GLuint buffer);

6.42. Direct3D 9 Interoperability#

-Windows APIs are currently unsupported

6.42.1. Direct3D 9 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

6.43. Direct3D 10 Interoperability#

-Windows APIs are currently unsupported

6.43.1. Direct3D 10 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

6.44. Direct3D 11 Interoperability#

-Windows APIs are currently unsupported

6.44.1. Direct3D 11 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

6.45. VDPAU Interoperability#

-VDPAU is currently unsupported

6.46. EGL Interoperability#

-EGL is currently unsupported