# mypy: disable-error-code="empty-body"
from __future__ import annotations
import ctypes
from typing import Literal, TypeAlias
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
from tinygrad.runtime.support import c
from tinygrad.helpers import WIN
dll = c.DLL('cuda', 'nvcuda' if WIN else 'cuda')
cuuint32_t: TypeAlias = ctypes.c_uint32
cuuint64_t: TypeAlias = ctypes.c_uint64
CUdeviceptr_v2: TypeAlias = ctypes.c_uint64
CUdeviceptr: TypeAlias = ctypes.c_uint64
CUdevice_v1: TypeAlias = ctypes.c_int32
CUdevice: TypeAlias = ctypes.c_int32
class struct_CUctx_st(c.Struct): pass
CUcontext: TypeAlias = c.POINTER[struct_CUctx_st]
class struct_CUmod_st(c.Struct): pass
CUmodule: TypeAlias = c.POINTER[struct_CUmod_st]
class struct_CUfunc_st(c.Struct): pass
CUfunction: TypeAlias = c.POINTER[struct_CUfunc_st]
class struct_CUlib_st(c.Struct): pass
CUlibrary: TypeAlias = c.POINTER[struct_CUlib_st]
class struct_CUkern_st(c.Struct): pass
CUkernel: TypeAlias = c.POINTER[struct_CUkern_st]
class struct_CUarray_st(c.Struct): pass
CUarray: TypeAlias = c.POINTER[struct_CUarray_st]
class struct_CUmipmappedArray_st(c.Struct): pass
CUmipmappedArray: TypeAlias = c.POINTER[struct_CUmipmappedArray_st]
class struct_CUtexref_st(c.Struct): pass
CUtexref: TypeAlias = c.POINTER[struct_CUtexref_st]
class struct_CUsurfref_st(c.Struct): pass
CUsurfref: TypeAlias = c.POINTER[struct_CUsurfref_st]
class struct_CUevent_st(c.Struct): pass
CUevent: TypeAlias = c.POINTER[struct_CUevent_st]
class struct_CUstream_st(c.Struct): pass
CUstream: TypeAlias = c.POINTER[struct_CUstream_st]
class struct_CUgraphicsResource_st(c.Struct): pass
CUgraphicsResource: TypeAlias = c.POINTER[struct_CUgraphicsResource_st]
CUtexObject_v1: TypeAlias = ctypes.c_uint64
CUtexObject: TypeAlias = ctypes.c_uint64
CUsurfObject_v1: TypeAlias = ctypes.c_uint64
CUsurfObject: TypeAlias = ctypes.c_uint64
class struct_CUextMemory_st(c.Struct): pass
CUexternalMemory: TypeAlias = c.POINTER[struct_CUextMemory_st]
class struct_CUextSemaphore_st(c.Struct): pass
CUexternalSemaphore: TypeAlias = c.POINTER[struct_CUextSemaphore_st]
class struct_CUgraph_st(c.Struct): pass
CUgraph: TypeAlias = c.POINTER[struct_CUgraph_st]
class struct_CUgraphNode_st(c.Struct): pass
CUgraphNode: TypeAlias = c.POINTER[struct_CUgraphNode_st]
class struct_CUgraphExec_st(c.Struct): pass
CUgraphExec: TypeAlias = c.POINTER[struct_CUgraphExec_st]
class struct_CUmemPoolHandle_st(c.Struct): pass
CUmemoryPool: TypeAlias = c.POINTER[struct_CUmemPoolHandle_st]
class struct_CUuserObject_st(c.Struct): pass
CUuserObject: TypeAlias = c.POINTER[struct_CUuserObject_st]
@c.record
class struct_CUuuid_st(c.Struct):
  SIZE = 16
  bytes: c.Array[ctypes.c_char, Literal[16]]
struct_CUuuid_st.register_fields([('bytes', c.Array[ctypes.c_char, Literal[16]], 0)])
CUuuid: TypeAlias = struct_CUuuid_st
@c.record
class struct_CUipcEventHandle_st(c.Struct):
  SIZE = 64
  reserved: c.Array[ctypes.c_char, Literal[64]]
struct_CUipcEventHandle_st.register_fields([('reserved', c.Array[ctypes.c_char, Literal[64]], 0)])
CUipcEventHandle_v1: TypeAlias = struct_CUipcEventHandle_st
CUipcEventHandle: TypeAlias = struct_CUipcEventHandle_st
@c.record
class struct_CUipcMemHandle_st(c.Struct):
  SIZE = 64
  reserved: c.Array[ctypes.c_char, Literal[64]]
struct_CUipcMemHandle_st.register_fields([('reserved', c.Array[ctypes.c_char, Literal[64]], 0)])
CUipcMemHandle_v1: TypeAlias = struct_CUipcMemHandle_st
CUipcMemHandle: TypeAlias = struct_CUipcMemHandle_st
enum_CUipcMem_flags_enum: dict[int, str] = {(CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS:=1): 'CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS'}
CUipcMem_flags: TypeAlias = ctypes.c_uint32
enum_CUmemAttach_flags_enum: dict[int, str] = {(CU_MEM_ATTACH_GLOBAL:=1): 'CU_MEM_ATTACH_GLOBAL', (CU_MEM_ATTACH_HOST:=2): 'CU_MEM_ATTACH_HOST', (CU_MEM_ATTACH_SINGLE:=4): 'CU_MEM_ATTACH_SINGLE'}
CUmemAttach_flags: TypeAlias = ctypes.c_uint32
enum_CUctx_flags_enum: dict[int, str] = {(CU_CTX_SCHED_AUTO:=0): 'CU_CTX_SCHED_AUTO', (CU_CTX_SCHED_SPIN:=1): 'CU_CTX_SCHED_SPIN', (CU_CTX_SCHED_YIELD:=2): 'CU_CTX_SCHED_YIELD', (CU_CTX_SCHED_BLOCKING_SYNC:=4): 'CU_CTX_SCHED_BLOCKING_SYNC', (CU_CTX_BLOCKING_SYNC:=4): 'CU_CTX_BLOCKING_SYNC', (CU_CTX_SCHED_MASK:=7): 'CU_CTX_SCHED_MASK', (CU_CTX_MAP_HOST:=8): 'CU_CTX_MAP_HOST', (CU_CTX_LMEM_RESIZE_TO_MAX:=16): 'CU_CTX_LMEM_RESIZE_TO_MAX', (CU_CTX_FLAGS_MASK:=31): 'CU_CTX_FLAGS_MASK'}
CUctx_flags: TypeAlias = ctypes.c_uint32
enum_CUevent_sched_flags_enum: dict[int, str] = {(CU_EVENT_SCHED_AUTO:=0): 'CU_EVENT_SCHED_AUTO', (CU_EVENT_SCHED_SPIN:=1): 'CU_EVENT_SCHED_SPIN', (CU_EVENT_SCHED_YIELD:=2): 'CU_EVENT_SCHED_YIELD', (CU_EVENT_SCHED_BLOCKING_SYNC:=4): 'CU_EVENT_SCHED_BLOCKING_SYNC'}
CUevent_sched_flags: TypeAlias = ctypes.c_uint32
enum_cl_event_flags_enum: dict[int, str] = {(NVCL_EVENT_SCHED_AUTO:=0): 'NVCL_EVENT_SCHED_AUTO', (NVCL_EVENT_SCHED_SPIN:=1): 'NVCL_EVENT_SCHED_SPIN', (NVCL_EVENT_SCHED_YIELD:=2): 'NVCL_EVENT_SCHED_YIELD', (NVCL_EVENT_SCHED_BLOCKING_SYNC:=4): 'NVCL_EVENT_SCHED_BLOCKING_SYNC'}
cl_event_flags: TypeAlias = ctypes.c_uint32
enum_cl_context_flags_enum: dict[int, str] = {(NVCL_CTX_SCHED_AUTO:=0): 'NVCL_CTX_SCHED_AUTO', (NVCL_CTX_SCHED_SPIN:=1): 'NVCL_CTX_SCHED_SPIN', (NVCL_CTX_SCHED_YIELD:=2): 'NVCL_CTX_SCHED_YIELD', (NVCL_CTX_SCHED_BLOCKING_SYNC:=4): 'NVCL_CTX_SCHED_BLOCKING_SYNC'}
cl_context_flags: TypeAlias = ctypes.c_uint32
enum_CUstream_flags_enum: dict[int, str] = {(CU_STREAM_DEFAULT:=0): 'CU_STREAM_DEFAULT', (CU_STREAM_NON_BLOCKING:=1): 'CU_STREAM_NON_BLOCKING'}
CUstream_flags: TypeAlias = ctypes.c_uint32
enum_CUevent_flags_enum: dict[int, str] = {(CU_EVENT_DEFAULT:=0): 'CU_EVENT_DEFAULT', (CU_EVENT_BLOCKING_SYNC:=1): 'CU_EVENT_BLOCKING_SYNC', (CU_EVENT_DISABLE_TIMING:=2): 'CU_EVENT_DISABLE_TIMING', (CU_EVENT_INTERPROCESS:=4): 'CU_EVENT_INTERPROCESS'}
CUevent_flags: TypeAlias = ctypes.c_uint32
enum_CUevent_record_flags_enum: dict[int, str] = {(CU_EVENT_RECORD_DEFAULT:=0): 'CU_EVENT_RECORD_DEFAULT', (CU_EVENT_RECORD_EXTERNAL:=1): 'CU_EVENT_RECORD_EXTERNAL'}
CUevent_record_flags: TypeAlias = ctypes.c_uint32
enum_CUevent_wait_flags_enum: dict[int, str] = {(CU_EVENT_WAIT_DEFAULT:=0): 'CU_EVENT_WAIT_DEFAULT', (CU_EVENT_WAIT_EXTERNAL:=1): 'CU_EVENT_WAIT_EXTERNAL'}
CUevent_wait_flags: TypeAlias = ctypes.c_uint32
enum_CUstreamWaitValue_flags_enum: dict[int, str] = {(CU_STREAM_WAIT_VALUE_GEQ:=0): 'CU_STREAM_WAIT_VALUE_GEQ', (CU_STREAM_WAIT_VALUE_EQ:=1): 'CU_STREAM_WAIT_VALUE_EQ', (CU_STREAM_WAIT_VALUE_AND:=2): 'CU_STREAM_WAIT_VALUE_AND', (CU_STREAM_WAIT_VALUE_NOR:=3): 'CU_STREAM_WAIT_VALUE_NOR', (CU_STREAM_WAIT_VALUE_FLUSH:=1073741824): 'CU_STREAM_WAIT_VALUE_FLUSH'}
CUstreamWaitValue_flags: TypeAlias = ctypes.c_uint32
enum_CUstreamWriteValue_flags_enum: dict[int, str] = {(CU_STREAM_WRITE_VALUE_DEFAULT:=0): 'CU_STREAM_WRITE_VALUE_DEFAULT', (CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER:=1): 'CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER'}
CUstreamWriteValue_flags: TypeAlias = ctypes.c_uint32
enum_CUstreamBatchMemOpType_enum: dict[int, str] = {(CU_STREAM_MEM_OP_WAIT_VALUE_32:=1): 'CU_STREAM_MEM_OP_WAIT_VALUE_32', (CU_STREAM_MEM_OP_WRITE_VALUE_32:=2): 'CU_STREAM_MEM_OP_WRITE_VALUE_32', (CU_STREAM_MEM_OP_WAIT_VALUE_64:=4): 'CU_STREAM_MEM_OP_WAIT_VALUE_64', (CU_STREAM_MEM_OP_WRITE_VALUE_64:=5): 'CU_STREAM_MEM_OP_WRITE_VALUE_64', (CU_STREAM_MEM_OP_BARRIER:=6): 'CU_STREAM_MEM_OP_BARRIER', (CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES:=3): 'CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES'}
CUstreamBatchMemOpType: TypeAlias = ctypes.c_uint32
enum_CUstreamMemoryBarrier_flags_enum: dict[int, str] = {(CU_STREAM_MEMORY_BARRIER_TYPE_SYS:=0): 'CU_STREAM_MEMORY_BARRIER_TYPE_SYS', (CU_STREAM_MEMORY_BARRIER_TYPE_GPU:=1): 'CU_STREAM_MEMORY_BARRIER_TYPE_GPU'}
CUstreamMemoryBarrier_flags: TypeAlias = ctypes.c_uint32
@c.record
class union_CUstreamBatchMemOpParams_union(c.Struct):
  SIZE = 48
  operation: int
  waitValue: struct_CUstreamMemOpWaitValueParams_st
  writeValue: struct_CUstreamMemOpWriteValueParams_st
  flushRemoteWrites: struct_CUstreamMemOpFlushRemoteWritesParams_st
  memoryBarrier: struct_CUstreamMemOpMemoryBarrierParams_st
  pad: c.Array[ctypes.c_uint64, Literal[6]]
@c.record
class struct_CUstreamMemOpWaitValueParams_st(c.Struct):
  SIZE = 40
  operation: int
  address: int
  value: int
  value64: int
  flags: int
  alias: int
struct_CUstreamMemOpWaitValueParams_st.register_fields([('operation', CUstreamBatchMemOpType, 0), ('address', CUdeviceptr, 8), ('value', cuuint32_t, 16), ('value64', cuuint64_t, 16), ('flags', ctypes.c_uint32, 24), ('alias', CUdeviceptr, 32)])
@c.record
class struct_CUstreamMemOpWriteValueParams_st(c.Struct):
  SIZE = 40
  operation: int
  address: int
  value: int
  value64: int
  flags: int
  alias: int
struct_CUstreamMemOpWriteValueParams_st.register_fields([('operation', CUstreamBatchMemOpType, 0), ('address', CUdeviceptr, 8), ('value', cuuint32_t, 16), ('value64', cuuint64_t, 16), ('flags', ctypes.c_uint32, 24), ('alias', CUdeviceptr, 32)])
@c.record
class struct_CUstreamMemOpFlushRemoteWritesParams_st(c.Struct):
  SIZE = 8
  operation: int
  flags: int
struct_CUstreamMemOpFlushRemoteWritesParams_st.register_fields([('operation', CUstreamBatchMemOpType, 0), ('flags', ctypes.c_uint32, 4)])
@c.record
class struct_CUstreamMemOpMemoryBarrierParams_st(c.Struct):
  SIZE = 8
  operation: int
  flags: int
struct_CUstreamMemOpMemoryBarrierParams_st.register_fields([('operation', CUstreamBatchMemOpType, 0), ('flags', ctypes.c_uint32, 4)])
union_CUstreamBatchMemOpParams_union.register_fields([('operation', CUstreamBatchMemOpType, 0), ('waitValue', struct_CUstreamMemOpWaitValueParams_st, 0), ('writeValue', struct_CUstreamMemOpWriteValueParams_st, 0), ('flushRemoteWrites', struct_CUstreamMemOpFlushRemoteWritesParams_st, 0), ('memoryBarrier', struct_CUstreamMemOpMemoryBarrierParams_st, 0), ('pad', c.Array[cuuint64_t, Literal[6]], 0)])
CUstreamBatchMemOpParams_v1: TypeAlias = union_CUstreamBatchMemOpParams_union
CUstreamBatchMemOpParams: TypeAlias = union_CUstreamBatchMemOpParams_union
@c.record
class struct_CUDA_BATCH_MEM_OP_NODE_PARAMS_st(c.Struct):
  SIZE = 32
  ctx: c.POINTER[struct_CUctx_st]
  count: int
  paramArray: c.POINTER[union_CUstreamBatchMemOpParams_union]
  flags: int
struct_CUDA_BATCH_MEM_OP_NODE_PARAMS_st.register_fields([('ctx', CUcontext, 0), ('count', ctypes.c_uint32, 8), ('paramArray', c.POINTER[CUstreamBatchMemOpParams], 16), ('flags', ctypes.c_uint32, 24)])
CUDA_BATCH_MEM_OP_NODE_PARAMS: TypeAlias = struct_CUDA_BATCH_MEM_OP_NODE_PARAMS_st
enum_CUoccupancy_flags_enum: dict[int, str] = {(CU_OCCUPANCY_DEFAULT:=0): 'CU_OCCUPANCY_DEFAULT', (CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE:=1): 'CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE'}
CUoccupancy_flags: TypeAlias = ctypes.c_uint32
enum_CUstreamUpdateCaptureDependencies_flags_enum: dict[int, str] = {(CU_STREAM_ADD_CAPTURE_DEPENDENCIES:=0): 'CU_STREAM_ADD_CAPTURE_DEPENDENCIES', (CU_STREAM_SET_CAPTURE_DEPENDENCIES:=1): 'CU_STREAM_SET_CAPTURE_DEPENDENCIES'}
CUstreamUpdateCaptureDependencies_flags: TypeAlias = ctypes.c_uint32
enum_CUarray_format_enum: dict[int, str] = {(CU_AD_FORMAT_UNSIGNED_INT8:=1): 'CU_AD_FORMAT_UNSIGNED_INT8', (CU_AD_FORMAT_UNSIGNED_INT16:=2): 'CU_AD_FORMAT_UNSIGNED_INT16', (CU_AD_FORMAT_UNSIGNED_INT32:=3): 'CU_AD_FORMAT_UNSIGNED_INT32', (CU_AD_FORMAT_SIGNED_INT8:=8): 'CU_AD_FORMAT_SIGNED_INT8', (CU_AD_FORMAT_SIGNED_INT16:=9): 'CU_AD_FORMAT_SIGNED_INT16', (CU_AD_FORMAT_SIGNED_INT32:=10): 'CU_AD_FORMAT_SIGNED_INT32', (CU_AD_FORMAT_HALF:=16): 'CU_AD_FORMAT_HALF', (CU_AD_FORMAT_FLOAT:=32): 'CU_AD_FORMAT_FLOAT', (CU_AD_FORMAT_NV12:=176): 'CU_AD_FORMAT_NV12', (CU_AD_FORMAT_UNORM_INT8X1:=192): 'CU_AD_FORMAT_UNORM_INT8X1', (CU_AD_FORMAT_UNORM_INT8X2:=193): 'CU_AD_FORMAT_UNORM_INT8X2', (CU_AD_FORMAT_UNORM_INT8X4:=194): 'CU_AD_FORMAT_UNORM_INT8X4', (CU_AD_FORMAT_UNORM_INT16X1:=195): 'CU_AD_FORMAT_UNORM_INT16X1', (CU_AD_FORMAT_UNORM_INT16X2:=196): 'CU_AD_FORMAT_UNORM_INT16X2', (CU_AD_FORMAT_UNORM_INT16X4:=197): 'CU_AD_FORMAT_UNORM_INT16X4', (CU_AD_FORMAT_SNORM_INT8X1:=198): 'CU_AD_FORMAT_SNORM_INT8X1', (CU_AD_FORMAT_SNORM_INT8X2:=199): 'CU_AD_FORMAT_SNORM_INT8X2', (CU_AD_FORMAT_SNORM_INT8X4:=200): 'CU_AD_FORMAT_SNORM_INT8X4', (CU_AD_FORMAT_SNORM_INT16X1:=201): 'CU_AD_FORMAT_SNORM_INT16X1', (CU_AD_FORMAT_SNORM_INT16X2:=202): 'CU_AD_FORMAT_SNORM_INT16X2', (CU_AD_FORMAT_SNORM_INT16X4:=203): 'CU_AD_FORMAT_SNORM_INT16X4', (CU_AD_FORMAT_BC1_UNORM:=145): 'CU_AD_FORMAT_BC1_UNORM', (CU_AD_FORMAT_BC1_UNORM_SRGB:=146): 'CU_AD_FORMAT_BC1_UNORM_SRGB', (CU_AD_FORMAT_BC2_UNORM:=147): 'CU_AD_FORMAT_BC2_UNORM', (CU_AD_FORMAT_BC2_UNORM_SRGB:=148): 'CU_AD_FORMAT_BC2_UNORM_SRGB', (CU_AD_FORMAT_BC3_UNORM:=149): 'CU_AD_FORMAT_BC3_UNORM', (CU_AD_FORMAT_BC3_UNORM_SRGB:=150): 'CU_AD_FORMAT_BC3_UNORM_SRGB', (CU_AD_FORMAT_BC4_UNORM:=151): 'CU_AD_FORMAT_BC4_UNORM', (CU_AD_FORMAT_BC4_SNORM:=152): 'CU_AD_FORMAT_BC4_SNORM', (CU_AD_FORMAT_BC5_UNORM:=153): 'CU_AD_FORMAT_BC5_UNORM', (CU_AD_FORMAT_BC5_SNORM:=154): 'CU_AD_FORMAT_BC5_SNORM', (CU_AD_FORMAT_BC6H_UF16:=155): 'CU_AD_FORMAT_BC6H_UF16', (CU_AD_FORMAT_BC6H_SF16:=156): 'CU_AD_FORMAT_BC6H_SF16', (CU_AD_FORMAT_BC7_UNORM:=157): 'CU_AD_FORMAT_BC7_UNORM', (CU_AD_FORMAT_BC7_UNORM_SRGB:=158): 'CU_AD_FORMAT_BC7_UNORM_SRGB'}
CUarray_format: TypeAlias = ctypes.c_uint32
enum_CUaddress_mode_enum: dict[int, str] = {(CU_TR_ADDRESS_MODE_WRAP:=0): 'CU_TR_ADDRESS_MODE_WRAP', (CU_TR_ADDRESS_MODE_CLAMP:=1): 'CU_TR_ADDRESS_MODE_CLAMP', (CU_TR_ADDRESS_MODE_MIRROR:=2): 'CU_TR_ADDRESS_MODE_MIRROR', (CU_TR_ADDRESS_MODE_BORDER:=3): 'CU_TR_ADDRESS_MODE_BORDER'}
CUaddress_mode: TypeAlias = ctypes.c_uint32
enum_CUfilter_mode_enum: dict[int, str] = {(CU_TR_FILTER_MODE_POINT:=0): 'CU_TR_FILTER_MODE_POINT', (CU_TR_FILTER_MODE_LINEAR:=1): 'CU_TR_FILTER_MODE_LINEAR'}
CUfilter_mode: TypeAlias = ctypes.c_uint32
enum_CUdevice_attribute_enum: dict[int, str] = {(CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK:=1): 'CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK', (CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X:=2): 'CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X', (CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y:=3): 'CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y', (CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z:=4): 'CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z', (CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X:=5): 'CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X', (CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y:=6): 'CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y', (CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z:=7): 'CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z', (CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK:=8): 'CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK', (CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK:=8): 'CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK', (CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY:=9): 'CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY', (CU_DEVICE_ATTRIBUTE_WARP_SIZE:=10): 'CU_DEVICE_ATTRIBUTE_WARP_SIZE', (CU_DEVICE_ATTRIBUTE_MAX_PITCH:=11): 'CU_DEVICE_ATTRIBUTE_MAX_PITCH', (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK:=12): 'CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK', (CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK:=12): 'CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK', (CU_DEVICE_ATTRIBUTE_CLOCK_RATE:=13): 'CU_DEVICE_ATTRIBUTE_CLOCK_RATE', (CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT:=14): 'CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT', (CU_DEVICE_ATTRIBUTE_GPU_OVERLAP:=15): 'CU_DEVICE_ATTRIBUTE_GPU_OVERLAP', (CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT:=16): 'CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT', (CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT:=17): 'CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT', (CU_DEVICE_ATTRIBUTE_INTEGRATED:=18): 'CU_DEVICE_ATTRIBUTE_INTEGRATED', (CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY:=19): 'CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY', (CU_DEVICE_ATTRIBUTE_COMPUTE_MODE:=20): 'CU_DEVICE_ATTRIBUTE_COMPUTE_MODE', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH:=21): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH:=22): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT:=23): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH:=24): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT:=25): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH:=26): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH:=27): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT:=28): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS:=29): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH:=27): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT:=28): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES:=29): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES', (CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT:=30): 'CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT', (CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS:=31): 'CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS', (CU_DEVICE_ATTRIBUTE_ECC_ENABLED:=32): 'CU_DEVICE_ATTRIBUTE_ECC_ENABLED', (CU_DEVICE_ATTRIBUTE_PCI_BUS_ID:=33): 'CU_DEVICE_ATTRIBUTE_PCI_BUS_ID', (CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID:=34): 'CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID', (CU_DEVICE_ATTRIBUTE_TCC_DRIVER:=35): 'CU_DEVICE_ATTRIBUTE_TCC_DRIVER', (CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE:=36): 'CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE', (CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH:=37): 'CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH', (CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE:=38): 'CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE', (CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR:=39): 'CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR', (CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT:=40): 'CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT', (CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING:=41): 'CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH:=42): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS:=43): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS', (CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER:=44): 'CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH:=45): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT:=46): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE:=47): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE:=48): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE:=49): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE', (CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID:=50): 'CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID', (CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT:=51): 'CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH:=52): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH:=53): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS:=54): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS', (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH:=55): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH', (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH:=56): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH', (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT:=57): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT', (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH:=58): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH', (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT:=59): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT', (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH:=60): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH', (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH:=61): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH', (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS:=62): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS', (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH:=63): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH', (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT:=64): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT', (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS:=65): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS', (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH:=66): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH', (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH:=67): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH', (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS:=68): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH:=69): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH:=70): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT:=71): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH:=72): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH:=73): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT:=74): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT', (CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR:=75): 'CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR', (CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR:=76): 'CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR', (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH:=77): 'CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH', (CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED:=78): 'CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED', (CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED:=79): 'CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED', (CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED:=80): 'CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED', (CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR:=81): 'CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR', (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR:=82): 'CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR', (CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY:=83): 'CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY', (CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD:=84): 'CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD', (CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID:=85): 'CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID', (CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED:=86): 'CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED', (CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO:=87): 'CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO', (CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS:=88): 'CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS', (CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS:=89): 'CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS', (CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED:=90): 'CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED', (CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM:=91): 'CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM', (CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS_V1:=92): 'CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS_V1', (CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS_V1:=93): 'CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS_V1', (CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR_V1:=94): 'CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR_V1', (CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH:=95): 'CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH', (CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH:=96): 'CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH', (CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN:=97): 'CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN', (CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES:=98): 'CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES', (CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED:=99): 'CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED', (CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES:=100): 'CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES', (CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST:=101): 'CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST', (CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED:=102): 'CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED', (CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED:=102): 'CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED', (CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED:=103): 'CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED', (CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED:=104): 'CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED', (CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED:=105): 'CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED', (CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR:=106): 'CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR', (CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED:=107): 'CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED', (CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE:=108): 'CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE', (CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE:=109): 'CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE', (CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED:=110): 'CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED', (CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK:=111): 'CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK', (CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED:=112): 'CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED', (CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED:=113): 'CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED', (CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED:=114): 'CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED', (CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED:=115): 'CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED', (CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED:=116): 'CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED', (CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS:=117): 'CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS', (CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING:=118): 'CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING', (CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES:=119): 'CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES', (CU_DEVICE_ATTRIBUTE_CLUSTER_LAUNCH:=120): 'CU_DEVICE_ATTRIBUTE_CLUSTER_LAUNCH', (CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED:=121): 'CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED', (CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS:=122): 'CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS', (CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR:=123): 'CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR', (CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED:=124): 'CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED', (CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED:=125): 'CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED', (CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT:=126): 'CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT', (CU_DEVICE_ATTRIBUTE_TENSOR_MAP_ACCESS_SUPPORTED:=127): 'CU_DEVICE_ATTRIBUTE_TENSOR_MAP_ACCESS_SUPPORTED', (CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS:=129): 'CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS', (CU_DEVICE_ATTRIBUTE_MAX:=130): 'CU_DEVICE_ATTRIBUTE_MAX'}
CUdevice_attribute: TypeAlias = ctypes.c_uint32
@c.record
class struct_CUdevprop_st(c.Struct):
  SIZE = 56
  maxThreadsPerBlock: int
  maxThreadsDim: c.Array[ctypes.c_int32, Literal[3]]
  maxGridSize: c.Array[ctypes.c_int32, Literal[3]]
  sharedMemPerBlock: int
  totalConstantMemory: int
  SIMDWidth: int
  memPitch: int
  regsPerBlock: int
  clockRate: int
  textureAlign: int
struct_CUdevprop_st.register_fields([('maxThreadsPerBlock', ctypes.c_int32, 0), ('maxThreadsDim', c.Array[ctypes.c_int32, Literal[3]], 4), ('maxGridSize', c.Array[ctypes.c_int32, Literal[3]], 16), ('sharedMemPerBlock', ctypes.c_int32, 28), ('totalConstantMemory', ctypes.c_int32, 32), ('SIMDWidth', ctypes.c_int32, 36), ('memPitch', ctypes.c_int32, 40), ('regsPerBlock', ctypes.c_int32, 44), ('clockRate', ctypes.c_int32, 48), ('textureAlign', ctypes.c_int32, 52)])
CUdevprop_v1: TypeAlias = struct_CUdevprop_st
CUdevprop: TypeAlias = struct_CUdevprop_st
enum_CUpointer_attribute_enum: dict[int, str] = {(CU_POINTER_ATTRIBUTE_CONTEXT:=1): 'CU_POINTER_ATTRIBUTE_CONTEXT', (CU_POINTER_ATTRIBUTE_MEMORY_TYPE:=2): 'CU_POINTER_ATTRIBUTE_MEMORY_TYPE', (CU_POINTER_ATTRIBUTE_DEVICE_POINTER:=3): 'CU_POINTER_ATTRIBUTE_DEVICE_POINTER', (CU_POINTER_ATTRIBUTE_HOST_POINTER:=4): 'CU_POINTER_ATTRIBUTE_HOST_POINTER', (CU_POINTER_ATTRIBUTE_P2P_TOKENS:=5): 'CU_POINTER_ATTRIBUTE_P2P_TOKENS', (CU_POINTER_ATTRIBUTE_SYNC_MEMOPS:=6): 'CU_POINTER_ATTRIBUTE_SYNC_MEMOPS', (CU_POINTER_ATTRIBUTE_BUFFER_ID:=7): 'CU_POINTER_ATTRIBUTE_BUFFER_ID', (CU_POINTER_ATTRIBUTE_IS_MANAGED:=8): 'CU_POINTER_ATTRIBUTE_IS_MANAGED', (CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL:=9): 'CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL', (CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE:=10): 'CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE', (CU_POINTER_ATTRIBUTE_RANGE_START_ADDR:=11): 'CU_POINTER_ATTRIBUTE_RANGE_START_ADDR', (CU_POINTER_ATTRIBUTE_RANGE_SIZE:=12): 'CU_POINTER_ATTRIBUTE_RANGE_SIZE', (CU_POINTER_ATTRIBUTE_MAPPED:=13): 'CU_POINTER_ATTRIBUTE_MAPPED', (CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES:=14): 'CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES', (CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE:=15): 'CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE', (CU_POINTER_ATTRIBUTE_ACCESS_FLAGS:=16): 'CU_POINTER_ATTRIBUTE_ACCESS_FLAGS', (CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE:=17): 'CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE', (CU_POINTER_ATTRIBUTE_MAPPING_SIZE:=18): 'CU_POINTER_ATTRIBUTE_MAPPING_SIZE', (CU_POINTER_ATTRIBUTE_MAPPING_BASE_ADDR:=19): 'CU_POINTER_ATTRIBUTE_MAPPING_BASE_ADDR', (CU_POINTER_ATTRIBUTE_MEMORY_BLOCK_ID:=20): 'CU_POINTER_ATTRIBUTE_MEMORY_BLOCK_ID'}
CUpointer_attribute: TypeAlias = ctypes.c_uint32
enum_CUfunction_attribute_enum: dict[int, str] = {(CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK:=0): 'CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK', (CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES:=1): 'CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES', (CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES:=2): 'CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES', (CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES:=3): 'CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES', (CU_FUNC_ATTRIBUTE_NUM_REGS:=4): 'CU_FUNC_ATTRIBUTE_NUM_REGS', (CU_FUNC_ATTRIBUTE_PTX_VERSION:=5): 'CU_FUNC_ATTRIBUTE_PTX_VERSION', (CU_FUNC_ATTRIBUTE_BINARY_VERSION:=6): 'CU_FUNC_ATTRIBUTE_BINARY_VERSION', (CU_FUNC_ATTRIBUTE_CACHE_MODE_CA:=7): 'CU_FUNC_ATTRIBUTE_CACHE_MODE_CA', (CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES:=8): 'CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES', (CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT:=9): 'CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT', (CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_MUST_BE_SET:=10): 'CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_MUST_BE_SET', (CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_WIDTH:=11): 'CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_WIDTH', (CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_HEIGHT:=12): 'CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_HEIGHT', (CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_DEPTH:=13): 'CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_DEPTH', (CU_FUNC_ATTRIBUTE_NON_PORTABLE_CLUSTER_SIZE_ALLOWED:=14): 'CU_FUNC_ATTRIBUTE_NON_PORTABLE_CLUSTER_SIZE_ALLOWED', (CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE:=15): 'CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE', (CU_FUNC_ATTRIBUTE_MAX:=16): 'CU_FUNC_ATTRIBUTE_MAX'}
CUfunction_attribute: TypeAlias = ctypes.c_uint32
enum_CUfunc_cache_enum: dict[int, str] = {(CU_FUNC_CACHE_PREFER_NONE:=0): 'CU_FUNC_CACHE_PREFER_NONE', (CU_FUNC_CACHE_PREFER_SHARED:=1): 'CU_FUNC_CACHE_PREFER_SHARED', (CU_FUNC_CACHE_PREFER_L1:=2): 'CU_FUNC_CACHE_PREFER_L1', (CU_FUNC_CACHE_PREFER_EQUAL:=3): 'CU_FUNC_CACHE_PREFER_EQUAL'}
CUfunc_cache: TypeAlias = ctypes.c_uint32
enum_CUsharedconfig_enum: dict[int, str] = {(CU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE:=0): 'CU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE', (CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE:=1): 'CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE', (CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE:=2): 'CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE'}
CUsharedconfig: TypeAlias = ctypes.c_uint32
enum_CUshared_carveout_enum: dict[int, str] = {(CU_SHAREDMEM_CARVEOUT_DEFAULT:=-1): 'CU_SHAREDMEM_CARVEOUT_DEFAULT', (CU_SHAREDMEM_CARVEOUT_MAX_SHARED:=100): 'CU_SHAREDMEM_CARVEOUT_MAX_SHARED', (CU_SHAREDMEM_CARVEOUT_MAX_L1:=0): 'CU_SHAREDMEM_CARVEOUT_MAX_L1'}
CUshared_carveout: TypeAlias = ctypes.c_int32
enum_CUmemorytype_enum: dict[int, str] = {(CU_MEMORYTYPE_HOST:=1): 'CU_MEMORYTYPE_HOST', (CU_MEMORYTYPE_DEVICE:=2): 'CU_MEMORYTYPE_DEVICE', (CU_MEMORYTYPE_ARRAY:=3): 'CU_MEMORYTYPE_ARRAY', (CU_MEMORYTYPE_UNIFIED:=4): 'CU_MEMORYTYPE_UNIFIED'}
CUmemorytype: TypeAlias = ctypes.c_uint32
enum_CUcomputemode_enum: dict[int, str] = {(CU_COMPUTEMODE_DEFAULT:=0): 'CU_COMPUTEMODE_DEFAULT', (CU_COMPUTEMODE_PROHIBITED:=2): 'CU_COMPUTEMODE_PROHIBITED', (CU_COMPUTEMODE_EXCLUSIVE_PROCESS:=3): 'CU_COMPUTEMODE_EXCLUSIVE_PROCESS'}
CUcomputemode: TypeAlias = ctypes.c_uint32
enum_CUmem_advise_enum: dict[int, str] = {(CU_MEM_ADVISE_SET_READ_MOSTLY:=1): 'CU_MEM_ADVISE_SET_READ_MOSTLY', (CU_MEM_ADVISE_UNSET_READ_MOSTLY:=2): 'CU_MEM_ADVISE_UNSET_READ_MOSTLY', (CU_MEM_ADVISE_SET_PREFERRED_LOCATION:=3): 'CU_MEM_ADVISE_SET_PREFERRED_LOCATION', (CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION:=4): 'CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION', (CU_MEM_ADVISE_SET_ACCESSED_BY:=5): 'CU_MEM_ADVISE_SET_ACCESSED_BY', (CU_MEM_ADVISE_UNSET_ACCESSED_BY:=6): 'CU_MEM_ADVISE_UNSET_ACCESSED_BY'}
CUmem_advise: TypeAlias = ctypes.c_uint32
enum_CUmem_range_attribute_enum: dict[int, str] = {(CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY:=1): 'CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY', (CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION:=2): 'CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION', (CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY:=3): 'CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY', (CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION:=4): 'CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION'}
CUmem_range_attribute: TypeAlias = ctypes.c_uint32
enum_CUjit_option_enum: dict[int, str] = {(CU_JIT_MAX_REGISTERS:=0): 'CU_JIT_MAX_REGISTERS', (CU_JIT_THREADS_PER_BLOCK:=1): 'CU_JIT_THREADS_PER_BLOCK', (CU_JIT_WALL_TIME:=2): 'CU_JIT_WALL_TIME', (CU_JIT_INFO_LOG_BUFFER:=3): 'CU_JIT_INFO_LOG_BUFFER', (CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES:=4): 'CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES', (CU_JIT_ERROR_LOG_BUFFER:=5): 'CU_JIT_ERROR_LOG_BUFFER', (CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES:=6): 'CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES', (CU_JIT_OPTIMIZATION_LEVEL:=7): 'CU_JIT_OPTIMIZATION_LEVEL', (CU_JIT_TARGET_FROM_CUCONTEXT:=8): 'CU_JIT_TARGET_FROM_CUCONTEXT', (CU_JIT_TARGET:=9): 'CU_JIT_TARGET', (CU_JIT_FALLBACK_STRATEGY:=10): 'CU_JIT_FALLBACK_STRATEGY', (CU_JIT_GENERATE_DEBUG_INFO:=11): 'CU_JIT_GENERATE_DEBUG_INFO', (CU_JIT_LOG_VERBOSE:=12): 'CU_JIT_LOG_VERBOSE', (CU_JIT_GENERATE_LINE_INFO:=13): 'CU_JIT_GENERATE_LINE_INFO', (CU_JIT_CACHE_MODE:=14): 'CU_JIT_CACHE_MODE', (CU_JIT_NEW_SM3X_OPT:=15): 'CU_JIT_NEW_SM3X_OPT', (CU_JIT_FAST_COMPILE:=16): 'CU_JIT_FAST_COMPILE', (CU_JIT_GLOBAL_SYMBOL_NAMES:=17): 'CU_JIT_GLOBAL_SYMBOL_NAMES', (CU_JIT_GLOBAL_SYMBOL_ADDRESSES:=18): 'CU_JIT_GLOBAL_SYMBOL_ADDRESSES', (CU_JIT_GLOBAL_SYMBOL_COUNT:=19): 'CU_JIT_GLOBAL_SYMBOL_COUNT', (CU_JIT_LTO:=20): 'CU_JIT_LTO', (CU_JIT_FTZ:=21): 'CU_JIT_FTZ', (CU_JIT_PREC_DIV:=22): 'CU_JIT_PREC_DIV', (CU_JIT_PREC_SQRT:=23): 'CU_JIT_PREC_SQRT', (CU_JIT_FMA:=24): 'CU_JIT_FMA', (CU_JIT_REFERENCED_KERNEL_NAMES:=25): 'CU_JIT_REFERENCED_KERNEL_NAMES', (CU_JIT_REFERENCED_KERNEL_COUNT:=26): 'CU_JIT_REFERENCED_KERNEL_COUNT', (CU_JIT_REFERENCED_VARIABLE_NAMES:=27): 'CU_JIT_REFERENCED_VARIABLE_NAMES', (CU_JIT_REFERENCED_VARIABLE_COUNT:=28): 'CU_JIT_REFERENCED_VARIABLE_COUNT', (CU_JIT_OPTIMIZE_UNUSED_DEVICE_VARIABLES:=29): 'CU_JIT_OPTIMIZE_UNUSED_DEVICE_VARIABLES', (CU_JIT_POSITION_INDEPENDENT_CODE:=30): 'CU_JIT_POSITION_INDEPENDENT_CODE', (CU_JIT_NUM_OPTIONS:=31): 'CU_JIT_NUM_OPTIONS'}
CUjit_option: TypeAlias = ctypes.c_uint32
enum_CUjit_target_enum: dict[int, str] = {(CU_TARGET_COMPUTE_30:=30): 'CU_TARGET_COMPUTE_30', (CU_TARGET_COMPUTE_32:=32): 'CU_TARGET_COMPUTE_32', (CU_TARGET_COMPUTE_35:=35): 'CU_TARGET_COMPUTE_35', (CU_TARGET_COMPUTE_37:=37): 'CU_TARGET_COMPUTE_37', (CU_TARGET_COMPUTE_50:=50): 'CU_TARGET_COMPUTE_50', (CU_TARGET_COMPUTE_52:=52): 'CU_TARGET_COMPUTE_52', (CU_TARGET_COMPUTE_53:=53): 'CU_TARGET_COMPUTE_53', (CU_TARGET_COMPUTE_60:=60): 'CU_TARGET_COMPUTE_60', (CU_TARGET_COMPUTE_61:=61): 'CU_TARGET_COMPUTE_61', (CU_TARGET_COMPUTE_62:=62): 'CU_TARGET_COMPUTE_62', (CU_TARGET_COMPUTE_70:=70): 'CU_TARGET_COMPUTE_70', (CU_TARGET_COMPUTE_72:=72): 'CU_TARGET_COMPUTE_72', (CU_TARGET_COMPUTE_75:=75): 'CU_TARGET_COMPUTE_75', (CU_TARGET_COMPUTE_80:=80): 'CU_TARGET_COMPUTE_80', (CU_TARGET_COMPUTE_86:=86): 'CU_TARGET_COMPUTE_86', (CU_TARGET_COMPUTE_87:=87): 'CU_TARGET_COMPUTE_87', (CU_TARGET_COMPUTE_89:=89): 'CU_TARGET_COMPUTE_89', (CU_TARGET_COMPUTE_90:=90): 'CU_TARGET_COMPUTE_90', (CU_TARGET_COMPUTE_90A:=65626): 'CU_TARGET_COMPUTE_90A'}
CUjit_target: TypeAlias = ctypes.c_uint32
enum_CUjit_fallback_enum: dict[int, str] = {(CU_PREFER_PTX:=0): 'CU_PREFER_PTX', (CU_PREFER_BINARY:=1): 'CU_PREFER_BINARY'}
CUjit_fallback: TypeAlias = ctypes.c_uint32
enum_CUjit_cacheMode_enum: dict[int, str] = {(CU_JIT_CACHE_OPTION_NONE:=0): 'CU_JIT_CACHE_OPTION_NONE', (CU_JIT_CACHE_OPTION_CG:=1): 'CU_JIT_CACHE_OPTION_CG', (CU_JIT_CACHE_OPTION_CA:=2): 'CU_JIT_CACHE_OPTION_CA'}
CUjit_cacheMode: TypeAlias = ctypes.c_uint32
enum_CUjitInputType_enum: dict[int, str] = {(CU_JIT_INPUT_CUBIN:=0): 'CU_JIT_INPUT_CUBIN', (CU_JIT_INPUT_PTX:=1): 'CU_JIT_INPUT_PTX', (CU_JIT_INPUT_FATBINARY:=2): 'CU_JIT_INPUT_FATBINARY', (CU_JIT_INPUT_OBJECT:=3): 'CU_JIT_INPUT_OBJECT', (CU_JIT_INPUT_LIBRARY:=4): 'CU_JIT_INPUT_LIBRARY', (CU_JIT_INPUT_NVVM:=5): 'CU_JIT_INPUT_NVVM', (CU_JIT_NUM_INPUT_TYPES:=6): 'CU_JIT_NUM_INPUT_TYPES'}
CUjitInputType: TypeAlias = ctypes.c_uint32
class struct_CUlinkState_st(c.Struct): pass
CUlinkState: TypeAlias = c.POINTER[struct_CUlinkState_st]
enum_CUgraphicsRegisterFlags_enum: dict[int, str] = {(CU_GRAPHICS_REGISTER_FLAGS_NONE:=0): 'CU_GRAPHICS_REGISTER_FLAGS_NONE', (CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY:=1): 'CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY', (CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD:=2): 'CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD', (CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST:=4): 'CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST', (CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER:=8): 'CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER'}
CUgraphicsRegisterFlags: TypeAlias = ctypes.c_uint32
enum_CUgraphicsMapResourceFlags_enum: dict[int, str] = {(CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE:=0): 'CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE', (CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY:=1): 'CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY', (CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD:=2): 'CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD'}
CUgraphicsMapResourceFlags: TypeAlias = ctypes.c_uint32
enum_CUarray_cubemap_face_enum: dict[int, str] = {(CU_CUBEMAP_FACE_POSITIVE_X:=0): 'CU_CUBEMAP_FACE_POSITIVE_X', (CU_CUBEMAP_FACE_NEGATIVE_X:=1): 'CU_CUBEMAP_FACE_NEGATIVE_X', (CU_CUBEMAP_FACE_POSITIVE_Y:=2): 'CU_CUBEMAP_FACE_POSITIVE_Y', (CU_CUBEMAP_FACE_NEGATIVE_Y:=3): 'CU_CUBEMAP_FACE_NEGATIVE_Y', (CU_CUBEMAP_FACE_POSITIVE_Z:=4): 'CU_CUBEMAP_FACE_POSITIVE_Z', (CU_CUBEMAP_FACE_NEGATIVE_Z:=5): 'CU_CUBEMAP_FACE_NEGATIVE_Z'}
CUarray_cubemap_face: TypeAlias = ctypes.c_uint32
enum_CUlimit_enum: dict[int, str] = {(CU_LIMIT_STACK_SIZE:=0): 'CU_LIMIT_STACK_SIZE', (CU_LIMIT_PRINTF_FIFO_SIZE:=1): 'CU_LIMIT_PRINTF_FIFO_SIZE', (CU_LIMIT_MALLOC_HEAP_SIZE:=2): 'CU_LIMIT_MALLOC_HEAP_SIZE', (CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH:=3): 'CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH', (CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT:=4): 'CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT', (CU_LIMIT_MAX_L2_FETCH_GRANULARITY:=5): 'CU_LIMIT_MAX_L2_FETCH_GRANULARITY', (CU_LIMIT_PERSISTING_L2_CACHE_SIZE:=6): 'CU_LIMIT_PERSISTING_L2_CACHE_SIZE', (CU_LIMIT_MAX:=7): 'CU_LIMIT_MAX'}
CUlimit: TypeAlias = ctypes.c_uint32
enum_CUresourcetype_enum: dict[int, str] = {(CU_RESOURCE_TYPE_ARRAY:=0): 'CU_RESOURCE_TYPE_ARRAY', (CU_RESOURCE_TYPE_MIPMAPPED_ARRAY:=1): 'CU_RESOURCE_TYPE_MIPMAPPED_ARRAY', (CU_RESOURCE_TYPE_LINEAR:=2): 'CU_RESOURCE_TYPE_LINEAR', (CU_RESOURCE_TYPE_PITCH2D:=3): 'CU_RESOURCE_TYPE_PITCH2D'}
CUresourcetype: TypeAlias = ctypes.c_uint32
CUhostFn: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_void_p]]
enum_CUaccessProperty_enum: dict[int, str] = {(CU_ACCESS_PROPERTY_NORMAL:=0): 'CU_ACCESS_PROPERTY_NORMAL', (CU_ACCESS_PROPERTY_STREAMING:=1): 'CU_ACCESS_PROPERTY_STREAMING', (CU_ACCESS_PROPERTY_PERSISTING:=2): 'CU_ACCESS_PROPERTY_PERSISTING'}
CUaccessProperty: TypeAlias = ctypes.c_uint32
@c.record
class struct_CUaccessPolicyWindow_st(c.Struct):
  SIZE = 32
  base_ptr: ctypes.c_void_p
  num_bytes: int
  hitRatio: float
  hitProp: int
  missProp: int
size_t: TypeAlias = ctypes.c_uint64
struct_CUaccessPolicyWindow_st.register_fields([('base_ptr', ctypes.c_void_p, 0), ('num_bytes', size_t, 8), ('hitRatio', ctypes.c_float, 16), ('hitProp', CUaccessProperty, 20), ('missProp', CUaccessProperty, 24)])
CUaccessPolicyWindow_v1: TypeAlias = struct_CUaccessPolicyWindow_st
CUaccessPolicyWindow: TypeAlias = struct_CUaccessPolicyWindow_st
@c.record
class struct_CUDA_KERNEL_NODE_PARAMS_st(c.Struct):
  SIZE = 56
  func: c.POINTER[struct_CUfunc_st]
  gridDimX: int
  gridDimY: int
  gridDimZ: int
  blockDimX: int
  blockDimY: int
  blockDimZ: int
  sharedMemBytes: int
  kernelParams: c.POINTER[ctypes.c_void_p]
  extra: c.POINTER[ctypes.c_void_p]
struct_CUDA_KERNEL_NODE_PARAMS_st.register_fields([('func', CUfunction, 0), ('gridDimX', ctypes.c_uint32, 8), ('gridDimY', ctypes.c_uint32, 12), ('gridDimZ', ctypes.c_uint32, 16), ('blockDimX', ctypes.c_uint32, 20), ('blockDimY', ctypes.c_uint32, 24), ('blockDimZ', ctypes.c_uint32, 28), ('sharedMemBytes', ctypes.c_uint32, 32), ('kernelParams', c.POINTER[ctypes.c_void_p], 40), ('extra', c.POINTER[ctypes.c_void_p], 48)])
CUDA_KERNEL_NODE_PARAMS_v1: TypeAlias = struct_CUDA_KERNEL_NODE_PARAMS_st
@c.record
class struct_CUDA_KERNEL_NODE_PARAMS_v2_st(c.Struct):
  SIZE = 72
  func: c.POINTER[struct_CUfunc_st]
  gridDimX: int
  gridDimY: int
  gridDimZ: int
  blockDimX: int
  blockDimY: int
  blockDimZ: int
  sharedMemBytes: int
  kernelParams: c.POINTER[ctypes.c_void_p]
  extra: c.POINTER[ctypes.c_void_p]
  kern: c.POINTER[struct_CUkern_st]
  ctx: c.POINTER[struct_CUctx_st]
struct_CUDA_KERNEL_NODE_PARAMS_v2_st.register_fields([('func', CUfunction, 0), ('gridDimX', ctypes.c_uint32, 8), ('gridDimY', ctypes.c_uint32, 12), ('gridDimZ', ctypes.c_uint32, 16), ('blockDimX', ctypes.c_uint32, 20), ('blockDimY', ctypes.c_uint32, 24), ('blockDimZ', ctypes.c_uint32, 28), ('sharedMemBytes', ctypes.c_uint32, 32), ('kernelParams', c.POINTER[ctypes.c_void_p], 40), ('extra', c.POINTER[ctypes.c_void_p], 48), ('kern', CUkernel, 56), ('ctx', CUcontext, 64)])
CUDA_KERNEL_NODE_PARAMS_v2: TypeAlias = struct_CUDA_KERNEL_NODE_PARAMS_v2_st
CUDA_KERNEL_NODE_PARAMS: TypeAlias = struct_CUDA_KERNEL_NODE_PARAMS_v2_st
@c.record
class struct_CUDA_MEMSET_NODE_PARAMS_st(c.Struct):
  SIZE = 40
  dst: int
  pitch: int
  value: int
  elementSize: int
  width: int
  height: int
struct_CUDA_MEMSET_NODE_PARAMS_st.register_fields([('dst', CUdeviceptr, 0), ('pitch', size_t, 8), ('value', ctypes.c_uint32, 16), ('elementSize', ctypes.c_uint32, 20), ('width', size_t, 24), ('height', size_t, 32)])
CUDA_MEMSET_NODE_PARAMS_v1: TypeAlias = struct_CUDA_MEMSET_NODE_PARAMS_st
CUDA_MEMSET_NODE_PARAMS: TypeAlias = struct_CUDA_MEMSET_NODE_PARAMS_st
@c.record
class struct_CUDA_HOST_NODE_PARAMS_st(c.Struct):
  SIZE = 16
  fn: c.CFUNCTYPE[None, [ctypes.c_void_p]]
  userData: ctypes.c_void_p
struct_CUDA_HOST_NODE_PARAMS_st.register_fields([('fn', CUhostFn, 0), ('userData', ctypes.c_void_p, 8)])
CUDA_HOST_NODE_PARAMS_v1: TypeAlias = struct_CUDA_HOST_NODE_PARAMS_st
CUDA_HOST_NODE_PARAMS: TypeAlias = struct_CUDA_HOST_NODE_PARAMS_st
enum_CUgraphNodeType_enum: dict[int, str] = {(CU_GRAPH_NODE_TYPE_KERNEL:=0): 'CU_GRAPH_NODE_TYPE_KERNEL', (CU_GRAPH_NODE_TYPE_MEMCPY:=1): 'CU_GRAPH_NODE_TYPE_MEMCPY', (CU_GRAPH_NODE_TYPE_MEMSET:=2): 'CU_GRAPH_NODE_TYPE_MEMSET', (CU_GRAPH_NODE_TYPE_HOST:=3): 'CU_GRAPH_NODE_TYPE_HOST', (CU_GRAPH_NODE_TYPE_GRAPH:=4): 'CU_GRAPH_NODE_TYPE_GRAPH', (CU_GRAPH_NODE_TYPE_EMPTY:=5): 'CU_GRAPH_NODE_TYPE_EMPTY', (CU_GRAPH_NODE_TYPE_WAIT_EVENT:=6): 'CU_GRAPH_NODE_TYPE_WAIT_EVENT', (CU_GRAPH_NODE_TYPE_EVENT_RECORD:=7): 'CU_GRAPH_NODE_TYPE_EVENT_RECORD', (CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIGNAL:=8): 'CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIGNAL', (CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAIT:=9): 'CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAIT', (CU_GRAPH_NODE_TYPE_MEM_ALLOC:=10): 'CU_GRAPH_NODE_TYPE_MEM_ALLOC', (CU_GRAPH_NODE_TYPE_MEM_FREE:=11): 'CU_GRAPH_NODE_TYPE_MEM_FREE', (CU_GRAPH_NODE_TYPE_BATCH_MEM_OP:=12): 'CU_GRAPH_NODE_TYPE_BATCH_MEM_OP'}
CUgraphNodeType: TypeAlias = ctypes.c_uint32
enum_CUgraphInstantiateResult_enum: dict[int, str] = {(CUDA_GRAPH_INSTANTIATE_SUCCESS:=0): 'CUDA_GRAPH_INSTANTIATE_SUCCESS', (CUDA_GRAPH_INSTANTIATE_ERROR:=1): 'CUDA_GRAPH_INSTANTIATE_ERROR', (CUDA_GRAPH_INSTANTIATE_INVALID_STRUCTURE:=2): 'CUDA_GRAPH_INSTANTIATE_INVALID_STRUCTURE', (CUDA_GRAPH_INSTANTIATE_NODE_OPERATION_NOT_SUPPORTED:=3): 'CUDA_GRAPH_INSTANTIATE_NODE_OPERATION_NOT_SUPPORTED', (CUDA_GRAPH_INSTANTIATE_MULTIPLE_CTXS_NOT_SUPPORTED:=4): 'CUDA_GRAPH_INSTANTIATE_MULTIPLE_CTXS_NOT_SUPPORTED'}
CUgraphInstantiateResult: TypeAlias = ctypes.c_uint32
@c.record
class struct_CUDA_GRAPH_INSTANTIATE_PARAMS_st(c.Struct):
  SIZE = 32
  flags: int
  hUploadStream: c.POINTER[struct_CUstream_st]
  hErrNode_out: c.POINTER[struct_CUgraphNode_st]
  result_out: int
struct_CUDA_GRAPH_INSTANTIATE_PARAMS_st.register_fields([('flags', cuuint64_t, 0), ('hUploadStream', CUstream, 8), ('hErrNode_out', CUgraphNode, 16), ('result_out', CUgraphInstantiateResult, 24)])
CUDA_GRAPH_INSTANTIATE_PARAMS: TypeAlias = struct_CUDA_GRAPH_INSTANTIATE_PARAMS_st
enum_CUsynchronizationPolicy_enum: dict[int, str] = {(CU_SYNC_POLICY_AUTO:=1): 'CU_SYNC_POLICY_AUTO', (CU_SYNC_POLICY_SPIN:=2): 'CU_SYNC_POLICY_SPIN', (CU_SYNC_POLICY_YIELD:=3): 'CU_SYNC_POLICY_YIELD', (CU_SYNC_POLICY_BLOCKING_SYNC:=4): 'CU_SYNC_POLICY_BLOCKING_SYNC'}
CUsynchronizationPolicy: TypeAlias = ctypes.c_uint32
enum_CUclusterSchedulingPolicy_enum: dict[int, str] = {(CU_CLUSTER_SCHEDULING_POLICY_DEFAULT:=0): 'CU_CLUSTER_SCHEDULING_POLICY_DEFAULT', (CU_CLUSTER_SCHEDULING_POLICY_SPREAD:=1): 'CU_CLUSTER_SCHEDULING_POLICY_SPREAD', (CU_CLUSTER_SCHEDULING_POLICY_LOAD_BALANCING:=2): 'CU_CLUSTER_SCHEDULING_POLICY_LOAD_BALANCING'}
CUclusterSchedulingPolicy: TypeAlias = ctypes.c_uint32
enum_CUlaunchMemSyncDomain_enum: dict[int, str] = {(CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAULT:=0): 'CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAULT', (CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE:=1): 'CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE'}
CUlaunchMemSyncDomain: TypeAlias = ctypes.c_uint32
@c.record
class struct_CUlaunchMemSyncDomainMap_st(c.Struct):
  SIZE = 2
  default_: int
  remote: int
struct_CUlaunchMemSyncDomainMap_st.register_fields([('default_', ctypes.c_ubyte, 0), ('remote', ctypes.c_ubyte, 1)])
CUlaunchMemSyncDomainMap: TypeAlias = struct_CUlaunchMemSyncDomainMap_st
enum_CUlaunchAttributeID_enum: dict[int, str] = {(CU_LAUNCH_ATTRIBUTE_IGNORE:=0): 'CU_LAUNCH_ATTRIBUTE_IGNORE', (CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW:=1): 'CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW', (CU_LAUNCH_ATTRIBUTE_COOPERATIVE:=2): 'CU_LAUNCH_ATTRIBUTE_COOPERATIVE', (CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY:=3): 'CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY', (CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION:=4): 'CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION', (CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE:=5): 'CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE', (CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION:=6): 'CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION', (CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT:=7): 'CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT', (CU_LAUNCH_ATTRIBUTE_PRIORITY:=8): 'CU_LAUNCH_ATTRIBUTE_PRIORITY', (CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP:=9): 'CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP', (CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN:=10): 'CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN'}
CUlaunchAttributeID: TypeAlias = ctypes.c_uint32
@c.record
class union_CUlaunchAttributeValue_union(c.Struct):
  SIZE = 64
  pad: c.Array[ctypes.c_char, Literal[64]]
  accessPolicyWindow: struct_CUaccessPolicyWindow_st
  cooperative: int
  syncPolicy: int
  clusterDim: union_CUlaunchAttributeValue_union_clusterDim
  clusterSchedulingPolicyPreference: int
  programmaticStreamSerializationAllowed: int
  programmaticEvent: union_CUlaunchAttributeValue_union_programmaticEvent
  priority: int
  memSyncDomainMap: struct_CUlaunchMemSyncDomainMap_st
  memSyncDomain: int
@c.record
class union_CUlaunchAttributeValue_union_clusterDim(c.Struct):
  SIZE = 12
  x: int
  y: int
  z: int
union_CUlaunchAttributeValue_union_clusterDim.register_fields([('x', ctypes.c_uint32, 0), ('y', ctypes.c_uint32, 4), ('z', ctypes.c_uint32, 8)])
@c.record
class union_CUlaunchAttributeValue_union_programmaticEvent(c.Struct):
  SIZE = 16
  event: c.POINTER[struct_CUevent_st]
  flags: int
  triggerAtBlockStart: int
union_CUlaunchAttributeValue_union_programmaticEvent.register_fields([('event', CUevent, 0), ('flags', ctypes.c_int32, 8), ('triggerAtBlockStart', ctypes.c_int32, 12)])
union_CUlaunchAttributeValue_union.register_fields([('pad', c.Array[ctypes.c_char, Literal[64]], 0), ('accessPolicyWindow', CUaccessPolicyWindow, 0), ('cooperative', ctypes.c_int32, 0), ('syncPolicy', CUsynchronizationPolicy, 0), ('clusterDim', union_CUlaunchAttributeValue_union_clusterDim, 0), ('clusterSchedulingPolicyPreference', CUclusterSchedulingPolicy, 0), ('programmaticStreamSerializationAllowed', ctypes.c_int32, 0), ('programmaticEvent', union_CUlaunchAttributeValue_union_programmaticEvent, 0), ('priority', ctypes.c_int32, 0), ('memSyncDomainMap', CUlaunchMemSyncDomainMap, 0), ('memSyncDomain', CUlaunchMemSyncDomain, 0)])
CUlaunchAttributeValue: TypeAlias = union_CUlaunchAttributeValue_union
@c.record
class struct_CUlaunchAttribute_st(c.Struct):
  SIZE = 72
  id: int
  pad: c.Array[ctypes.c_char, Literal[4]]
  value: union_CUlaunchAttributeValue_union
struct_CUlaunchAttribute_st.register_fields([('id', CUlaunchAttributeID, 0), ('pad', c.Array[ctypes.c_char, Literal[4]], 4), ('value', CUlaunchAttributeValue, 8)])
CUlaunchAttribute: TypeAlias = struct_CUlaunchAttribute_st
@c.record
class struct_CUlaunchConfig_st(c.Struct):
  SIZE = 56
  gridDimX: int
  gridDimY: int
  gridDimZ: int
  blockDimX: int
  blockDimY: int
  blockDimZ: int
  sharedMemBytes: int
  hStream: c.POINTER[struct_CUstream_st]
  attrs: c.POINTER[struct_CUlaunchAttribute_st]
  numAttrs: int
struct_CUlaunchConfig_st.register_fields([('gridDimX', ctypes.c_uint32, 0), ('gridDimY', ctypes.c_uint32, 4), ('gridDimZ', ctypes.c_uint32, 8), ('blockDimX', ctypes.c_uint32, 12), ('blockDimY', ctypes.c_uint32, 16), ('blockDimZ', ctypes.c_uint32, 20), ('sharedMemBytes', ctypes.c_uint32, 24), ('hStream', CUstream, 32), ('attrs', c.POINTER[CUlaunchAttribute], 40), ('numAttrs', ctypes.c_uint32, 48)])
CUlaunchConfig: TypeAlias = struct_CUlaunchConfig_st
CUkernelNodeAttrID: TypeAlias = ctypes.c_uint32
CUkernelNodeAttrValue_v1: TypeAlias = union_CUlaunchAttributeValue_union
CUkernelNodeAttrValue: TypeAlias = union_CUlaunchAttributeValue_union
enum_CUstreamCaptureStatus_enum: dict[int, str] = {(CU_STREAM_CAPTURE_STATUS_NONE:=0): 'CU_STREAM_CAPTURE_STATUS_NONE', (CU_STREAM_CAPTURE_STATUS_ACTIVE:=1): 'CU_STREAM_CAPTURE_STATUS_ACTIVE', (CU_STREAM_CAPTURE_STATUS_INVALIDATED:=2): 'CU_STREAM_CAPTURE_STATUS_INVALIDATED'}
CUstreamCaptureStatus: TypeAlias = ctypes.c_uint32
enum_CUstreamCaptureMode_enum: dict[int, str] = {(CU_STREAM_CAPTURE_MODE_GLOBAL:=0): 'CU_STREAM_CAPTURE_MODE_GLOBAL', (CU_STREAM_CAPTURE_MODE_THREAD_LOCAL:=1): 'CU_STREAM_CAPTURE_MODE_THREAD_LOCAL', (CU_STREAM_CAPTURE_MODE_RELAXED:=2): 'CU_STREAM_CAPTURE_MODE_RELAXED'}
CUstreamCaptureMode: TypeAlias = ctypes.c_uint32
CUstreamAttrID: TypeAlias = ctypes.c_uint32
CUstreamAttrValue_v1: TypeAlias = union_CUlaunchAttributeValue_union
CUstreamAttrValue: TypeAlias = union_CUlaunchAttributeValue_union
enum_CUdriverProcAddress_flags_enum: dict[int, str] = {(CU_GET_PROC_ADDRESS_DEFAULT:=0): 'CU_GET_PROC_ADDRESS_DEFAULT', (CU_GET_PROC_ADDRESS_LEGACY_STREAM:=1): 'CU_GET_PROC_ADDRESS_LEGACY_STREAM', (CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM:=2): 'CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM'}
CUdriverProcAddress_flags: TypeAlias = ctypes.c_uint32
enum_CUdriverProcAddressQueryResult_enum: dict[int, str] = {(CU_GET_PROC_ADDRESS_SUCCESS:=0): 'CU_GET_PROC_ADDRESS_SUCCESS', (CU_GET_PROC_ADDRESS_SYMBOL_NOT_FOUND:=1): 'CU_GET_PROC_ADDRESS_SYMBOL_NOT_FOUND', (CU_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT:=2): 'CU_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT'}
CUdriverProcAddressQueryResult: TypeAlias = ctypes.c_uint32
enum_CUexecAffinityType_enum: dict[int, str] = {(CU_EXEC_AFFINITY_TYPE_SM_COUNT:=0): 'CU_EXEC_AFFINITY_TYPE_SM_COUNT', (CU_EXEC_AFFINITY_TYPE_MAX:=1): 'CU_EXEC_AFFINITY_TYPE_MAX'}
CUexecAffinityType: TypeAlias = ctypes.c_uint32
@c.record
class struct_CUexecAffinitySmCount_st(c.Struct):
  SIZE = 4
  val: int
struct_CUexecAffinitySmCount_st.register_fields([('val', ctypes.c_uint32, 0)])
CUexecAffinitySmCount_v1: TypeAlias = struct_CUexecAffinitySmCount_st
CUexecAffinitySmCount: TypeAlias = struct_CUexecAffinitySmCount_st
@c.record
class struct_CUexecAffinityParam_st(c.Struct):
  SIZE = 8
  type: int
  param: struct_CUexecAffinityParam_st_param
@c.record
class struct_CUexecAffinityParam_st_param(c.Struct):
  SIZE = 4
  smCount: struct_CUexecAffinitySmCount_st
struct_CUexecAffinityParam_st_param.register_fields([('smCount', CUexecAffinitySmCount, 0)])
struct_CUexecAffinityParam_st.register_fields([('type', CUexecAffinityType, 0), ('param', struct_CUexecAffinityParam_st_param, 4)])
CUexecAffinityParam_v1: TypeAlias = struct_CUexecAffinityParam_st
CUexecAffinityParam: TypeAlias = struct_CUexecAffinityParam_st
enum_CUlibraryOption_enum: dict[int, str] = {(CU_LIBRARY_HOST_UNIVERSAL_FUNCTION_AND_DATA_TABLE:=0): 'CU_LIBRARY_HOST_UNIVERSAL_FUNCTION_AND_DATA_TABLE', (CU_LIBRARY_BINARY_IS_PRESERVED:=1): 'CU_LIBRARY_BINARY_IS_PRESERVED', (CU_LIBRARY_NUM_OPTIONS:=2): 'CU_LIBRARY_NUM_OPTIONS'}
CUlibraryOption: TypeAlias = ctypes.c_uint32
@c.record
class struct_CUlibraryHostUniversalFunctionAndDataTable_st(c.Struct):
  SIZE = 32
  functionTable: ctypes.c_void_p
  functionWindowSize: int
  dataTable: ctypes.c_void_p
  dataWindowSize: int
struct_CUlibraryHostUniversalFunctionAndDataTable_st.register_fields([('functionTable', ctypes.c_void_p, 0), ('functionWindowSize', size_t, 8), ('dataTable', ctypes.c_void_p, 16), ('dataWindowSize', size_t, 24)])
CUlibraryHostUniversalFunctionAndDataTable: TypeAlias = struct_CUlibraryHostUniversalFunctionAndDataTable_st
enum_cudaError_enum: dict[int, str] = {(CUDA_SUCCESS:=0): 'CUDA_SUCCESS', (CUDA_ERROR_INVALID_VALUE:=1): 'CUDA_ERROR_INVALID_VALUE', (CUDA_ERROR_OUT_OF_MEMORY:=2): 'CUDA_ERROR_OUT_OF_MEMORY', (CUDA_ERROR_NOT_INITIALIZED:=3): 'CUDA_ERROR_NOT_INITIALIZED', (CUDA_ERROR_DEINITIALIZED:=4): 'CUDA_ERROR_DEINITIALIZED', (CUDA_ERROR_PROFILER_DISABLED:=5): 'CUDA_ERROR_PROFILER_DISABLED', (CUDA_ERROR_PROFILER_NOT_INITIALIZED:=6): 'CUDA_ERROR_PROFILER_NOT_INITIALIZED', (CUDA_ERROR_PROFILER_ALREADY_STARTED:=7): 'CUDA_ERROR_PROFILER_ALREADY_STARTED', (CUDA_ERROR_PROFILER_ALREADY_STOPPED:=8): 'CUDA_ERROR_PROFILER_ALREADY_STOPPED', (CUDA_ERROR_STUB_LIBRARY:=34): 'CUDA_ERROR_STUB_LIBRARY', (CUDA_ERROR_DEVICE_UNAVAILABLE:=46): 'CUDA_ERROR_DEVICE_UNAVAILABLE', (CUDA_ERROR_NO_DEVICE:=100): 'CUDA_ERROR_NO_DEVICE', (CUDA_ERROR_INVALID_DEVICE:=101): 'CUDA_ERROR_INVALID_DEVICE', (CUDA_ERROR_DEVICE_NOT_LICENSED:=102): 'CUDA_ERROR_DEVICE_NOT_LICENSED', (CUDA_ERROR_INVALID_IMAGE:=200): 'CUDA_ERROR_INVALID_IMAGE', (CUDA_ERROR_INVALID_CONTEXT:=201): 'CUDA_ERROR_INVALID_CONTEXT', (CUDA_ERROR_CONTEXT_ALREADY_CURRENT:=202): 'CUDA_ERROR_CONTEXT_ALREADY_CURRENT', (CUDA_ERROR_MAP_FAILED:=205): 'CUDA_ERROR_MAP_FAILED', (CUDA_ERROR_UNMAP_FAILED:=206): 'CUDA_ERROR_UNMAP_FAILED', (CUDA_ERROR_ARRAY_IS_MAPPED:=207): 'CUDA_ERROR_ARRAY_IS_MAPPED', (CUDA_ERROR_ALREADY_MAPPED:=208): 'CUDA_ERROR_ALREADY_MAPPED', (CUDA_ERROR_NO_BINARY_FOR_GPU:=209): 'CUDA_ERROR_NO_BINARY_FOR_GPU', (CUDA_ERROR_ALREADY_ACQUIRED:=210): 'CUDA_ERROR_ALREADY_ACQUIRED', (CUDA_ERROR_NOT_MAPPED:=211): 'CUDA_ERROR_NOT_MAPPED', (CUDA_ERROR_NOT_MAPPED_AS_ARRAY:=212): 'CUDA_ERROR_NOT_MAPPED_AS_ARRAY', (CUDA_ERROR_NOT_MAPPED_AS_POINTER:=213): 'CUDA_ERROR_NOT_MAPPED_AS_POINTER', (CUDA_ERROR_ECC_UNCORRECTABLE:=214): 'CUDA_ERROR_ECC_UNCORRECTABLE', (CUDA_ERROR_UNSUPPORTED_LIMIT:=215): 'CUDA_ERROR_UNSUPPORTED_LIMIT', (CUDA_ERROR_CONTEXT_ALREADY_IN_USE:=216): 'CUDA_ERROR_CONTEXT_ALREADY_IN_USE', (CUDA_ERROR_PEER_ACCESS_UNSUPPORTED:=217): 'CUDA_ERROR_PEER_ACCESS_UNSUPPORTED', (CUDA_ERROR_INVALID_PTX:=218): 'CUDA_ERROR_INVALID_PTX', (CUDA_ERROR_INVALID_GRAPHICS_CONTEXT:=219): 'CUDA_ERROR_INVALID_GRAPHICS_CONTEXT', (CUDA_ERROR_NVLINK_UNCORRECTABLE:=220): 'CUDA_ERROR_NVLINK_UNCORRECTABLE', (CUDA_ERROR_JIT_COMPILER_NOT_FOUND:=221): 'CUDA_ERROR_JIT_COMPILER_NOT_FOUND', (CUDA_ERROR_UNSUPPORTED_PTX_VERSION:=222): 'CUDA_ERROR_UNSUPPORTED_PTX_VERSION', (CUDA_ERROR_JIT_COMPILATION_DISABLED:=223): 'CUDA_ERROR_JIT_COMPILATION_DISABLED', (CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY:=224): 'CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY', (CUDA_ERROR_INVALID_SOURCE:=300): 'CUDA_ERROR_INVALID_SOURCE', (CUDA_ERROR_FILE_NOT_FOUND:=301): 'CUDA_ERROR_FILE_NOT_FOUND', (CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND:=302): 'CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND', (CUDA_ERROR_SHARED_OBJECT_INIT_FAILED:=303): 'CUDA_ERROR_SHARED_OBJECT_INIT_FAILED', (CUDA_ERROR_OPERATING_SYSTEM:=304): 'CUDA_ERROR_OPERATING_SYSTEM', (CUDA_ERROR_INVALID_HANDLE:=400): 'CUDA_ERROR_INVALID_HANDLE', (CUDA_ERROR_ILLEGAL_STATE:=401): 'CUDA_ERROR_ILLEGAL_STATE', (CUDA_ERROR_NOT_FOUND:=500): 'CUDA_ERROR_NOT_FOUND', (CUDA_ERROR_NOT_READY:=600): 'CUDA_ERROR_NOT_READY', (CUDA_ERROR_ILLEGAL_ADDRESS:=700): 'CUDA_ERROR_ILLEGAL_ADDRESS', (CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES:=701): 'CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES', (CUDA_ERROR_LAUNCH_TIMEOUT:=702): 'CUDA_ERROR_LAUNCH_TIMEOUT', (CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING:=703): 'CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING', (CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED:=704): 'CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED', (CUDA_ERROR_PEER_ACCESS_NOT_ENABLED:=705): 'CUDA_ERROR_PEER_ACCESS_NOT_ENABLED', (CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE:=708): 'CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE', (CUDA_ERROR_CONTEXT_IS_DESTROYED:=709): 'CUDA_ERROR_CONTEXT_IS_DESTROYED', (CUDA_ERROR_ASSERT:=710): 'CUDA_ERROR_ASSERT', (CUDA_ERROR_TOO_MANY_PEERS:=711): 'CUDA_ERROR_TOO_MANY_PEERS', (CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED:=712): 'CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED', (CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED:=713): 'CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED', (CUDA_ERROR_HARDWARE_STACK_ERROR:=714): 'CUDA_ERROR_HARDWARE_STACK_ERROR', (CUDA_ERROR_ILLEGAL_INSTRUCTION:=715): 'CUDA_ERROR_ILLEGAL_INSTRUCTION', (CUDA_ERROR_MISALIGNED_ADDRESS:=716): 'CUDA_ERROR_MISALIGNED_ADDRESS', (CUDA_ERROR_INVALID_ADDRESS_SPACE:=717): 'CUDA_ERROR_INVALID_ADDRESS_SPACE', (CUDA_ERROR_INVALID_PC:=718): 'CUDA_ERROR_INVALID_PC', (CUDA_ERROR_LAUNCH_FAILED:=719): 'CUDA_ERROR_LAUNCH_FAILED', (CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE:=720): 'CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE', (CUDA_ERROR_NOT_PERMITTED:=800): 'CUDA_ERROR_NOT_PERMITTED', (CUDA_ERROR_NOT_SUPPORTED:=801): 'CUDA_ERROR_NOT_SUPPORTED', (CUDA_ERROR_SYSTEM_NOT_READY:=802): 'CUDA_ERROR_SYSTEM_NOT_READY', (CUDA_ERROR_SYSTEM_DRIVER_MISMATCH:=803): 'CUDA_ERROR_SYSTEM_DRIVER_MISMATCH', (CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE:=804): 'CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE', (CUDA_ERROR_MPS_CONNECTION_FAILED:=805): 'CUDA_ERROR_MPS_CONNECTION_FAILED', (CUDA_ERROR_MPS_RPC_FAILURE:=806): 'CUDA_ERROR_MPS_RPC_FAILURE', (CUDA_ERROR_MPS_SERVER_NOT_READY:=807): 'CUDA_ERROR_MPS_SERVER_NOT_READY', (CUDA_ERROR_MPS_MAX_CLIENTS_REACHED:=808): 'CUDA_ERROR_MPS_MAX_CLIENTS_REACHED', (CUDA_ERROR_MPS_MAX_CONNECTIONS_REACHED:=809): 'CUDA_ERROR_MPS_MAX_CONNECTIONS_REACHED', (CUDA_ERROR_MPS_CLIENT_TERMINATED:=810): 'CUDA_ERROR_MPS_CLIENT_TERMINATED', (CUDA_ERROR_CDP_NOT_SUPPORTED:=811): 'CUDA_ERROR_CDP_NOT_SUPPORTED', (CUDA_ERROR_CDP_VERSION_MISMATCH:=812): 'CUDA_ERROR_CDP_VERSION_MISMATCH', (CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED:=900): 'CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED', (CUDA_ERROR_STREAM_CAPTURE_INVALIDATED:=901): 'CUDA_ERROR_STREAM_CAPTURE_INVALIDATED', (CUDA_ERROR_STREAM_CAPTURE_MERGE:=902): 'CUDA_ERROR_STREAM_CAPTURE_MERGE', (CUDA_ERROR_STREAM_CAPTURE_UNMATCHED:=903): 'CUDA_ERROR_STREAM_CAPTURE_UNMATCHED', (CUDA_ERROR_STREAM_CAPTURE_UNJOINED:=904): 'CUDA_ERROR_STREAM_CAPTURE_UNJOINED', (CUDA_ERROR_STREAM_CAPTURE_ISOLATION:=905): 'CUDA_ERROR_STREAM_CAPTURE_ISOLATION', (CUDA_ERROR_STREAM_CAPTURE_IMPLICIT:=906): 'CUDA_ERROR_STREAM_CAPTURE_IMPLICIT', (CUDA_ERROR_CAPTURED_EVENT:=907): 'CUDA_ERROR_CAPTURED_EVENT', (CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD:=908): 'CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD', (CUDA_ERROR_TIMEOUT:=909): 'CUDA_ERROR_TIMEOUT', (CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE:=910): 'CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE', (CUDA_ERROR_EXTERNAL_DEVICE:=911): 'CUDA_ERROR_EXTERNAL_DEVICE', (CUDA_ERROR_INVALID_CLUSTER_SIZE:=912): 'CUDA_ERROR_INVALID_CLUSTER_SIZE', (CUDA_ERROR_UNKNOWN:=999): 'CUDA_ERROR_UNKNOWN'}
CUresult: TypeAlias = ctypes.c_uint32
enum_CUdevice_P2PAttribute_enum: dict[int, str] = {(CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK:=1): 'CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK', (CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED:=2): 'CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED', (CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED:=3): 'CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED', (CU_DEVICE_P2P_ATTRIBUTE_ACCESS_ACCESS_SUPPORTED:=4): 'CU_DEVICE_P2P_ATTRIBUTE_ACCESS_ACCESS_SUPPORTED', (CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED:=4): 'CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED'}
CUdevice_P2PAttribute: TypeAlias = ctypes.c_uint32
CUstreamCallback: TypeAlias = c.CFUNCTYPE[None, [c.POINTER[struct_CUstream_st], ctypes.c_uint32, ctypes.c_void_p]]
CUoccupancyB2DSize: TypeAlias = c.CFUNCTYPE[ctypes.c_uint64, [ctypes.c_int32]]
@c.record
class struct_CUDA_MEMCPY2D_st(c.Struct):
  SIZE = 128
  srcXInBytes: int
  srcY: int
  srcMemoryType: int
  srcHost: ctypes.c_void_p
  srcDevice: int
  srcArray: c.POINTER[struct_CUarray_st]
  srcPitch: int
  dstXInBytes: int
  dstY: int
  dstMemoryType: int
  dstHost: ctypes.c_void_p
  dstDevice: int
  dstArray: c.POINTER[struct_CUarray_st]
  dstPitch: int
  WidthInBytes: int
  Height: int
struct_CUDA_MEMCPY2D_st.register_fields([('srcXInBytes', size_t, 0), ('srcY', size_t, 8), ('srcMemoryType', CUmemorytype, 16), ('srcHost', ctypes.c_void_p, 24), ('srcDevice', CUdeviceptr, 32), ('srcArray', CUarray, 40), ('srcPitch', size_t, 48), ('dstXInBytes', size_t, 56), ('dstY', size_t, 64), ('dstMemoryType', CUmemorytype, 72), ('dstHost', ctypes.c_void_p, 80), ('dstDevice', CUdeviceptr, 88), ('dstArray', CUarray, 96), ('dstPitch', size_t, 104), ('WidthInBytes', size_t, 112), ('Height', size_t, 120)])
CUDA_MEMCPY2D_v2: TypeAlias = struct_CUDA_MEMCPY2D_st
CUDA_MEMCPY2D: TypeAlias = struct_CUDA_MEMCPY2D_st
@c.record
class struct_CUDA_MEMCPY3D_st(c.Struct):
  SIZE = 200
  srcXInBytes: int
  srcY: int
  srcZ: int
  srcLOD: int
  srcMemoryType: int
  srcHost: ctypes.c_void_p
  srcDevice: int
  srcArray: c.POINTER[struct_CUarray_st]
  reserved0: ctypes.c_void_p
  srcPitch: int
  srcHeight: int
  dstXInBytes: int
  dstY: int
  dstZ: int
  dstLOD: int
  dstMemoryType: int
  dstHost: ctypes.c_void_p
  dstDevice: int
  dstArray: c.POINTER[struct_CUarray_st]
  reserved1: ctypes.c_void_p
  dstPitch: int
  dstHeight: int
  WidthInBytes: int
  Height: int
  Depth: int
struct_CUDA_MEMCPY3D_st.register_fields([('srcXInBytes', size_t, 0), ('srcY', size_t, 8), ('srcZ', size_t, 16), ('srcLOD', size_t, 24), ('srcMemoryType', CUmemorytype, 32), ('srcHost', ctypes.c_void_p, 40), ('srcDevice', CUdeviceptr, 48), ('srcArray', CUarray, 56), ('reserved0', ctypes.c_void_p, 64), ('srcPitch', size_t, 72), ('srcHeight', size_t, 80), ('dstXInBytes', size_t, 88), ('dstY', size_t, 96), ('dstZ', size_t, 104), ('dstLOD', size_t, 112), ('dstMemoryType', CUmemorytype, 120), ('dstHost', ctypes.c_void_p, 128), ('dstDevice', CUdeviceptr, 136), ('dstArray', CUarray, 144), ('reserved1', ctypes.c_void_p, 152), ('dstPitch', size_t, 160), ('dstHeight', size_t, 168), ('WidthInBytes', size_t, 176), ('Height', size_t, 184), ('Depth', size_t, 192)])
CUDA_MEMCPY3D_v2: TypeAlias = struct_CUDA_MEMCPY3D_st
CUDA_MEMCPY3D: TypeAlias = struct_CUDA_MEMCPY3D_st
@c.record
class struct_CUDA_MEMCPY3D_PEER_st(c.Struct):
  SIZE = 200
  srcXInBytes: int
  srcY: int
  srcZ: int
  srcLOD: int
  srcMemoryType: int
  srcHost: ctypes.c_void_p
  srcDevice: int
  srcArray: c.POINTER[struct_CUarray_st]
  srcContext: c.POINTER[struct_CUctx_st]
  srcPitch: int
  srcHeight: int
  dstXInBytes: int
  dstY: int
  dstZ: int
  dstLOD: int
  dstMemoryType: int
  dstHost: ctypes.c_void_p
  dstDevice: int
  dstArray: c.POINTER[struct_CUarray_st]
  dstContext: c.POINTER[struct_CUctx_st]
  dstPitch: int
  dstHeight: int
  WidthInBytes: int
  Height: int
  Depth: int
struct_CUDA_MEMCPY3D_PEER_st.register_fields([('srcXInBytes', size_t, 0), ('srcY', size_t, 8), ('srcZ', size_t, 16), ('srcLOD', size_t, 24), ('srcMemoryType', CUmemorytype, 32), ('srcHost', ctypes.c_void_p, 40), ('srcDevice', CUdeviceptr, 48), ('srcArray', CUarray, 56), ('srcContext', CUcontext, 64), ('srcPitch', size_t, 72), ('srcHeight', size_t, 80), ('dstXInBytes', size_t, 88), ('dstY', size_t, 96), ('dstZ', size_t, 104), ('dstLOD', size_t, 112), ('dstMemoryType', CUmemorytype, 120), ('dstHost', ctypes.c_void_p, 128), ('dstDevice', CUdeviceptr, 136), ('dstArray', CUarray, 144), ('dstContext', CUcontext, 152), ('dstPitch', size_t, 160), ('dstHeight', size_t, 168), ('WidthInBytes', size_t, 176), ('Height', size_t, 184), ('Depth', size_t, 192)])
CUDA_MEMCPY3D_PEER_v1: TypeAlias = struct_CUDA_MEMCPY3D_PEER_st
CUDA_MEMCPY3D_PEER: TypeAlias = struct_CUDA_MEMCPY3D_PEER_st
@c.record
class struct_CUDA_ARRAY_DESCRIPTOR_st(c.Struct):
  SIZE = 24
  Width: int
  Height: int
  Format: int
  NumChannels: int
struct_CUDA_ARRAY_DESCRIPTOR_st.register_fields([('Width', size_t, 0), ('Height', size_t, 8), ('Format', CUarray_format, 16), ('NumChannels', ctypes.c_uint32, 20)])
CUDA_ARRAY_DESCRIPTOR_v2: TypeAlias = struct_CUDA_ARRAY_DESCRIPTOR_st
CUDA_ARRAY_DESCRIPTOR: TypeAlias = struct_CUDA_ARRAY_DESCRIPTOR_st
@c.record
class struct_CUDA_ARRAY3D_DESCRIPTOR_st(c.Struct):
  SIZE = 40
  Width: int
  Height: int
  Depth: int
  Format: int
  NumChannels: int
  Flags: int
struct_CUDA_ARRAY3D_DESCRIPTOR_st.register_fields([('Width', size_t, 0), ('Height', size_t, 8), ('Depth', size_t, 16), ('Format', CUarray_format, 24), ('NumChannels', ctypes.c_uint32, 28), ('Flags', ctypes.c_uint32, 32)])
CUDA_ARRAY3D_DESCRIPTOR_v2: TypeAlias = struct_CUDA_ARRAY3D_DESCRIPTOR_st
CUDA_ARRAY3D_DESCRIPTOR: TypeAlias = struct_CUDA_ARRAY3D_DESCRIPTOR_st
@c.record
class struct_CUDA_ARRAY_SPARSE_PROPERTIES_st(c.Struct):
  SIZE = 48
  tileExtent: struct_CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent
  miptailFirstLevel: int
  miptailSize: int
  flags: int
  reserved: c.Array[ctypes.c_uint32, Literal[4]]
@c.record
class struct_CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent(c.Struct):
  SIZE = 12
  width: int
  height: int
  depth: int
struct_CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent.register_fields([('width', ctypes.c_uint32, 0), ('height', ctypes.c_uint32, 4), ('depth', ctypes.c_uint32, 8)])
struct_CUDA_ARRAY_SPARSE_PROPERTIES_st.register_fields([('tileExtent', struct_CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent, 0), ('miptailFirstLevel', ctypes.c_uint32, 12), ('miptailSize', ctypes.c_uint64, 16), ('flags', ctypes.c_uint32, 24), ('reserved', c.Array[ctypes.c_uint32, Literal[4]], 28)])
CUDA_ARRAY_SPARSE_PROPERTIES_v1: TypeAlias = struct_CUDA_ARRAY_SPARSE_PROPERTIES_st
CUDA_ARRAY_SPARSE_PROPERTIES: TypeAlias = struct_CUDA_ARRAY_SPARSE_PROPERTIES_st
@c.record
class struct_CUDA_ARRAY_MEMORY_REQUIREMENTS_st(c.Struct):
  SIZE = 32
  size: int
  alignment: int
  reserved: c.Array[ctypes.c_uint32, Literal[4]]
struct_CUDA_ARRAY_MEMORY_REQUIREMENTS_st.register_fields([('size', size_t, 0), ('alignment', size_t, 8), ('reserved', c.Array[ctypes.c_uint32, Literal[4]], 16)])
CUDA_ARRAY_MEMORY_REQUIREMENTS_v1: TypeAlias = struct_CUDA_ARRAY_MEMORY_REQUIREMENTS_st
CUDA_ARRAY_MEMORY_REQUIREMENTS: TypeAlias = struct_CUDA_ARRAY_MEMORY_REQUIREMENTS_st
@c.record
class struct_CUDA_RESOURCE_DESC_st(c.Struct):
  SIZE = 144
  resType: int
  res: struct_CUDA_RESOURCE_DESC_st_res
  flags: int
@c.record
class struct_CUDA_RESOURCE_DESC_st_res(c.Struct):
  SIZE = 128
  array: struct_CUDA_RESOURCE_DESC_st_res_array
  mipmap: struct_CUDA_RESOURCE_DESC_st_res_mipmap
  linear: struct_CUDA_RESOURCE_DESC_st_res_linear
  pitch2D: struct_CUDA_RESOURCE_DESC_st_res_pitch2D
  reserved: struct_CUDA_RESOURCE_DESC_st_res_reserved
@c.record
class struct_CUDA_RESOURCE_DESC_st_res_array(c.Struct):
  SIZE = 8
  hArray: c.POINTER[struct_CUarray_st]
struct_CUDA_RESOURCE_DESC_st_res_array.register_fields([('hArray', CUarray, 0)])
@c.record
class struct_CUDA_RESOURCE_DESC_st_res_mipmap(c.Struct):
  SIZE = 8
  hMipmappedArray: c.POINTER[struct_CUmipmappedArray_st]
struct_CUDA_RESOURCE_DESC_st_res_mipmap.register_fields([('hMipmappedArray', CUmipmappedArray, 0)])
@c.record
class struct_CUDA_RESOURCE_DESC_st_res_linear(c.Struct):
  SIZE = 24
  devPtr: int
  format: int
  numChannels: int
  sizeInBytes: int
struct_CUDA_RESOURCE_DESC_st_res_linear.register_fields([('devPtr', CUdeviceptr, 0), ('format', CUarray_format, 8), ('numChannels', ctypes.c_uint32, 12), ('sizeInBytes', size_t, 16)])
@c.record
class struct_CUDA_RESOURCE_DESC_st_res_pitch2D(c.Struct):
  SIZE = 40
  devPtr: int
  format: int
  numChannels: int
  width: int
  height: int
  pitchInBytes: int
struct_CUDA_RESOURCE_DESC_st_res_pitch2D.register_fields([('devPtr', CUdeviceptr, 0), ('format', CUarray_format, 8), ('numChannels', ctypes.c_uint32, 12), ('width', size_t, 16), ('height', size_t, 24), ('pitchInBytes', size_t, 32)])
@c.record
class struct_CUDA_RESOURCE_DESC_st_res_reserved(c.Struct):
  SIZE = 128
  reserved: c.Array[ctypes.c_int32, Literal[32]]
struct_CUDA_RESOURCE_DESC_st_res_reserved.register_fields([('reserved', c.Array[ctypes.c_int32, Literal[32]], 0)])
struct_CUDA_RESOURCE_DESC_st_res.register_fields([('array', struct_CUDA_RESOURCE_DESC_st_res_array, 0), ('mipmap', struct_CUDA_RESOURCE_DESC_st_res_mipmap, 0), ('linear', struct_CUDA_RESOURCE_DESC_st_res_linear, 0), ('pitch2D', struct_CUDA_RESOURCE_DESC_st_res_pitch2D, 0), ('reserved', struct_CUDA_RESOURCE_DESC_st_res_reserved, 0)])
struct_CUDA_RESOURCE_DESC_st.register_fields([('resType', CUresourcetype, 0), ('res', struct_CUDA_RESOURCE_DESC_st_res, 8), ('flags', ctypes.c_uint32, 136)])
CUDA_RESOURCE_DESC_v1: TypeAlias = struct_CUDA_RESOURCE_DESC_st
CUDA_RESOURCE_DESC: TypeAlias = struct_CUDA_RESOURCE_DESC_st
@c.record
class struct_CUDA_TEXTURE_DESC_st(c.Struct):
  SIZE = 104
  addressMode: c.Array[ctypes.c_uint32, Literal[3]]
  filterMode: int
  flags: int
  maxAnisotropy: int
  mipmapFilterMode: int
  mipmapLevelBias: float
  minMipmapLevelClamp: float
  maxMipmapLevelClamp: float
  borderColor: c.Array[ctypes.c_float, Literal[4]]
  reserved: c.Array[ctypes.c_int32, Literal[12]]
struct_CUDA_TEXTURE_DESC_st.register_fields([('addressMode', c.Array[CUaddress_mode, Literal[3]], 0), ('filterMode', CUfilter_mode, 12), ('flags', ctypes.c_uint32, 16), ('maxAnisotropy', ctypes.c_uint32, 20), ('mipmapFilterMode', CUfilter_mode, 24), ('mipmapLevelBias', ctypes.c_float, 28), ('minMipmapLevelClamp', ctypes.c_float, 32), ('maxMipmapLevelClamp', ctypes.c_float, 36), ('borderColor', c.Array[ctypes.c_float, Literal[4]], 40), ('reserved', c.Array[ctypes.c_int32, Literal[12]], 56)])
CUDA_TEXTURE_DESC_v1: TypeAlias = struct_CUDA_TEXTURE_DESC_st
CUDA_TEXTURE_DESC: TypeAlias = struct_CUDA_TEXTURE_DESC_st
enum_CUresourceViewFormat_enum: dict[int, str] = {(CU_RES_VIEW_FORMAT_NONE:=0): 'CU_RES_VIEW_FORMAT_NONE', (CU_RES_VIEW_FORMAT_UINT_1X8:=1): 'CU_RES_VIEW_FORMAT_UINT_1X8', (CU_RES_VIEW_FORMAT_UINT_2X8:=2): 'CU_RES_VIEW_FORMAT_UINT_2X8', (CU_RES_VIEW_FORMAT_UINT_4X8:=3): 'CU_RES_VIEW_FORMAT_UINT_4X8', (CU_RES_VIEW_FORMAT_SINT_1X8:=4): 'CU_RES_VIEW_FORMAT_SINT_1X8', (CU_RES_VIEW_FORMAT_SINT_2X8:=5): 'CU_RES_VIEW_FORMAT_SINT_2X8', (CU_RES_VIEW_FORMAT_SINT_4X8:=6): 'CU_RES_VIEW_FORMAT_SINT_4X8', (CU_RES_VIEW_FORMAT_UINT_1X16:=7): 'CU_RES_VIEW_FORMAT_UINT_1X16', (CU_RES_VIEW_FORMAT_UINT_2X16:=8): 'CU_RES_VIEW_FORMAT_UINT_2X16', (CU_RES_VIEW_FORMAT_UINT_4X16:=9): 'CU_RES_VIEW_FORMAT_UINT_4X16', (CU_RES_VIEW_FORMAT_SINT_1X16:=10): 'CU_RES_VIEW_FORMAT_SINT_1X16', (CU_RES_VIEW_FORMAT_SINT_2X16:=11): 'CU_RES_VIEW_FORMAT_SINT_2X16', (CU_RES_VIEW_FORMAT_SINT_4X16:=12): 'CU_RES_VIEW_FORMAT_SINT_4X16', (CU_RES_VIEW_FORMAT_UINT_1X32:=13): 'CU_RES_VIEW_FORMAT_UINT_1X32', (CU_RES_VIEW_FORMAT_UINT_2X32:=14): 'CU_RES_VIEW_FORMAT_UINT_2X32', (CU_RES_VIEW_FORMAT_UINT_4X32:=15): 'CU_RES_VIEW_FORMAT_UINT_4X32', (CU_RES_VIEW_FORMAT_SINT_1X32:=16): 'CU_RES_VIEW_FORMAT_SINT_1X32', (CU_RES_VIEW_FORMAT_SINT_2X32:=17): 'CU_RES_VIEW_FORMAT_SINT_2X32', (CU_RES_VIEW_FORMAT_SINT_4X32:=18): 'CU_RES_VIEW_FORMAT_SINT_4X32', (CU_RES_VIEW_FORMAT_FLOAT_1X16:=19): 'CU_RES_VIEW_FORMAT_FLOAT_1X16', (CU_RES_VIEW_FORMAT_FLOAT_2X16:=20): 'CU_RES_VIEW_FORMAT_FLOAT_2X16', (CU_RES_VIEW_FORMAT_FLOAT_4X16:=21): 'CU_RES_VIEW_FORMAT_FLOAT_4X16', (CU_RES_VIEW_FORMAT_FLOAT_1X32:=22): 'CU_RES_VIEW_FORMAT_FLOAT_1X32', (CU_RES_VIEW_FORMAT_FLOAT_2X32:=23): 'CU_RES_VIEW_FORMAT_FLOAT_2X32', (CU_RES_VIEW_FORMAT_FLOAT_4X32:=24): 'CU_RES_VIEW_FORMAT_FLOAT_4X32', (CU_RES_VIEW_FORMAT_UNSIGNED_BC1:=25): 'CU_RES_VIEW_FORMAT_UNSIGNED_BC1', (CU_RES_VIEW_FORMAT_UNSIGNED_BC2:=26): 'CU_RES_VIEW_FORMAT_UNSIGNED_BC2', (CU_RES_VIEW_FORMAT_UNSIGNED_BC3:=27): 'CU_RES_VIEW_FORMAT_UNSIGNED_BC3', (CU_RES_VIEW_FORMAT_UNSIGNED_BC4:=28): 'CU_RES_VIEW_FORMAT_UNSIGNED_BC4', (CU_RES_VIEW_FORMAT_SIGNED_BC4:=29): 'CU_RES_VIEW_FORMAT_SIGNED_BC4', (CU_RES_VIEW_FORMAT_UNSIGNED_BC5:=30): 'CU_RES_VIEW_FORMAT_UNSIGNED_BC5', (CU_RES_VIEW_FORMAT_SIGNED_BC5:=31): 'CU_RES_VIEW_FORMAT_SIGNED_BC5', (CU_RES_VIEW_FORMAT_UNSIGNED_BC6H:=32): 'CU_RES_VIEW_FORMAT_UNSIGNED_BC6H', (CU_RES_VIEW_FORMAT_SIGNED_BC6H:=33): 'CU_RES_VIEW_FORMAT_SIGNED_BC6H', (CU_RES_VIEW_FORMAT_UNSIGNED_BC7:=34): 'CU_RES_VIEW_FORMAT_UNSIGNED_BC7'}
CUresourceViewFormat: TypeAlias = ctypes.c_uint32
@c.record
class struct_CUDA_RESOURCE_VIEW_DESC_st(c.Struct):
  SIZE = 112
  format: int
  width: int
  height: int
  depth: int
  firstMipmapLevel: int
  lastMipmapLevel: int
  firstLayer: int
  lastLayer: int
  reserved: c.Array[ctypes.c_uint32, Literal[16]]
struct_CUDA_RESOURCE_VIEW_DESC_st.register_fields([('format', CUresourceViewFormat, 0), ('width', size_t, 8), ('height', size_t, 16), ('depth', size_t, 24), ('firstMipmapLevel', ctypes.c_uint32, 32), ('lastMipmapLevel', ctypes.c_uint32, 36), ('firstLayer', ctypes.c_uint32, 40), ('lastLayer', ctypes.c_uint32, 44), ('reserved', c.Array[ctypes.c_uint32, Literal[16]], 48)])
CUDA_RESOURCE_VIEW_DESC_v1: TypeAlias = struct_CUDA_RESOURCE_VIEW_DESC_st
CUDA_RESOURCE_VIEW_DESC: TypeAlias = struct_CUDA_RESOURCE_VIEW_DESC_st
@c.record
class struct_CUtensorMap_st(c.Struct):
  SIZE = 128
  opaque: c.Array[ctypes.c_uint64, Literal[16]]
struct_CUtensorMap_st.register_fields([('opaque', c.Array[cuuint64_t, Literal[16]], 0)])
CUtensorMap: TypeAlias = struct_CUtensorMap_st
enum_CUtensorMapDataType_enum: dict[int, str] = {(CU_TENSOR_MAP_DATA_TYPE_UINT8:=0): 'CU_TENSOR_MAP_DATA_TYPE_UINT8', (CU_TENSOR_MAP_DATA_TYPE_UINT16:=1): 'CU_TENSOR_MAP_DATA_TYPE_UINT16', (CU_TENSOR_MAP_DATA_TYPE_UINT32:=2): 'CU_TENSOR_MAP_DATA_TYPE_UINT32', (CU_TENSOR_MAP_DATA_TYPE_INT32:=3): 'CU_TENSOR_MAP_DATA_TYPE_INT32', (CU_TENSOR_MAP_DATA_TYPE_UINT64:=4): 'CU_TENSOR_MAP_DATA_TYPE_UINT64', (CU_TENSOR_MAP_DATA_TYPE_INT64:=5): 'CU_TENSOR_MAP_DATA_TYPE_INT64', (CU_TENSOR_MAP_DATA_TYPE_FLOAT16:=6): 'CU_TENSOR_MAP_DATA_TYPE_FLOAT16', (CU_TENSOR_MAP_DATA_TYPE_FLOAT32:=7): 'CU_TENSOR_MAP_DATA_TYPE_FLOAT32', (CU_TENSOR_MAP_DATA_TYPE_FLOAT64:=8): 'CU_TENSOR_MAP_DATA_TYPE_FLOAT64', (CU_TENSOR_MAP_DATA_TYPE_BFLOAT16:=9): 'CU_TENSOR_MAP_DATA_TYPE_BFLOAT16', (CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ:=10): 'CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ', (CU_TENSOR_MAP_DATA_TYPE_TFLOAT32:=11): 'CU_TENSOR_MAP_DATA_TYPE_TFLOAT32', (CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ:=12): 'CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ'}
CUtensorMapDataType: TypeAlias = ctypes.c_uint32
enum_CUtensorMapInterleave_enum: dict[int, str] = {(CU_TENSOR_MAP_INTERLEAVE_NONE:=0): 'CU_TENSOR_MAP_INTERLEAVE_NONE', (CU_TENSOR_MAP_INTERLEAVE_16B:=1): 'CU_TENSOR_MAP_INTERLEAVE_16B', (CU_TENSOR_MAP_INTERLEAVE_32B:=2): 'CU_TENSOR_MAP_INTERLEAVE_32B'}
CUtensorMapInterleave: TypeAlias = ctypes.c_uint32
enum_CUtensorMapSwizzle_enum: dict[int, str] = {(CU_TENSOR_MAP_SWIZZLE_NONE:=0): 'CU_TENSOR_MAP_SWIZZLE_NONE', (CU_TENSOR_MAP_SWIZZLE_32B:=1): 'CU_TENSOR_MAP_SWIZZLE_32B', (CU_TENSOR_MAP_SWIZZLE_64B:=2): 'CU_TENSOR_MAP_SWIZZLE_64B', (CU_TENSOR_MAP_SWIZZLE_128B:=3): 'CU_TENSOR_MAP_SWIZZLE_128B'}
CUtensorMapSwizzle: TypeAlias = ctypes.c_uint32
enum_CUtensorMapL2promotion_enum: dict[int, str] = {(CU_TENSOR_MAP_L2_PROMOTION_NONE:=0): 'CU_TENSOR_MAP_L2_PROMOTION_NONE', (CU_TENSOR_MAP_L2_PROMOTION_L2_64B:=1): 'CU_TENSOR_MAP_L2_PROMOTION_L2_64B', (CU_TENSOR_MAP_L2_PROMOTION_L2_128B:=2): 'CU_TENSOR_MAP_L2_PROMOTION_L2_128B', (CU_TENSOR_MAP_L2_PROMOTION_L2_256B:=3): 'CU_TENSOR_MAP_L2_PROMOTION_L2_256B'}
CUtensorMapL2promotion: TypeAlias = ctypes.c_uint32
enum_CUtensorMapFloatOOBfill_enum: dict[int, str] = {(CU_TENSOR_MAP_FLOAT_OOB_FILL_NONE:=0): 'CU_TENSOR_MAP_FLOAT_OOB_FILL_NONE', (CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA:=1): 'CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA'}
CUtensorMapFloatOOBfill: TypeAlias = ctypes.c_uint32
@c.record
class struct_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st(c.Struct):
  SIZE = 16
  p2pToken: int
  vaSpaceToken: int
struct_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.register_fields([('p2pToken', ctypes.c_uint64, 0), ('vaSpaceToken', ctypes.c_uint32, 8)])
CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1: TypeAlias = struct_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st
CUDA_POINTER_ATTRIBUTE_P2P_TOKENS: TypeAlias = struct_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st
enum_CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum: dict[int, str] = {(CU_POINTER_ATTRIBUTE_ACCESS_FLAG_NONE:=0): 'CU_POINTER_ATTRIBUTE_ACCESS_FLAG_NONE', (CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READ:=1): 'CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READ', (CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READWRITE:=3): 'CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READWRITE'}
CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS: TypeAlias = ctypes.c_uint32
@c.record
class struct_CUDA_LAUNCH_PARAMS_st(c.Struct):
  SIZE = 56
  function: c.POINTER[struct_CUfunc_st]
  gridDimX: int
  gridDimY: int
  gridDimZ: int
  blockDimX: int
  blockDimY: int
  blockDimZ: int
  sharedMemBytes: int
  hStream: c.POINTER[struct_CUstream_st]
  kernelParams: c.POINTER[ctypes.c_void_p]
struct_CUDA_LAUNCH_PARAMS_st.register_fields([('function', CUfunction, 0), ('gridDimX', ctypes.c_uint32, 8), ('gridDimY', ctypes.c_uint32, 12), ('gridDimZ', ctypes.c_uint32, 16), ('blockDimX', ctypes.c_uint32, 20), ('blockDimY', ctypes.c_uint32, 24), ('blockDimZ', ctypes.c_uint32, 28), ('sharedMemBytes', ctypes.c_uint32, 32), ('hStream', CUstream, 40), ('kernelParams', c.POINTER[ctypes.c_void_p], 48)])
CUDA_LAUNCH_PARAMS_v1: TypeAlias = struct_CUDA_LAUNCH_PARAMS_st
CUDA_LAUNCH_PARAMS: TypeAlias = struct_CUDA_LAUNCH_PARAMS_st
enum_CUexternalMemoryHandleType_enum: dict[int, str] = {(CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD:=1): 'CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD', (CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32:=2): 'CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32', (CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT:=3): 'CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT', (CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP:=4): 'CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP', (CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE:=5): 'CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE', (CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE:=6): 'CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE', (CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE_KMT:=7): 'CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE_KMT', (CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF:=8): 'CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF'}
CUexternalMemoryHandleType: TypeAlias = ctypes.c_uint32
@c.record
class struct_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st(c.Struct):
  SIZE = 104
  type: int
  handle: struct_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle
  size: int
  flags: int
  reserved: c.Array[ctypes.c_uint32, Literal[16]]
@c.record
class struct_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle(c.Struct):
  SIZE = 16
  fd: int
  win32: struct_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_win32
  nvSciBufObject: ctypes.c_void_p
@c.record
class struct_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_win32(c.Struct):
  SIZE = 16
  handle: ctypes.c_void_p
  name: ctypes.c_void_p
struct_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_win32.register_fields([('handle', ctypes.c_void_p, 0), ('name', ctypes.c_void_p, 8)])
struct_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle.register_fields([('fd', ctypes.c_int32, 0), ('win32', struct_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_win32, 0), ('nvSciBufObject', ctypes.c_void_p, 0)])
struct_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.register_fields([('type', CUexternalMemoryHandleType, 0), ('handle', struct_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle, 8), ('size', ctypes.c_uint64, 24), ('flags', ctypes.c_uint32, 32), ('reserved', c.Array[ctypes.c_uint32, Literal[16]], 36)])
CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1: TypeAlias = struct_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st
CUDA_EXTERNAL_MEMORY_HANDLE_DESC: TypeAlias = struct_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st
@c.record
class struct_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st(c.Struct):
  SIZE = 88
  offset: int
  size: int
  flags: int
  reserved: c.Array[ctypes.c_uint32, Literal[16]]
struct_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.register_fields([('offset', ctypes.c_uint64, 0), ('size', ctypes.c_uint64, 8), ('flags', ctypes.c_uint32, 16), ('reserved', c.Array[ctypes.c_uint32, Literal[16]], 20)])
CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1: TypeAlias = struct_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st
CUDA_EXTERNAL_MEMORY_BUFFER_DESC: TypeAlias = struct_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st
@c.record
class struct_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st(c.Struct):
  SIZE = 120
  offset: int
  arrayDesc: struct_CUDA_ARRAY3D_DESCRIPTOR_st
  numLevels: int
  reserved: c.Array[ctypes.c_uint32, Literal[16]]
struct_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.register_fields([('offset', ctypes.c_uint64, 0), ('arrayDesc', CUDA_ARRAY3D_DESCRIPTOR, 8), ('numLevels', ctypes.c_uint32, 48), ('reserved', c.Array[ctypes.c_uint32, Literal[16]], 52)])
CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1: TypeAlias = struct_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st
CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC: TypeAlias = struct_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st
enum_CUexternalSemaphoreHandleType_enum: dict[int, str] = {(CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD:=1): 'CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD', (CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32:=2): 'CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32', (CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT:=3): 'CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT', (CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE:=4): 'CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE', (CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE:=5): 'CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE', (CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC:=6): 'CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC', (CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX:=7): 'CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX', (CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX_KMT:=8): 'CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX_KMT', (CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_FD:=9): 'CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_FD', (CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32:=10): 'CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32'}
CUexternalSemaphoreHandleType: TypeAlias = ctypes.c_uint32
@c.record
class struct_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st(c.Struct):
  SIZE = 96
  type: int
  handle: struct_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle
  flags: int
  reserved: c.Array[ctypes.c_uint32, Literal[16]]
@c.record
class struct_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle(c.Struct):
  SIZE = 16
  fd: int
  win32: struct_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_win32
  nvSciSyncObj: ctypes.c_void_p
@c.record
class struct_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_win32(c.Struct):
  SIZE = 16
  handle: ctypes.c_void_p
  name: ctypes.c_void_p
struct_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_win32.register_fields([('handle', ctypes.c_void_p, 0), ('name', ctypes.c_void_p, 8)])
struct_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle.register_fields([('fd', ctypes.c_int32, 0), ('win32', struct_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_win32, 0), ('nvSciSyncObj', ctypes.c_void_p, 0)])
struct_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.register_fields([('type', CUexternalSemaphoreHandleType, 0), ('handle', struct_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle, 8), ('flags', ctypes.c_uint32, 24), ('reserved', c.Array[ctypes.c_uint32, Literal[16]], 28)])
CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1: TypeAlias = struct_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st
CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC: TypeAlias = struct_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st
@c.record
class struct_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st(c.Struct):
  SIZE = 144
  params: struct_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params
  flags: int
  reserved: c.Array[ctypes.c_uint32, Literal[16]]
@c.record
class struct_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params(c.Struct):
  SIZE = 72
  fence: struct_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_fence
  nvSciSync: struct_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_nvSciSync
  keyedMutex: struct_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_keyedMutex
  reserved: c.Array[ctypes.c_uint32, Literal[12]]
@c.record
class struct_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_fence(c.Struct):
  SIZE = 8
  value: int
struct_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_fence.register_fields([('value', ctypes.c_uint64, 0)])
@c.record
class struct_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_nvSciSync(c.Struct):
  SIZE = 8
  fence: ctypes.c_void_p
  reserved: int
struct_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_nvSciSync.register_fields([('fence', ctypes.c_void_p, 0), ('reserved', ctypes.c_uint64, 0)])
@c.record
class struct_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_keyedMutex(c.Struct):
  SIZE = 8
  key: int
struct_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_keyedMutex.register_fields([('key', ctypes.c_uint64, 0)])
struct_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params.register_fields([('fence', struct_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_fence, 0), ('nvSciSync', struct_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_nvSciSync, 8), ('keyedMutex', struct_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_keyedMutex, 16), ('reserved', c.Array[ctypes.c_uint32, Literal[12]], 24)])
struct_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.register_fields([('params', struct_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params, 0), ('flags', ctypes.c_uint32, 72), ('reserved', c.Array[ctypes.c_uint32, Literal[16]], 76)])
CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1: TypeAlias = struct_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st
CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS: TypeAlias = struct_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st
@c.record
class struct_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st(c.Struct):
  SIZE = 144
  params: struct_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params
  flags: int
  reserved: c.Array[ctypes.c_uint32, Literal[16]]
@c.record
class struct_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params(c.Struct):
  SIZE = 72
  fence: struct_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_fence
  nvSciSync: struct_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_nvSciSync
  keyedMutex: struct_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_keyedMutex
  reserved: c.Array[ctypes.c_uint32, Literal[10]]
@c.record
class struct_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_fence(c.Struct):
  SIZE = 8
  value: int
struct_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_fence.register_fields([('value', ctypes.c_uint64, 0)])
@c.record
class struct_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_nvSciSync(c.Struct):
  SIZE = 8
  fence: ctypes.c_void_p
  reserved: int
struct_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_nvSciSync.register_fields([('fence', ctypes.c_void_p, 0), ('reserved', ctypes.c_uint64, 0)])
@c.record
class struct_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_keyedMutex(c.Struct):
  SIZE = 16
  key: int
  timeoutMs: int
struct_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_keyedMutex.register_fields([('key', ctypes.c_uint64, 0), ('timeoutMs', ctypes.c_uint32, 8)])
struct_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params.register_fields([('fence', struct_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_fence, 0), ('nvSciSync', struct_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_nvSciSync, 8), ('keyedMutex', struct_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_keyedMutex, 16), ('reserved', c.Array[ctypes.c_uint32, Literal[10]], 32)])
struct_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.register_fields([('params', struct_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params, 0), ('flags', ctypes.c_uint32, 72), ('reserved', c.Array[ctypes.c_uint32, Literal[16]], 76)])
CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1: TypeAlias = struct_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st
CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS: TypeAlias = struct_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st
@c.record
class struct_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st(c.Struct):
  SIZE = 24
  extSemArray: c.POINTER[c.POINTER[struct_CUextSemaphore_st]]
  paramsArray: c.POINTER[struct_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st]
  numExtSems: int
struct_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.register_fields([('extSemArray', c.POINTER[CUexternalSemaphore], 0), ('paramsArray', c.POINTER[CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS], 8), ('numExtSems', ctypes.c_uint32, 16)])
CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1: TypeAlias = struct_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st
CUDA_EXT_SEM_SIGNAL_NODE_PARAMS: TypeAlias = struct_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st
@c.record
class struct_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st(c.Struct):
  SIZE = 24
  extSemArray: c.POINTER[c.POINTER[struct_CUextSemaphore_st]]
  paramsArray: c.POINTER[struct_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st]
  numExtSems: int
struct_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.register_fields([('extSemArray', c.POINTER[CUexternalSemaphore], 0), ('paramsArray', c.POINTER[CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS], 8), ('numExtSems', ctypes.c_uint32, 16)])
CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1: TypeAlias = struct_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st
CUDA_EXT_SEM_WAIT_NODE_PARAMS: TypeAlias = struct_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st
CUmemGenericAllocationHandle_v1: TypeAlias = ctypes.c_uint64
CUmemGenericAllocationHandle: TypeAlias = ctypes.c_uint64
enum_CUmemAllocationHandleType_enum: dict[int, str] = {(CU_MEM_HANDLE_TYPE_NONE:=0): 'CU_MEM_HANDLE_TYPE_NONE', (CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR:=1): 'CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR', (CU_MEM_HANDLE_TYPE_WIN32:=2): 'CU_MEM_HANDLE_TYPE_WIN32', (CU_MEM_HANDLE_TYPE_WIN32_KMT:=4): 'CU_MEM_HANDLE_TYPE_WIN32_KMT', (CU_MEM_HANDLE_TYPE_MAX:=2147483647): 'CU_MEM_HANDLE_TYPE_MAX'}
CUmemAllocationHandleType: TypeAlias = ctypes.c_uint32
enum_CUmemAccess_flags_enum: dict[int, str] = {(CU_MEM_ACCESS_FLAGS_PROT_NONE:=0): 'CU_MEM_ACCESS_FLAGS_PROT_NONE', (CU_MEM_ACCESS_FLAGS_PROT_READ:=1): 'CU_MEM_ACCESS_FLAGS_PROT_READ', (CU_MEM_ACCESS_FLAGS_PROT_READWRITE:=3): 'CU_MEM_ACCESS_FLAGS_PROT_READWRITE', (CU_MEM_ACCESS_FLAGS_PROT_MAX:=2147483647): 'CU_MEM_ACCESS_FLAGS_PROT_MAX'}
CUmemAccess_flags: TypeAlias = ctypes.c_uint32
enum_CUmemLocationType_enum: dict[int, str] = {(CU_MEM_LOCATION_TYPE_INVALID:=0): 'CU_MEM_LOCATION_TYPE_INVALID', (CU_MEM_LOCATION_TYPE_DEVICE:=1): 'CU_MEM_LOCATION_TYPE_DEVICE', (CU_MEM_LOCATION_TYPE_MAX:=2147483647): 'CU_MEM_LOCATION_TYPE_MAX'}
CUmemLocationType: TypeAlias = ctypes.c_uint32
enum_CUmemAllocationType_enum: dict[int, str] = {(CU_MEM_ALLOCATION_TYPE_INVALID:=0): 'CU_MEM_ALLOCATION_TYPE_INVALID', (CU_MEM_ALLOCATION_TYPE_PINNED:=1): 'CU_MEM_ALLOCATION_TYPE_PINNED', (CU_MEM_ALLOCATION_TYPE_MAX:=2147483647): 'CU_MEM_ALLOCATION_TYPE_MAX'}
CUmemAllocationType: TypeAlias = ctypes.c_uint32
enum_CUmemAllocationGranularity_flags_enum: dict[int, str] = {(CU_MEM_ALLOC_GRANULARITY_MINIMUM:=0): 'CU_MEM_ALLOC_GRANULARITY_MINIMUM', (CU_MEM_ALLOC_GRANULARITY_RECOMMENDED:=1): 'CU_MEM_ALLOC_GRANULARITY_RECOMMENDED'}
CUmemAllocationGranularity_flags: TypeAlias = ctypes.c_uint32
enum_CUmemRangeHandleType_enum: dict[int, str] = {(CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD:=1): 'CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD', (CU_MEM_RANGE_HANDLE_TYPE_MAX:=2147483647): 'CU_MEM_RANGE_HANDLE_TYPE_MAX'}
CUmemRangeHandleType: TypeAlias = ctypes.c_uint32
enum_CUarraySparseSubresourceType_enum: dict[int, str] = {(CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_SPARSE_LEVEL:=0): 'CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_SPARSE_LEVEL', (CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL:=1): 'CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL'}
CUarraySparseSubresourceType: TypeAlias = ctypes.c_uint32
enum_CUmemOperationType_enum: dict[int, str] = {(CU_MEM_OPERATION_TYPE_MAP:=1): 'CU_MEM_OPERATION_TYPE_MAP', (CU_MEM_OPERATION_TYPE_UNMAP:=2): 'CU_MEM_OPERATION_TYPE_UNMAP'}
CUmemOperationType: TypeAlias = ctypes.c_uint32
enum_CUmemHandleType_enum: dict[int, str] = {(CU_MEM_HANDLE_TYPE_GENERIC:=0): 'CU_MEM_HANDLE_TYPE_GENERIC'}
CUmemHandleType: TypeAlias = ctypes.c_uint32
@c.record
class struct_CUarrayMapInfo_st(c.Struct):
  SIZE = 96
  resourceType: int
  resource: struct_CUarrayMapInfo_st_resource
  subresourceType: int
  subresource: struct_CUarrayMapInfo_st_subresource
  memOperationType: int
  memHandleType: int
  memHandle: struct_CUarrayMapInfo_st_memHandle
  offset: int
  deviceBitMask: int
  flags: int
  reserved: c.Array[ctypes.c_uint32, Literal[2]]
@c.record
class struct_CUarrayMapInfo_st_resource(c.Struct):
  SIZE = 8
  mipmap: c.POINTER[struct_CUmipmappedArray_st]
  array: c.POINTER[struct_CUarray_st]
struct_CUarrayMapInfo_st_resource.register_fields([('mipmap', CUmipmappedArray, 0), ('array', CUarray, 0)])
@c.record
class struct_CUarrayMapInfo_st_subresource(c.Struct):
  SIZE = 32
  sparseLevel: struct_CUarrayMapInfo_st_subresource_sparseLevel
  miptail: struct_CUarrayMapInfo_st_subresource_miptail
@c.record
class struct_CUarrayMapInfo_st_subresource_sparseLevel(c.Struct):
  SIZE = 32
  level: int
  layer: int
  offsetX: int
  offsetY: int
  offsetZ: int
  extentWidth: int
  extentHeight: int
  extentDepth: int
struct_CUarrayMapInfo_st_subresource_sparseLevel.register_fields([('level', ctypes.c_uint32, 0), ('layer', ctypes.c_uint32, 4), ('offsetX', ctypes.c_uint32, 8), ('offsetY', ctypes.c_uint32, 12), ('offsetZ', ctypes.c_uint32, 16), ('extentWidth', ctypes.c_uint32, 20), ('extentHeight', ctypes.c_uint32, 24), ('extentDepth', ctypes.c_uint32, 28)])
@c.record
class struct_CUarrayMapInfo_st_subresource_miptail(c.Struct):
  SIZE = 24
  layer: int
  offset: int
  size: int
struct_CUarrayMapInfo_st_subresource_miptail.register_fields([('layer', ctypes.c_uint32, 0), ('offset', ctypes.c_uint64, 8), ('size', ctypes.c_uint64, 16)])
struct_CUarrayMapInfo_st_subresource.register_fields([('sparseLevel', struct_CUarrayMapInfo_st_subresource_sparseLevel, 0), ('miptail', struct_CUarrayMapInfo_st_subresource_miptail, 0)])
@c.record
class struct_CUarrayMapInfo_st_memHandle(c.Struct):
  SIZE = 8
  memHandle: int
struct_CUarrayMapInfo_st_memHandle.register_fields([('memHandle', CUmemGenericAllocationHandle, 0)])
struct_CUarrayMapInfo_st.register_fields([('resourceType', CUresourcetype, 0), ('resource', struct_CUarrayMapInfo_st_resource, 8), ('subresourceType', CUarraySparseSubresourceType, 16), ('subresource', struct_CUarrayMapInfo_st_subresource, 24), ('memOperationType', CUmemOperationType, 56), ('memHandleType', CUmemHandleType, 60), ('memHandle', struct_CUarrayMapInfo_st_memHandle, 64), ('offset', ctypes.c_uint64, 72), ('deviceBitMask', ctypes.c_uint32, 80), ('flags', ctypes.c_uint32, 84), ('reserved', c.Array[ctypes.c_uint32, Literal[2]], 88)])
CUarrayMapInfo_v1: TypeAlias = struct_CUarrayMapInfo_st
CUarrayMapInfo: TypeAlias = struct_CUarrayMapInfo_st
@c.record
class struct_CUmemLocation_st(c.Struct):
  SIZE = 8
  type: int
  id: int
struct_CUmemLocation_st.register_fields([('type', CUmemLocationType, 0), ('id', ctypes.c_int32, 4)])
CUmemLocation_v1: TypeAlias = struct_CUmemLocation_st
CUmemLocation: TypeAlias = struct_CUmemLocation_st
enum_CUmemAllocationCompType_enum: dict[int, str] = {(CU_MEM_ALLOCATION_COMP_NONE:=0): 'CU_MEM_ALLOCATION_COMP_NONE', (CU_MEM_ALLOCATION_COMP_GENERIC:=1): 'CU_MEM_ALLOCATION_COMP_GENERIC'}
CUmemAllocationCompType: TypeAlias = ctypes.c_uint32
@c.record
class struct_CUmemAllocationProp_st(c.Struct):
  SIZE = 32
  type: int
  requestedHandleTypes: int
  location: struct_CUmemLocation_st
  win32HandleMetaData: ctypes.c_void_p
  allocFlags: struct_CUmemAllocationProp_st_allocFlags
@c.record
class struct_CUmemAllocationProp_st_allocFlags(c.Struct):
  SIZE = 8
  compressionType: int
  gpuDirectRDMACapable: int
  usage: int
  reserved: c.Array[ctypes.c_ubyte, Literal[4]]
struct_CUmemAllocationProp_st_allocFlags.register_fields([('compressionType', ctypes.c_ubyte, 0), ('gpuDirectRDMACapable', ctypes.c_ubyte, 1), ('usage', ctypes.c_uint16, 2), ('reserved', c.Array[ctypes.c_ubyte, Literal[4]], 4)])
struct_CUmemAllocationProp_st.register_fields([('type', CUmemAllocationType, 0), ('requestedHandleTypes', CUmemAllocationHandleType, 4), ('location', CUmemLocation, 8), ('win32HandleMetaData', ctypes.c_void_p, 16), ('allocFlags', struct_CUmemAllocationProp_st_allocFlags, 24)])
CUmemAllocationProp_v1: TypeAlias = struct_CUmemAllocationProp_st
CUmemAllocationProp: TypeAlias = struct_CUmemAllocationProp_st
@c.record
class struct_CUmemAccessDesc_st(c.Struct):
  SIZE = 12
  location: struct_CUmemLocation_st
  flags: int
struct_CUmemAccessDesc_st.register_fields([('location', CUmemLocation, 0), ('flags', CUmemAccess_flags, 8)])
CUmemAccessDesc_v1: TypeAlias = struct_CUmemAccessDesc_st
CUmemAccessDesc: TypeAlias = struct_CUmemAccessDesc_st
enum_CUgraphExecUpdateResult_enum: dict[int, str] = {(CU_GRAPH_EXEC_UPDATE_SUCCESS:=0): 'CU_GRAPH_EXEC_UPDATE_SUCCESS', (CU_GRAPH_EXEC_UPDATE_ERROR:=1): 'CU_GRAPH_EXEC_UPDATE_ERROR', (CU_GRAPH_EXEC_UPDATE_ERROR_TOPOLOGY_CHANGED:=2): 'CU_GRAPH_EXEC_UPDATE_ERROR_TOPOLOGY_CHANGED', (CU_GRAPH_EXEC_UPDATE_ERROR_NODE_TYPE_CHANGED:=3): 'CU_GRAPH_EXEC_UPDATE_ERROR_NODE_TYPE_CHANGED', (CU_GRAPH_EXEC_UPDATE_ERROR_FUNCTION_CHANGED:=4): 'CU_GRAPH_EXEC_UPDATE_ERROR_FUNCTION_CHANGED', (CU_GRAPH_EXEC_UPDATE_ERROR_PARAMETERS_CHANGED:=5): 'CU_GRAPH_EXEC_UPDATE_ERROR_PARAMETERS_CHANGED', (CU_GRAPH_EXEC_UPDATE_ERROR_NOT_SUPPORTED:=6): 'CU_GRAPH_EXEC_UPDATE_ERROR_NOT_SUPPORTED', (CU_GRAPH_EXEC_UPDATE_ERROR_UNSUPPORTED_FUNCTION_CHANGE:=7): 'CU_GRAPH_EXEC_UPDATE_ERROR_UNSUPPORTED_FUNCTION_CHANGE', (CU_GRAPH_EXEC_UPDATE_ERROR_ATTRIBUTES_CHANGED:=8): 'CU_GRAPH_EXEC_UPDATE_ERROR_ATTRIBUTES_CHANGED'}
CUgraphExecUpdateResult: TypeAlias = ctypes.c_uint32
@c.record
class struct_CUgraphExecUpdateResultInfo_st(c.Struct):
  SIZE = 24
  result: int
  errorNode: c.POINTER[struct_CUgraphNode_st]
  errorFromNode: c.POINTER[struct_CUgraphNode_st]
struct_CUgraphExecUpdateResultInfo_st.register_fields([('result', CUgraphExecUpdateResult, 0), ('errorNode', CUgraphNode, 8), ('errorFromNode', CUgraphNode, 16)])
CUgraphExecUpdateResultInfo_v1: TypeAlias = struct_CUgraphExecUpdateResultInfo_st
CUgraphExecUpdateResultInfo: TypeAlias = struct_CUgraphExecUpdateResultInfo_st
enum_CUmemPool_attribute_enum: dict[int, str] = {(CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES:=1): 'CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES', (CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC:=2): 'CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC', (CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES:=3): 'CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES', (CU_MEMPOOL_ATTR_RELEASE_THRESHOLD:=4): 'CU_MEMPOOL_ATTR_RELEASE_THRESHOLD', (CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT:=5): 'CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT', (CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH:=6): 'CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH', (CU_MEMPOOL_ATTR_USED_MEM_CURRENT:=7): 'CU_MEMPOOL_ATTR_USED_MEM_CURRENT', (CU_MEMPOOL_ATTR_USED_MEM_HIGH:=8): 'CU_MEMPOOL_ATTR_USED_MEM_HIGH'}
CUmemPool_attribute: TypeAlias = ctypes.c_uint32
@c.record
class struct_CUmemPoolProps_st(c.Struct):
  SIZE = 88
  allocType: int
  handleTypes: int
  location: struct_CUmemLocation_st
  win32SecurityAttributes: ctypes.c_void_p
  reserved: c.Array[ctypes.c_ubyte, Literal[64]]
struct_CUmemPoolProps_st.register_fields([('allocType', CUmemAllocationType, 0), ('handleTypes', CUmemAllocationHandleType, 4), ('location', CUmemLocation, 8), ('win32SecurityAttributes', ctypes.c_void_p, 16), ('reserved', c.Array[ctypes.c_ubyte, Literal[64]], 24)])
CUmemPoolProps_v1: TypeAlias = struct_CUmemPoolProps_st
CUmemPoolProps: TypeAlias = struct_CUmemPoolProps_st
@c.record
class struct_CUmemPoolPtrExportData_st(c.Struct):
  SIZE = 64
  reserved: c.Array[ctypes.c_ubyte, Literal[64]]
struct_CUmemPoolPtrExportData_st.register_fields([('reserved', c.Array[ctypes.c_ubyte, Literal[64]], 0)])
CUmemPoolPtrExportData_v1: TypeAlias = struct_CUmemPoolPtrExportData_st
CUmemPoolPtrExportData: TypeAlias = struct_CUmemPoolPtrExportData_st
@c.record
class struct_CUDA_MEM_ALLOC_NODE_PARAMS_st(c.Struct):
  SIZE = 120
  poolProps: struct_CUmemPoolProps_st
  accessDescs: c.POINTER[struct_CUmemAccessDesc_st]
  accessDescCount: int
  bytesize: int
  dptr: int
struct_CUDA_MEM_ALLOC_NODE_PARAMS_st.register_fields([('poolProps', CUmemPoolProps, 0), ('accessDescs', c.POINTER[CUmemAccessDesc], 88), ('accessDescCount', size_t, 96), ('bytesize', size_t, 104), ('dptr', CUdeviceptr, 112)])
CUDA_MEM_ALLOC_NODE_PARAMS: TypeAlias = struct_CUDA_MEM_ALLOC_NODE_PARAMS_st
enum_CUgraphMem_attribute_enum: dict[int, str] = {(CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT:=0): 'CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT', (CU_GRAPH_MEM_ATTR_USED_MEM_HIGH:=1): 'CU_GRAPH_MEM_ATTR_USED_MEM_HIGH', (CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT:=2): 'CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT', (CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH:=3): 'CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH'}
CUgraphMem_attribute: TypeAlias = ctypes.c_uint32
enum_CUflushGPUDirectRDMAWritesOptions_enum: dict[int, str] = {(CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_HOST:=1): 'CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_HOST', (CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS:=2): 'CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS'}
CUflushGPUDirectRDMAWritesOptions: TypeAlias = ctypes.c_uint32
enum_CUGPUDirectRDMAWritesOrdering_enum: dict[int, str] = {(CU_GPU_DIRECT_RDMA_WRITES_ORDERING_NONE:=0): 'CU_GPU_DIRECT_RDMA_WRITES_ORDERING_NONE', (CU_GPU_DIRECT_RDMA_WRITES_ORDERING_OWNER:=100): 'CU_GPU_DIRECT_RDMA_WRITES_ORDERING_OWNER', (CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES:=200): 'CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES'}
CUGPUDirectRDMAWritesOrdering: TypeAlias = ctypes.c_uint32
enum_CUflushGPUDirectRDMAWritesScope_enum: dict[int, str] = {(CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_OWNER:=100): 'CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_OWNER', (CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES:=200): 'CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES'}
CUflushGPUDirectRDMAWritesScope: TypeAlias = ctypes.c_uint32
enum_CUflushGPUDirectRDMAWritesTarget_enum: dict[int, str] = {(CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX:=0): 'CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX'}
CUflushGPUDirectRDMAWritesTarget: TypeAlias = ctypes.c_uint32
enum_CUgraphDebugDot_flags_enum: dict[int, str] = {(CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE:=1): 'CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE', (CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME_TYPES:=2): 'CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME_TYPES', (CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_PARAMS:=4): 'CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_PARAMS', (CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY_NODE_PARAMS:=8): 'CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY_NODE_PARAMS', (CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET_NODE_PARAMS:=16): 'CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET_NODE_PARAMS', (CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NODE_PARAMS:=32): 'CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NODE_PARAMS', (CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_NODE_PARAMS:=64): 'CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_NODE_PARAMS', (CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_SIGNAL_NODE_PARAMS:=128): 'CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_SIGNAL_NODE_PARAMS', (CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_WAIT_NODE_PARAMS:=256): 'CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_WAIT_NODE_PARAMS', (CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_ATTRIBUTES:=512): 'CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_ATTRIBUTES', (CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES:=1024): 'CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES', (CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALLOC_NODE_PARAMS:=2048): 'CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALLOC_NODE_PARAMS', (CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FREE_NODE_PARAMS:=4096): 'CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FREE_NODE_PARAMS', (CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_MEM_OP_NODE_PARAMS:=8192): 'CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_MEM_OP_NODE_PARAMS', (CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_TOPO_INFO:=16384): 'CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_TOPO_INFO'}
CUgraphDebugDot_flags: TypeAlias = ctypes.c_uint32
enum_CUuserObject_flags_enum: dict[int, str] = {(CU_USER_OBJECT_NO_DESTRUCTOR_SYNC:=1): 'CU_USER_OBJECT_NO_DESTRUCTOR_SYNC'}
CUuserObject_flags: TypeAlias = ctypes.c_uint32
enum_CUuserObjectRetain_flags_enum: dict[int, str] = {(CU_GRAPH_USER_OBJECT_MOVE:=1): 'CU_GRAPH_USER_OBJECT_MOVE'}
CUuserObjectRetain_flags: TypeAlias = ctypes.c_uint32
enum_CUgraphInstantiate_flags_enum: dict[int, str] = {(CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH:=1): 'CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH', (CUDA_GRAPH_INSTANTIATE_FLAG_UPLOAD:=2): 'CUDA_GRAPH_INSTANTIATE_FLAG_UPLOAD', (CUDA_GRAPH_INSTANTIATE_FLAG_DEVICE_LAUNCH:=4): 'CUDA_GRAPH_INSTANTIATE_FLAG_DEVICE_LAUNCH', (CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY:=8): 'CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY'}
CUgraphInstantiate_flags: TypeAlias = ctypes.c_uint32
@dll.bind(CUresult, CUresult, c.POINTER[c.POINTER[ctypes.c_char]])
def cuGetErrorString(error:CUresult, pStr:c.POINTER[c.POINTER[ctypes.c_char]]) -> CUresult: ...
@dll.bind(CUresult, CUresult, c.POINTER[c.POINTER[ctypes.c_char]])
def cuGetErrorName(error:CUresult, pStr:c.POINTER[c.POINTER[ctypes.c_char]]) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_uint32)
def cuInit(Flags:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_int32])
def cuDriverGetVersion(driverVersion:c.POINTER[ctypes.c_int32]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdevice], ctypes.c_int32)
def cuDeviceGet(device:c.POINTER[CUdevice], ordinal:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_int32])
def cuDeviceGetCount(count:c.POINTER[ctypes.c_int32]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_char], ctypes.c_int32, CUdevice)
def cuDeviceGetName(name:c.POINTER[ctypes.c_char], len:int, dev:CUdevice) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUuuid], CUdevice)
def cuDeviceGetUuid(uuid:c.POINTER[CUuuid], dev:CUdevice) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUuuid], CUdevice)
def cuDeviceGetUuid_v2(uuid:c.POINTER[CUuuid], dev:CUdevice) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_char], c.POINTER[ctypes.c_uint32], CUdevice)
def cuDeviceGetLuid(luid:c.POINTER[ctypes.c_char], deviceNodeMask:c.POINTER[ctypes.c_uint32], dev:CUdevice) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[size_t], CUdevice)
def cuDeviceTotalMem_v2(bytes:c.POINTER[size_t], dev:CUdevice) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[size_t], CUarray_format, ctypes.c_uint32, CUdevice)
def cuDeviceGetTexture1DLinearMaxWidth(maxWidthInElements:c.POINTER[size_t], format:CUarray_format, numChannels:int, dev:CUdevice) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_int32], CUdevice_attribute, CUdevice)
def cuDeviceGetAttribute(pi:c.POINTER[ctypes.c_int32], attrib:CUdevice_attribute, dev:CUdevice) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_void_p, CUdevice, ctypes.c_int32)
def cuDeviceGetNvSciSyncAttributes(nvSciSyncAttrList:ctypes.c_void_p, dev:CUdevice, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUdevice, CUmemoryPool)
def cuDeviceSetMemPool(dev:CUdevice, pool:CUmemoryPool) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUmemoryPool], CUdevice)
def cuDeviceGetMemPool(pool:c.POINTER[CUmemoryPool], dev:CUdevice) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUmemoryPool], CUdevice)
def cuDeviceGetDefaultMemPool(pool_out:c.POINTER[CUmemoryPool], dev:CUdevice) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_int32], CUexecAffinityType, CUdevice)
def cuDeviceGetExecAffinitySupport(pi:c.POINTER[ctypes.c_int32], type:CUexecAffinityType, dev:CUdevice) -> CUresult: ...
@dll.bind(CUresult, CUflushGPUDirectRDMAWritesTarget, CUflushGPUDirectRDMAWritesScope)
def cuFlushGPUDirectRDMAWrites(target:CUflushGPUDirectRDMAWritesTarget, scope:CUflushGPUDirectRDMAWritesScope) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdevprop], CUdevice)
def cuDeviceGetProperties(prop:c.POINTER[CUdevprop], dev:CUdevice) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_int32], c.POINTER[ctypes.c_int32], CUdevice)
def cuDeviceComputeCapability(major:c.POINTER[ctypes.c_int32], minor:c.POINTER[ctypes.c_int32], dev:CUdevice) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUcontext], CUdevice)
def cuDevicePrimaryCtxRetain(pctx:c.POINTER[CUcontext], dev:CUdevice) -> CUresult: ...
@dll.bind(CUresult, CUdevice)
def cuDevicePrimaryCtxRelease_v2(dev:CUdevice) -> CUresult: ...
@dll.bind(CUresult, CUdevice, ctypes.c_uint32)
def cuDevicePrimaryCtxSetFlags_v2(dev:CUdevice, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUdevice, c.POINTER[ctypes.c_uint32], c.POINTER[ctypes.c_int32])
def cuDevicePrimaryCtxGetState(dev:CUdevice, flags:c.POINTER[ctypes.c_uint32], active:c.POINTER[ctypes.c_int32]) -> CUresult: ...
@dll.bind(CUresult, CUdevice)
def cuDevicePrimaryCtxReset_v2(dev:CUdevice) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUcontext], ctypes.c_uint32, CUdevice)
def cuCtxCreate_v2(pctx:c.POINTER[CUcontext], flags:int, dev:CUdevice) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUcontext], c.POINTER[CUexecAffinityParam], ctypes.c_int32, ctypes.c_uint32, CUdevice)
def cuCtxCreate_v3(pctx:c.POINTER[CUcontext], paramsArray:c.POINTER[CUexecAffinityParam], numParams:int, flags:int, dev:CUdevice) -> CUresult: ...
@dll.bind(CUresult, CUcontext)
def cuCtxDestroy_v2(ctx:CUcontext) -> CUresult: ...
@dll.bind(CUresult, CUcontext)
def cuCtxPushCurrent_v2(ctx:CUcontext) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUcontext])
def cuCtxPopCurrent_v2(pctx:c.POINTER[CUcontext]) -> CUresult: ...
@dll.bind(CUresult, CUcontext)
def cuCtxSetCurrent(ctx:CUcontext) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUcontext])
def cuCtxGetCurrent(pctx:c.POINTER[CUcontext]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdevice])
def cuCtxGetDevice(device:c.POINTER[CUdevice]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_uint32])
def cuCtxGetFlags(flags:c.POINTER[ctypes.c_uint32]) -> CUresult: ...
@dll.bind(CUresult, CUcontext, c.POINTER[ctypes.c_uint64])
def cuCtxGetId(ctx:CUcontext, ctxId:c.POINTER[ctypes.c_uint64]) -> CUresult: ...
@dll.bind(CUresult)
def cuCtxSynchronize() -> CUresult: ...
@dll.bind(CUresult, CUlimit, size_t)
def cuCtxSetLimit(limit:CUlimit, value:size_t) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[size_t], CUlimit)
def cuCtxGetLimit(pvalue:c.POINTER[size_t], limit:CUlimit) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUfunc_cache])
def cuCtxGetCacheConfig(pconfig:c.POINTER[CUfunc_cache]) -> CUresult: ...
@dll.bind(CUresult, CUfunc_cache)
def cuCtxSetCacheConfig(config:CUfunc_cache) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUsharedconfig])
def cuCtxGetSharedMemConfig(pConfig:c.POINTER[CUsharedconfig]) -> CUresult: ...
@dll.bind(CUresult, CUsharedconfig)
def cuCtxSetSharedMemConfig(config:CUsharedconfig) -> CUresult: ...
@dll.bind(CUresult, CUcontext, c.POINTER[ctypes.c_uint32])
def cuCtxGetApiVersion(ctx:CUcontext, version:c.POINTER[ctypes.c_uint32]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_int32], c.POINTER[ctypes.c_int32])
def cuCtxGetStreamPriorityRange(leastPriority:c.POINTER[ctypes.c_int32], greatestPriority:c.POINTER[ctypes.c_int32]) -> CUresult: ...
@dll.bind(CUresult)
def cuCtxResetPersistingL2Cache() -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUexecAffinityParam], CUexecAffinityType)
def cuCtxGetExecAffinity(pExecAffinity:c.POINTER[CUexecAffinityParam], type:CUexecAffinityType) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUcontext], ctypes.c_uint32)
def cuCtxAttach(pctx:c.POINTER[CUcontext], flags:int) -> CUresult: ...
@dll.bind(CUresult, CUcontext)
def cuCtxDetach(ctx:CUcontext) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUmodule], c.POINTER[ctypes.c_char])
def cuModuleLoad(module:c.POINTER[CUmodule], fname:c.POINTER[ctypes.c_char]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUmodule], ctypes.c_void_p)
def cuModuleLoadData(module:c.POINTER[CUmodule], image:ctypes.c_void_p) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUmodule], ctypes.c_void_p, ctypes.c_uint32, c.POINTER[CUjit_option], c.POINTER[ctypes.c_void_p])
def cuModuleLoadDataEx(module:c.POINTER[CUmodule], image:ctypes.c_void_p, numOptions:int, options:c.POINTER[CUjit_option], optionValues:c.POINTER[ctypes.c_void_p]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUmodule], ctypes.c_void_p)
def cuModuleLoadFatBinary(module:c.POINTER[CUmodule], fatCubin:ctypes.c_void_p) -> CUresult: ...
@dll.bind(CUresult, CUmodule)
def cuModuleUnload(hmod:CUmodule) -> CUresult: ...
enum_CUmoduleLoadingMode_enum: dict[int, str] = {(CU_MODULE_EAGER_LOADING:=1): 'CU_MODULE_EAGER_LOADING', (CU_MODULE_LAZY_LOADING:=2): 'CU_MODULE_LAZY_LOADING'}
CUmoduleLoadingMode: TypeAlias = ctypes.c_uint32
@dll.bind(CUresult, c.POINTER[CUmoduleLoadingMode])
def cuModuleGetLoadingMode(mode:c.POINTER[CUmoduleLoadingMode]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUfunction], CUmodule, c.POINTER[ctypes.c_char])
def cuModuleGetFunction(hfunc:c.POINTER[CUfunction], hmod:CUmodule, name:c.POINTER[ctypes.c_char]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdeviceptr], c.POINTER[size_t], CUmodule, c.POINTER[ctypes.c_char])
def cuModuleGetGlobal_v2(dptr:c.POINTER[CUdeviceptr], bytes:c.POINTER[size_t], hmod:CUmodule, name:c.POINTER[ctypes.c_char]) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_uint32, c.POINTER[CUjit_option], c.POINTER[ctypes.c_void_p], c.POINTER[CUlinkState])
def cuLinkCreate_v2(numOptions:int, options:c.POINTER[CUjit_option], optionValues:c.POINTER[ctypes.c_void_p], stateOut:c.POINTER[CUlinkState]) -> CUresult: ...
@dll.bind(CUresult, CUlinkState, CUjitInputType, ctypes.c_void_p, size_t, c.POINTER[ctypes.c_char], ctypes.c_uint32, c.POINTER[CUjit_option], c.POINTER[ctypes.c_void_p])
def cuLinkAddData_v2(state:CUlinkState, type:CUjitInputType, data:ctypes.c_void_p, size:size_t, name:c.POINTER[ctypes.c_char], numOptions:int, options:c.POINTER[CUjit_option], optionValues:c.POINTER[ctypes.c_void_p]) -> CUresult: ...
@dll.bind(CUresult, CUlinkState, CUjitInputType, c.POINTER[ctypes.c_char], ctypes.c_uint32, c.POINTER[CUjit_option], c.POINTER[ctypes.c_void_p])
def cuLinkAddFile_v2(state:CUlinkState, type:CUjitInputType, path:c.POINTER[ctypes.c_char], numOptions:int, options:c.POINTER[CUjit_option], optionValues:c.POINTER[ctypes.c_void_p]) -> CUresult: ...
@dll.bind(CUresult, CUlinkState, c.POINTER[ctypes.c_void_p], c.POINTER[size_t])
def cuLinkComplete(state:CUlinkState, cubinOut:c.POINTER[ctypes.c_void_p], sizeOut:c.POINTER[size_t]) -> CUresult: ...
@dll.bind(CUresult, CUlinkState)
def cuLinkDestroy(state:CUlinkState) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUtexref], CUmodule, c.POINTER[ctypes.c_char])
def cuModuleGetTexRef(pTexRef:c.POINTER[CUtexref], hmod:CUmodule, name:c.POINTER[ctypes.c_char]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUsurfref], CUmodule, c.POINTER[ctypes.c_char])
def cuModuleGetSurfRef(pSurfRef:c.POINTER[CUsurfref], hmod:CUmodule, name:c.POINTER[ctypes.c_char]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUlibrary], ctypes.c_void_p, c.POINTER[CUjit_option], c.POINTER[ctypes.c_void_p], ctypes.c_uint32, c.POINTER[CUlibraryOption], c.POINTER[ctypes.c_void_p], ctypes.c_uint32)
def cuLibraryLoadData(library:c.POINTER[CUlibrary], code:ctypes.c_void_p, jitOptions:c.POINTER[CUjit_option], jitOptionsValues:c.POINTER[ctypes.c_void_p], numJitOptions:int, libraryOptions:c.POINTER[CUlibraryOption], libraryOptionValues:c.POINTER[ctypes.c_void_p], numLibraryOptions:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUlibrary], c.POINTER[ctypes.c_char], c.POINTER[CUjit_option], c.POINTER[ctypes.c_void_p], ctypes.c_uint32, c.POINTER[CUlibraryOption], c.POINTER[ctypes.c_void_p], ctypes.c_uint32)
def cuLibraryLoadFromFile(library:c.POINTER[CUlibrary], fileName:c.POINTER[ctypes.c_char], jitOptions:c.POINTER[CUjit_option], jitOptionsValues:c.POINTER[ctypes.c_void_p], numJitOptions:int, libraryOptions:c.POINTER[CUlibraryOption], libraryOptionValues:c.POINTER[ctypes.c_void_p], numLibraryOptions:int) -> CUresult: ...
@dll.bind(CUresult, CUlibrary)
def cuLibraryUnload(library:CUlibrary) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUkernel], CUlibrary, c.POINTER[ctypes.c_char])
def cuLibraryGetKernel(pKernel:c.POINTER[CUkernel], library:CUlibrary, name:c.POINTER[ctypes.c_char]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUmodule], CUlibrary)
def cuLibraryGetModule(pMod:c.POINTER[CUmodule], library:CUlibrary) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUfunction], CUkernel)
def cuKernelGetFunction(pFunc:c.POINTER[CUfunction], kernel:CUkernel) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdeviceptr], c.POINTER[size_t], CUlibrary, c.POINTER[ctypes.c_char])
def cuLibraryGetGlobal(dptr:c.POINTER[CUdeviceptr], bytes:c.POINTER[size_t], library:CUlibrary, name:c.POINTER[ctypes.c_char]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdeviceptr], c.POINTER[size_t], CUlibrary, c.POINTER[ctypes.c_char])
def cuLibraryGetManaged(dptr:c.POINTER[CUdeviceptr], bytes:c.POINTER[size_t], library:CUlibrary, name:c.POINTER[ctypes.c_char]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_void_p], CUlibrary, c.POINTER[ctypes.c_char])
def cuLibraryGetUnifiedFunction(fptr:c.POINTER[ctypes.c_void_p], library:CUlibrary, symbol:c.POINTER[ctypes.c_char]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_int32], CUfunction_attribute, CUkernel, CUdevice)
def cuKernelGetAttribute(pi:c.POINTER[ctypes.c_int32], attrib:CUfunction_attribute, kernel:CUkernel, dev:CUdevice) -> CUresult: ...
@dll.bind(CUresult, CUfunction_attribute, ctypes.c_int32, CUkernel, CUdevice)
def cuKernelSetAttribute(attrib:CUfunction_attribute, val:int, kernel:CUkernel, dev:CUdevice) -> CUresult: ...
@dll.bind(CUresult, CUkernel, CUfunc_cache, CUdevice)
def cuKernelSetCacheConfig(kernel:CUkernel, config:CUfunc_cache, dev:CUdevice) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[size_t], c.POINTER[size_t])
def cuMemGetInfo_v2(free:c.POINTER[size_t], total:c.POINTER[size_t]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdeviceptr], size_t)
def cuMemAlloc_v2(dptr:c.POINTER[CUdeviceptr], bytesize:size_t) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdeviceptr], c.POINTER[size_t], size_t, size_t, ctypes.c_uint32)
def cuMemAllocPitch_v2(dptr:c.POINTER[CUdeviceptr], pPitch:c.POINTER[size_t], WidthInBytes:size_t, Height:size_t, ElementSizeBytes:int) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr)
def cuMemFree_v2(dptr:CUdeviceptr) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdeviceptr], c.POINTER[size_t], CUdeviceptr)
def cuMemGetAddressRange_v2(pbase:c.POINTER[CUdeviceptr], psize:c.POINTER[size_t], dptr:CUdeviceptr) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_void_p], size_t)
def cuMemAllocHost_v2(pp:c.POINTER[ctypes.c_void_p], bytesize:size_t) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_void_p)
def cuMemFreeHost(p:ctypes.c_void_p) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_void_p], size_t, ctypes.c_uint32)
def cuMemHostAlloc(pp:c.POINTER[ctypes.c_void_p], bytesize:size_t, Flags:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdeviceptr], ctypes.c_void_p, ctypes.c_uint32)
def cuMemHostGetDevicePointer_v2(pdptr:c.POINTER[CUdeviceptr], p:ctypes.c_void_p, Flags:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_uint32], ctypes.c_void_p)
def cuMemHostGetFlags(pFlags:c.POINTER[ctypes.c_uint32], p:ctypes.c_void_p) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdeviceptr], size_t, ctypes.c_uint32)
def cuMemAllocManaged(dptr:c.POINTER[CUdeviceptr], bytesize:size_t, flags:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdevice], c.POINTER[ctypes.c_char])
def cuDeviceGetByPCIBusId(dev:c.POINTER[CUdevice], pciBusId:c.POINTER[ctypes.c_char]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_char], ctypes.c_int32, CUdevice)
def cuDeviceGetPCIBusId(pciBusId:c.POINTER[ctypes.c_char], len:int, dev:CUdevice) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUipcEventHandle], CUevent)
def cuIpcGetEventHandle(pHandle:c.POINTER[CUipcEventHandle], event:CUevent) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUevent], CUipcEventHandle)
def cuIpcOpenEventHandle(phEvent:c.POINTER[CUevent], handle:CUipcEventHandle) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUipcMemHandle], CUdeviceptr)
def cuIpcGetMemHandle(pHandle:c.POINTER[CUipcMemHandle], dptr:CUdeviceptr) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdeviceptr], CUipcMemHandle, ctypes.c_uint32)
def cuIpcOpenMemHandle_v2(pdptr:c.POINTER[CUdeviceptr], handle:CUipcMemHandle, Flags:int) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr)
def cuIpcCloseMemHandle(dptr:CUdeviceptr) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_void_p, size_t, ctypes.c_uint32)
def cuMemHostRegister_v2(p:ctypes.c_void_p, bytesize:size_t, Flags:int) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_void_p)
def cuMemHostUnregister(p:ctypes.c_void_p) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, CUdeviceptr, size_t)
def cuMemcpy_ptds(dst:CUdeviceptr, src:CUdeviceptr, ByteCount:size_t) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, CUcontext, CUdeviceptr, CUcontext, size_t)
def cuMemcpyPeer_ptds(dstDevice:CUdeviceptr, dstContext:CUcontext, srcDevice:CUdeviceptr, srcContext:CUcontext, ByteCount:size_t) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, ctypes.c_void_p, size_t)
def cuMemcpyHtoD_v2_ptds(dstDevice:CUdeviceptr, srcHost:ctypes.c_void_p, ByteCount:size_t) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_void_p, CUdeviceptr, size_t)
def cuMemcpyDtoH_v2_ptds(dstHost:ctypes.c_void_p, srcDevice:CUdeviceptr, ByteCount:size_t) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, CUdeviceptr, size_t)
def cuMemcpyDtoD_v2_ptds(dstDevice:CUdeviceptr, srcDevice:CUdeviceptr, ByteCount:size_t) -> CUresult: ...
@dll.bind(CUresult, CUarray, size_t, CUdeviceptr, size_t)
def cuMemcpyDtoA_v2_ptds(dstArray:CUarray, dstOffset:size_t, srcDevice:CUdeviceptr, ByteCount:size_t) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, CUarray, size_t, size_t)
def cuMemcpyAtoD_v2_ptds(dstDevice:CUdeviceptr, srcArray:CUarray, srcOffset:size_t, ByteCount:size_t) -> CUresult: ...
@dll.bind(CUresult, CUarray, size_t, ctypes.c_void_p, size_t)
def cuMemcpyHtoA_v2_ptds(dstArray:CUarray, dstOffset:size_t, srcHost:ctypes.c_void_p, ByteCount:size_t) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_void_p, CUarray, size_t, size_t)
def cuMemcpyAtoH_v2_ptds(dstHost:ctypes.c_void_p, srcArray:CUarray, srcOffset:size_t, ByteCount:size_t) -> CUresult: ...
@dll.bind(CUresult, CUarray, size_t, CUarray, size_t, size_t)
def cuMemcpyAtoA_v2_ptds(dstArray:CUarray, dstOffset:size_t, srcArray:CUarray, srcOffset:size_t, ByteCount:size_t) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_MEMCPY2D])
def cuMemcpy2D_v2_ptds(pCopy:c.POINTER[CUDA_MEMCPY2D]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_MEMCPY2D])
def cuMemcpy2DUnaligned_v2_ptds(pCopy:c.POINTER[CUDA_MEMCPY2D]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_MEMCPY3D])
def cuMemcpy3D_v2_ptds(pCopy:c.POINTER[CUDA_MEMCPY3D]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_MEMCPY3D_PEER])
def cuMemcpy3DPeer_ptds(pCopy:c.POINTER[CUDA_MEMCPY3D_PEER]) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, CUdeviceptr, size_t, CUstream)
def cuMemcpyAsync_ptsz(dst:CUdeviceptr, src:CUdeviceptr, ByteCount:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, CUcontext, CUdeviceptr, CUcontext, size_t, CUstream)
def cuMemcpyPeerAsync_ptsz(dstDevice:CUdeviceptr, dstContext:CUcontext, srcDevice:CUdeviceptr, srcContext:CUcontext, ByteCount:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, ctypes.c_void_p, size_t, CUstream)
def cuMemcpyHtoDAsync_v2_ptsz(dstDevice:CUdeviceptr, srcHost:ctypes.c_void_p, ByteCount:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_void_p, CUdeviceptr, size_t, CUstream)
def cuMemcpyDtoHAsync_v2_ptsz(dstHost:ctypes.c_void_p, srcDevice:CUdeviceptr, ByteCount:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, CUdeviceptr, size_t, CUstream)
def cuMemcpyDtoDAsync_v2_ptsz(dstDevice:CUdeviceptr, srcDevice:CUdeviceptr, ByteCount:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUarray, size_t, ctypes.c_void_p, size_t, CUstream)
def cuMemcpyHtoAAsync_v2_ptsz(dstArray:CUarray, dstOffset:size_t, srcHost:ctypes.c_void_p, ByteCount:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_void_p, CUarray, size_t, size_t, CUstream)
def cuMemcpyAtoHAsync_v2_ptsz(dstHost:ctypes.c_void_p, srcArray:CUarray, srcOffset:size_t, ByteCount:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_MEMCPY2D], CUstream)
def cuMemcpy2DAsync_v2_ptsz(pCopy:c.POINTER[CUDA_MEMCPY2D], hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_MEMCPY3D], CUstream)
def cuMemcpy3DAsync_v2_ptsz(pCopy:c.POINTER[CUDA_MEMCPY3D], hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_MEMCPY3D_PEER], CUstream)
def cuMemcpy3DPeerAsync_ptsz(pCopy:c.POINTER[CUDA_MEMCPY3D_PEER], hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, ctypes.c_ubyte, size_t)
def cuMemsetD8_v2_ptds(dstDevice:CUdeviceptr, uc:int, N:size_t) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, ctypes.c_uint16, size_t)
def cuMemsetD16_v2_ptds(dstDevice:CUdeviceptr, us:int, N:size_t) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, ctypes.c_uint32, size_t)
def cuMemsetD32_v2_ptds(dstDevice:CUdeviceptr, ui:int, N:size_t) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, size_t, ctypes.c_ubyte, size_t, size_t)
def cuMemsetD2D8_v2_ptds(dstDevice:CUdeviceptr, dstPitch:size_t, uc:int, Width:size_t, Height:size_t) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, size_t, ctypes.c_uint16, size_t, size_t)
def cuMemsetD2D16_v2_ptds(dstDevice:CUdeviceptr, dstPitch:size_t, us:int, Width:size_t, Height:size_t) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, size_t, ctypes.c_uint32, size_t, size_t)
def cuMemsetD2D32_v2_ptds(dstDevice:CUdeviceptr, dstPitch:size_t, ui:int, Width:size_t, Height:size_t) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, ctypes.c_ubyte, size_t, CUstream)
def cuMemsetD8Async_ptsz(dstDevice:CUdeviceptr, uc:int, N:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, ctypes.c_uint16, size_t, CUstream)
def cuMemsetD16Async_ptsz(dstDevice:CUdeviceptr, us:int, N:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, ctypes.c_uint32, size_t, CUstream)
def cuMemsetD32Async_ptsz(dstDevice:CUdeviceptr, ui:int, N:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, size_t, ctypes.c_ubyte, size_t, size_t, CUstream)
def cuMemsetD2D8Async_ptsz(dstDevice:CUdeviceptr, dstPitch:size_t, uc:int, Width:size_t, Height:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, size_t, ctypes.c_uint16, size_t, size_t, CUstream)
def cuMemsetD2D16Async_ptsz(dstDevice:CUdeviceptr, dstPitch:size_t, us:int, Width:size_t, Height:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, size_t, ctypes.c_uint32, size_t, size_t, CUstream)
def cuMemsetD2D32Async_ptsz(dstDevice:CUdeviceptr, dstPitch:size_t, ui:int, Width:size_t, Height:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUarray], c.POINTER[CUDA_ARRAY_DESCRIPTOR])
def cuArrayCreate_v2(pHandle:c.POINTER[CUarray], pAllocateArray:c.POINTER[CUDA_ARRAY_DESCRIPTOR]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_ARRAY_DESCRIPTOR], CUarray)
def cuArrayGetDescriptor_v2(pArrayDescriptor:c.POINTER[CUDA_ARRAY_DESCRIPTOR], hArray:CUarray) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_ARRAY_SPARSE_PROPERTIES], CUarray)
def cuArrayGetSparseProperties(sparseProperties:c.POINTER[CUDA_ARRAY_SPARSE_PROPERTIES], array:CUarray) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_ARRAY_SPARSE_PROPERTIES], CUmipmappedArray)
def cuMipmappedArrayGetSparseProperties(sparseProperties:c.POINTER[CUDA_ARRAY_SPARSE_PROPERTIES], mipmap:CUmipmappedArray) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_ARRAY_MEMORY_REQUIREMENTS], CUarray, CUdevice)
def cuArrayGetMemoryRequirements(memoryRequirements:c.POINTER[CUDA_ARRAY_MEMORY_REQUIREMENTS], array:CUarray, device:CUdevice) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_ARRAY_MEMORY_REQUIREMENTS], CUmipmappedArray, CUdevice)
def cuMipmappedArrayGetMemoryRequirements(memoryRequirements:c.POINTER[CUDA_ARRAY_MEMORY_REQUIREMENTS], mipmap:CUmipmappedArray, device:CUdevice) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUarray], CUarray, ctypes.c_uint32)
def cuArrayGetPlane(pPlaneArray:c.POINTER[CUarray], hArray:CUarray, planeIdx:int) -> CUresult: ...
@dll.bind(CUresult, CUarray)
def cuArrayDestroy(hArray:CUarray) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUarray], c.POINTER[CUDA_ARRAY3D_DESCRIPTOR])
def cuArray3DCreate_v2(pHandle:c.POINTER[CUarray], pAllocateArray:c.POINTER[CUDA_ARRAY3D_DESCRIPTOR]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_ARRAY3D_DESCRIPTOR], CUarray)
def cuArray3DGetDescriptor_v2(pArrayDescriptor:c.POINTER[CUDA_ARRAY3D_DESCRIPTOR], hArray:CUarray) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUmipmappedArray], c.POINTER[CUDA_ARRAY3D_DESCRIPTOR], ctypes.c_uint32)
def cuMipmappedArrayCreate(pHandle:c.POINTER[CUmipmappedArray], pMipmappedArrayDesc:c.POINTER[CUDA_ARRAY3D_DESCRIPTOR], numMipmapLevels:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUarray], CUmipmappedArray, ctypes.c_uint32)
def cuMipmappedArrayGetLevel(pLevelArray:c.POINTER[CUarray], hMipmappedArray:CUmipmappedArray, level:int) -> CUresult: ...
@dll.bind(CUresult, CUmipmappedArray)
def cuMipmappedArrayDestroy(hMipmappedArray:CUmipmappedArray) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_void_p, CUdeviceptr, size_t, CUmemRangeHandleType, ctypes.c_uint64)
def cuMemGetHandleForAddressRange(handle:ctypes.c_void_p, dptr:CUdeviceptr, size:size_t, handleType:CUmemRangeHandleType, flags:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdeviceptr], size_t, size_t, CUdeviceptr, ctypes.c_uint64)
def cuMemAddressReserve(ptr:c.POINTER[CUdeviceptr], size:size_t, alignment:size_t, addr:CUdeviceptr, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, size_t)
def cuMemAddressFree(ptr:CUdeviceptr, size:size_t) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUmemGenericAllocationHandle], size_t, c.POINTER[CUmemAllocationProp], ctypes.c_uint64)
def cuMemCreate(handle:c.POINTER[CUmemGenericAllocationHandle], size:size_t, prop:c.POINTER[CUmemAllocationProp], flags:int) -> CUresult: ...
@dll.bind(CUresult, CUmemGenericAllocationHandle)
def cuMemRelease(handle:CUmemGenericAllocationHandle) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, size_t, size_t, CUmemGenericAllocationHandle, ctypes.c_uint64)
def cuMemMap(ptr:CUdeviceptr, size:size_t, offset:size_t, handle:CUmemGenericAllocationHandle, flags:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUarrayMapInfo], ctypes.c_uint32, CUstream)
def cuMemMapArrayAsync_ptsz(mapInfoList:c.POINTER[CUarrayMapInfo], count:int, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, size_t)
def cuMemUnmap(ptr:CUdeviceptr, size:size_t) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, size_t, c.POINTER[CUmemAccessDesc], size_t)
def cuMemSetAccess(ptr:CUdeviceptr, size:size_t, desc:c.POINTER[CUmemAccessDesc], count:size_t) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_uint64], c.POINTER[CUmemLocation], CUdeviceptr)
def cuMemGetAccess(flags:c.POINTER[ctypes.c_uint64], location:c.POINTER[CUmemLocation], ptr:CUdeviceptr) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_void_p, CUmemGenericAllocationHandle, CUmemAllocationHandleType, ctypes.c_uint64)
def cuMemExportToShareableHandle(shareableHandle:ctypes.c_void_p, handle:CUmemGenericAllocationHandle, handleType:CUmemAllocationHandleType, flags:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUmemGenericAllocationHandle], ctypes.c_void_p, CUmemAllocationHandleType)
def cuMemImportFromShareableHandle(handle:c.POINTER[CUmemGenericAllocationHandle], osHandle:ctypes.c_void_p, shHandleType:CUmemAllocationHandleType) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[size_t], c.POINTER[CUmemAllocationProp], CUmemAllocationGranularity_flags)
def cuMemGetAllocationGranularity(granularity:c.POINTER[size_t], prop:c.POINTER[CUmemAllocationProp], option:CUmemAllocationGranularity_flags) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUmemAllocationProp], CUmemGenericAllocationHandle)
def cuMemGetAllocationPropertiesFromHandle(prop:c.POINTER[CUmemAllocationProp], handle:CUmemGenericAllocationHandle) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUmemGenericAllocationHandle], ctypes.c_void_p)
def cuMemRetainAllocationHandle(handle:c.POINTER[CUmemGenericAllocationHandle], addr:ctypes.c_void_p) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, CUstream)
def cuMemFreeAsync_ptsz(dptr:CUdeviceptr, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdeviceptr], size_t, CUstream)
def cuMemAllocAsync_ptsz(dptr:c.POINTER[CUdeviceptr], bytesize:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUmemoryPool, size_t)
def cuMemPoolTrimTo(pool:CUmemoryPool, minBytesToKeep:size_t) -> CUresult: ...
@dll.bind(CUresult, CUmemoryPool, CUmemPool_attribute, ctypes.c_void_p)
def cuMemPoolSetAttribute(pool:CUmemoryPool, attr:CUmemPool_attribute, value:ctypes.c_void_p) -> CUresult: ...
@dll.bind(CUresult, CUmemoryPool, CUmemPool_attribute, ctypes.c_void_p)
def cuMemPoolGetAttribute(pool:CUmemoryPool, attr:CUmemPool_attribute, value:ctypes.c_void_p) -> CUresult: ...
@dll.bind(CUresult, CUmemoryPool, c.POINTER[CUmemAccessDesc], size_t)
def cuMemPoolSetAccess(pool:CUmemoryPool, map:c.POINTER[CUmemAccessDesc], count:size_t) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUmemAccess_flags], CUmemoryPool, c.POINTER[CUmemLocation])
def cuMemPoolGetAccess(flags:c.POINTER[CUmemAccess_flags], memPool:CUmemoryPool, location:c.POINTER[CUmemLocation]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUmemoryPool], c.POINTER[CUmemPoolProps])
def cuMemPoolCreate(pool:c.POINTER[CUmemoryPool], poolProps:c.POINTER[CUmemPoolProps]) -> CUresult: ...
@dll.bind(CUresult, CUmemoryPool)
def cuMemPoolDestroy(pool:CUmemoryPool) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdeviceptr], size_t, CUmemoryPool, CUstream)
def cuMemAllocFromPoolAsync_ptsz(dptr:c.POINTER[CUdeviceptr], bytesize:size_t, pool:CUmemoryPool, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_void_p, CUmemoryPool, CUmemAllocationHandleType, ctypes.c_uint64)
def cuMemPoolExportToShareableHandle(handle_out:ctypes.c_void_p, pool:CUmemoryPool, handleType:CUmemAllocationHandleType, flags:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUmemoryPool], ctypes.c_void_p, CUmemAllocationHandleType, ctypes.c_uint64)
def cuMemPoolImportFromShareableHandle(pool_out:c.POINTER[CUmemoryPool], handle:ctypes.c_void_p, handleType:CUmemAllocationHandleType, flags:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUmemPoolPtrExportData], CUdeviceptr)
def cuMemPoolExportPointer(shareData_out:c.POINTER[CUmemPoolPtrExportData], ptr:CUdeviceptr) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdeviceptr], CUmemoryPool, c.POINTER[CUmemPoolPtrExportData])
def cuMemPoolImportPointer(ptr_out:c.POINTER[CUdeviceptr], pool:CUmemoryPool, shareData:c.POINTER[CUmemPoolPtrExportData]) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_void_p, CUpointer_attribute, CUdeviceptr)
def cuPointerGetAttribute(data:ctypes.c_void_p, attribute:CUpointer_attribute, ptr:CUdeviceptr) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, size_t, CUdevice, CUstream)
def cuMemPrefetchAsync_ptsz(devPtr:CUdeviceptr, count:size_t, dstDevice:CUdevice, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, size_t, CUmem_advise, CUdevice)
def cuMemAdvise(devPtr:CUdeviceptr, count:size_t, advice:CUmem_advise, device:CUdevice) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_void_p, size_t, CUmem_range_attribute, CUdeviceptr, size_t)
def cuMemRangeGetAttribute(data:ctypes.c_void_p, dataSize:size_t, attribute:CUmem_range_attribute, devPtr:CUdeviceptr, count:size_t) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_void_p], c.POINTER[size_t], c.POINTER[CUmem_range_attribute], size_t, CUdeviceptr, size_t)
def cuMemRangeGetAttributes(data:c.POINTER[ctypes.c_void_p], dataSizes:c.POINTER[size_t], attributes:c.POINTER[CUmem_range_attribute], numAttributes:size_t, devPtr:CUdeviceptr, count:size_t) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_void_p, CUpointer_attribute, CUdeviceptr)
def cuPointerSetAttribute(value:ctypes.c_void_p, attribute:CUpointer_attribute, ptr:CUdeviceptr) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_uint32, c.POINTER[CUpointer_attribute], c.POINTER[ctypes.c_void_p], CUdeviceptr)
def cuPointerGetAttributes(numAttributes:int, attributes:c.POINTER[CUpointer_attribute], data:c.POINTER[ctypes.c_void_p], ptr:CUdeviceptr) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUstream], ctypes.c_uint32)
def cuStreamCreate(phStream:c.POINTER[CUstream], Flags:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUstream], ctypes.c_uint32, ctypes.c_int32)
def cuStreamCreateWithPriority(phStream:c.POINTER[CUstream], flags:int, priority:int) -> CUresult: ...
@dll.bind(CUresult, CUstream, c.POINTER[ctypes.c_int32])
def cuStreamGetPriority_ptsz(hStream:CUstream, priority:c.POINTER[ctypes.c_int32]) -> CUresult: ...
@dll.bind(CUresult, CUstream, c.POINTER[ctypes.c_uint32])
def cuStreamGetFlags_ptsz(hStream:CUstream, flags:c.POINTER[ctypes.c_uint32]) -> CUresult: ...
@dll.bind(CUresult, CUstream, c.POINTER[ctypes.c_uint64])
def cuStreamGetId_ptsz(hStream:CUstream, streamId:c.POINTER[ctypes.c_uint64]) -> CUresult: ...
@dll.bind(CUresult, CUstream, c.POINTER[CUcontext])
def cuStreamGetCtx_ptsz(hStream:CUstream, pctx:c.POINTER[CUcontext]) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUevent, ctypes.c_uint32)
def cuStreamWaitEvent_ptsz(hStream:CUstream, hEvent:CUevent, Flags:int) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUstreamCallback, ctypes.c_void_p, ctypes.c_uint32)
def cuStreamAddCallback_ptsz(hStream:CUstream, callback:CUstreamCallback, userData:ctypes.c_void_p, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUstreamCaptureMode)
def cuStreamBeginCapture_v2_ptsz(hStream:CUstream, mode:CUstreamCaptureMode) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUstreamCaptureMode])
def cuThreadExchangeStreamCaptureMode(mode:c.POINTER[CUstreamCaptureMode]) -> CUresult: ...
@dll.bind(CUresult, CUstream, c.POINTER[CUgraph])
def cuStreamEndCapture_ptsz(hStream:CUstream, phGraph:c.POINTER[CUgraph]) -> CUresult: ...
@dll.bind(CUresult, CUstream, c.POINTER[CUstreamCaptureStatus])
def cuStreamIsCapturing_ptsz(hStream:CUstream, captureStatus:c.POINTER[CUstreamCaptureStatus]) -> CUresult: ...
@dll.bind(CUresult, CUstream, c.POINTER[CUstreamCaptureStatus], c.POINTER[cuuint64_t], c.POINTER[CUgraph], c.POINTER[c.POINTER[CUgraphNode]], c.POINTER[size_t])
def cuStreamGetCaptureInfo_v2_ptsz(hStream:CUstream, captureStatus_out:c.POINTER[CUstreamCaptureStatus], id_out:c.POINTER[cuuint64_t], graph_out:c.POINTER[CUgraph], dependencies_out:c.POINTER[c.POINTER[CUgraphNode]], numDependencies_out:c.POINTER[size_t]) -> CUresult: ...
@dll.bind(CUresult, CUstream, c.POINTER[CUgraphNode], size_t, ctypes.c_uint32)
def cuStreamUpdateCaptureDependencies_ptsz(hStream:CUstream, dependencies:c.POINTER[CUgraphNode], numDependencies:size_t, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUdeviceptr, size_t, ctypes.c_uint32)
def cuStreamAttachMemAsync_ptsz(hStream:CUstream, dptr:CUdeviceptr, length:size_t, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUstream)
def cuStreamQuery_ptsz(hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUstream)
def cuStreamSynchronize_ptsz(hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUstream)
def cuStreamDestroy_v2(hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUstream)
def cuStreamCopyAttributes_ptsz(dst:CUstream, src:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUstreamAttrID, c.POINTER[CUstreamAttrValue])
def cuStreamGetAttribute_ptsz(hStream:CUstream, attr:CUstreamAttrID, value_out:c.POINTER[CUstreamAttrValue]) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUstreamAttrID, c.POINTER[CUstreamAttrValue])
def cuStreamSetAttribute_ptsz(hStream:CUstream, attr:CUstreamAttrID, value:c.POINTER[CUstreamAttrValue]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUevent], ctypes.c_uint32)
def cuEventCreate(phEvent:c.POINTER[CUevent], Flags:int) -> CUresult: ...
@dll.bind(CUresult, CUevent, CUstream)
def cuEventRecord_ptsz(hEvent:CUevent, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUevent, CUstream, ctypes.c_uint32)
def cuEventRecordWithFlags_ptsz(hEvent:CUevent, hStream:CUstream, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUevent)
def cuEventQuery(hEvent:CUevent) -> CUresult: ...
@dll.bind(CUresult, CUevent)
def cuEventSynchronize(hEvent:CUevent) -> CUresult: ...
@dll.bind(CUresult, CUevent)
def cuEventDestroy_v2(hEvent:CUevent) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_float], CUevent, CUevent)
def cuEventElapsedTime(pMilliseconds:c.POINTER[ctypes.c_float], hStart:CUevent, hEnd:CUevent) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUexternalMemory], c.POINTER[CUDA_EXTERNAL_MEMORY_HANDLE_DESC])
def cuImportExternalMemory(extMem_out:c.POINTER[CUexternalMemory], memHandleDesc:c.POINTER[CUDA_EXTERNAL_MEMORY_HANDLE_DESC]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdeviceptr], CUexternalMemory, c.POINTER[CUDA_EXTERNAL_MEMORY_BUFFER_DESC])
def cuExternalMemoryGetMappedBuffer(devPtr:c.POINTER[CUdeviceptr], extMem:CUexternalMemory, bufferDesc:c.POINTER[CUDA_EXTERNAL_MEMORY_BUFFER_DESC]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUmipmappedArray], CUexternalMemory, c.POINTER[CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC])
def cuExternalMemoryGetMappedMipmappedArray(mipmap:c.POINTER[CUmipmappedArray], extMem:CUexternalMemory, mipmapDesc:c.POINTER[CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC]) -> CUresult: ...
@dll.bind(CUresult, CUexternalMemory)
def cuDestroyExternalMemory(extMem:CUexternalMemory) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUexternalSemaphore], c.POINTER[CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC])
def cuImportExternalSemaphore(extSem_out:c.POINTER[CUexternalSemaphore], semHandleDesc:c.POINTER[CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUexternalSemaphore], c.POINTER[CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS], ctypes.c_uint32, CUstream)
def cuSignalExternalSemaphoresAsync_ptsz(extSemArray:c.POINTER[CUexternalSemaphore], paramsArray:c.POINTER[CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS], numExtSems:int, stream:CUstream) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUexternalSemaphore], c.POINTER[CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS], ctypes.c_uint32, CUstream)
def cuWaitExternalSemaphoresAsync_ptsz(extSemArray:c.POINTER[CUexternalSemaphore], paramsArray:c.POINTER[CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS], numExtSems:int, stream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUexternalSemaphore)
def cuDestroyExternalSemaphore(extSem:CUexternalSemaphore) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUdeviceptr, cuuint32_t, ctypes.c_uint32)
def cuStreamWaitValue32_v2_ptsz(stream:CUstream, addr:CUdeviceptr, value:cuuint32_t, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUdeviceptr, cuuint64_t, ctypes.c_uint32)
def cuStreamWaitValue64_v2_ptsz(stream:CUstream, addr:CUdeviceptr, value:cuuint64_t, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUdeviceptr, cuuint32_t, ctypes.c_uint32)
def cuStreamWriteValue32_v2_ptsz(stream:CUstream, addr:CUdeviceptr, value:cuuint32_t, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUdeviceptr, cuuint64_t, ctypes.c_uint32)
def cuStreamWriteValue64_v2_ptsz(stream:CUstream, addr:CUdeviceptr, value:cuuint64_t, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUstream, ctypes.c_uint32, c.POINTER[CUstreamBatchMemOpParams], ctypes.c_uint32)
def cuStreamBatchMemOp_v2_ptsz(stream:CUstream, count:int, paramArray:c.POINTER[CUstreamBatchMemOpParams], flags:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_int32], CUfunction_attribute, CUfunction)
def cuFuncGetAttribute(pi:c.POINTER[ctypes.c_int32], attrib:CUfunction_attribute, hfunc:CUfunction) -> CUresult: ...
@dll.bind(CUresult, CUfunction, CUfunction_attribute, ctypes.c_int32)
def cuFuncSetAttribute(hfunc:CUfunction, attrib:CUfunction_attribute, value:int) -> CUresult: ...
@dll.bind(CUresult, CUfunction, CUfunc_cache)
def cuFuncSetCacheConfig(hfunc:CUfunction, config:CUfunc_cache) -> CUresult: ...
@dll.bind(CUresult, CUfunction, CUsharedconfig)
def cuFuncSetSharedMemConfig(hfunc:CUfunction, config:CUsharedconfig) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUmodule], CUfunction)
def cuFuncGetModule(hmod:c.POINTER[CUmodule], hfunc:CUfunction) -> CUresult: ...
@dll.bind(CUresult, CUfunction, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, CUstream, c.POINTER[ctypes.c_void_p], c.POINTER[ctypes.c_void_p])
def cuLaunchKernel_ptsz(f:CUfunction, gridDimX:int, gridDimY:int, gridDimZ:int, blockDimX:int, blockDimY:int, blockDimZ:int, sharedMemBytes:int, hStream:CUstream, kernelParams:c.POINTER[ctypes.c_void_p], extra:c.POINTER[ctypes.c_void_p]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUlaunchConfig], CUfunction, c.POINTER[ctypes.c_void_p], c.POINTER[ctypes.c_void_p])
def cuLaunchKernelEx_ptsz(config:c.POINTER[CUlaunchConfig], f:CUfunction, kernelParams:c.POINTER[ctypes.c_void_p], extra:c.POINTER[ctypes.c_void_p]) -> CUresult: ...
@dll.bind(CUresult, CUfunction, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, CUstream, c.POINTER[ctypes.c_void_p])
def cuLaunchCooperativeKernel_ptsz(f:CUfunction, gridDimX:int, gridDimY:int, gridDimZ:int, blockDimX:int, blockDimY:int, blockDimZ:int, sharedMemBytes:int, hStream:CUstream, kernelParams:c.POINTER[ctypes.c_void_p]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_LAUNCH_PARAMS], ctypes.c_uint32, ctypes.c_uint32)
def cuLaunchCooperativeKernelMultiDevice(launchParamsList:c.POINTER[CUDA_LAUNCH_PARAMS], numDevices:int, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUhostFn, ctypes.c_void_p)
def cuLaunchHostFunc_ptsz(hStream:CUstream, fn:CUhostFn, userData:ctypes.c_void_p) -> CUresult: ...
@dll.bind(CUresult, CUfunction, ctypes.c_int32, ctypes.c_int32, ctypes.c_int32)
def cuFuncSetBlockShape(hfunc:CUfunction, x:int, y:int, z:int) -> CUresult: ...
@dll.bind(CUresult, CUfunction, ctypes.c_uint32)
def cuFuncSetSharedSize(hfunc:CUfunction, bytes:int) -> CUresult: ...
@dll.bind(CUresult, CUfunction, ctypes.c_uint32)
def cuParamSetSize(hfunc:CUfunction, numbytes:int) -> CUresult: ...
@dll.bind(CUresult, CUfunction, ctypes.c_int32, ctypes.c_uint32)
def cuParamSeti(hfunc:CUfunction, offset:int, value:int) -> CUresult: ...
@dll.bind(CUresult, CUfunction, ctypes.c_int32, ctypes.c_float)
def cuParamSetf(hfunc:CUfunction, offset:int, value:float) -> CUresult: ...
@dll.bind(CUresult, CUfunction, ctypes.c_int32, ctypes.c_void_p, ctypes.c_uint32)
def cuParamSetv(hfunc:CUfunction, offset:int, ptr:ctypes.c_void_p, numbytes:int) -> CUresult: ...
@dll.bind(CUresult, CUfunction)
def cuLaunch(f:CUfunction) -> CUresult: ...
@dll.bind(CUresult, CUfunction, ctypes.c_int32, ctypes.c_int32)
def cuLaunchGrid(f:CUfunction, grid_width:int, grid_height:int) -> CUresult: ...
@dll.bind(CUresult, CUfunction, ctypes.c_int32, ctypes.c_int32, CUstream)
def cuLaunchGridAsync(f:CUfunction, grid_width:int, grid_height:int, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUfunction, ctypes.c_int32, CUtexref)
def cuParamSetTexRef(hfunc:CUfunction, texunit:int, hTexRef:CUtexref) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUgraph], ctypes.c_uint32)
def cuGraphCreate(phGraph:c.POINTER[CUgraph], flags:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUgraphNode], CUgraph, c.POINTER[CUgraphNode], size_t, c.POINTER[CUDA_KERNEL_NODE_PARAMS])
def cuGraphAddKernelNode_v2(phGraphNode:c.POINTER[CUgraphNode], hGraph:CUgraph, dependencies:c.POINTER[CUgraphNode], numDependencies:size_t, nodeParams:c.POINTER[CUDA_KERNEL_NODE_PARAMS]) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, c.POINTER[CUDA_KERNEL_NODE_PARAMS])
def cuGraphKernelNodeGetParams_v2(hNode:CUgraphNode, nodeParams:c.POINTER[CUDA_KERNEL_NODE_PARAMS]) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, c.POINTER[CUDA_KERNEL_NODE_PARAMS])
def cuGraphKernelNodeSetParams_v2(hNode:CUgraphNode, nodeParams:c.POINTER[CUDA_KERNEL_NODE_PARAMS]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUgraphNode], CUgraph, c.POINTER[CUgraphNode], size_t, c.POINTER[CUDA_MEMCPY3D], CUcontext)
def cuGraphAddMemcpyNode(phGraphNode:c.POINTER[CUgraphNode], hGraph:CUgraph, dependencies:c.POINTER[CUgraphNode], numDependencies:size_t, copyParams:c.POINTER[CUDA_MEMCPY3D], ctx:CUcontext) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, c.POINTER[CUDA_MEMCPY3D])
def cuGraphMemcpyNodeGetParams(hNode:CUgraphNode, nodeParams:c.POINTER[CUDA_MEMCPY3D]) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, c.POINTER[CUDA_MEMCPY3D])
def cuGraphMemcpyNodeSetParams(hNode:CUgraphNode, nodeParams:c.POINTER[CUDA_MEMCPY3D]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUgraphNode], CUgraph, c.POINTER[CUgraphNode], size_t, c.POINTER[CUDA_MEMSET_NODE_PARAMS], CUcontext)
def cuGraphAddMemsetNode(phGraphNode:c.POINTER[CUgraphNode], hGraph:CUgraph, dependencies:c.POINTER[CUgraphNode], numDependencies:size_t, memsetParams:c.POINTER[CUDA_MEMSET_NODE_PARAMS], ctx:CUcontext) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, c.POINTER[CUDA_MEMSET_NODE_PARAMS])
def cuGraphMemsetNodeGetParams(hNode:CUgraphNode, nodeParams:c.POINTER[CUDA_MEMSET_NODE_PARAMS]) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, c.POINTER[CUDA_MEMSET_NODE_PARAMS])
def cuGraphMemsetNodeSetParams(hNode:CUgraphNode, nodeParams:c.POINTER[CUDA_MEMSET_NODE_PARAMS]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUgraphNode], CUgraph, c.POINTER[CUgraphNode], size_t, c.POINTER[CUDA_HOST_NODE_PARAMS])
def cuGraphAddHostNode(phGraphNode:c.POINTER[CUgraphNode], hGraph:CUgraph, dependencies:c.POINTER[CUgraphNode], numDependencies:size_t, nodeParams:c.POINTER[CUDA_HOST_NODE_PARAMS]) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, c.POINTER[CUDA_HOST_NODE_PARAMS])
def cuGraphHostNodeGetParams(hNode:CUgraphNode, nodeParams:c.POINTER[CUDA_HOST_NODE_PARAMS]) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, c.POINTER[CUDA_HOST_NODE_PARAMS])
def cuGraphHostNodeSetParams(hNode:CUgraphNode, nodeParams:c.POINTER[CUDA_HOST_NODE_PARAMS]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUgraphNode], CUgraph, c.POINTER[CUgraphNode], size_t, CUgraph)
def cuGraphAddChildGraphNode(phGraphNode:c.POINTER[CUgraphNode], hGraph:CUgraph, dependencies:c.POINTER[CUgraphNode], numDependencies:size_t, childGraph:CUgraph) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, c.POINTER[CUgraph])
def cuGraphChildGraphNodeGetGraph(hNode:CUgraphNode, phGraph:c.POINTER[CUgraph]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUgraphNode], CUgraph, c.POINTER[CUgraphNode], size_t)
def cuGraphAddEmptyNode(phGraphNode:c.POINTER[CUgraphNode], hGraph:CUgraph, dependencies:c.POINTER[CUgraphNode], numDependencies:size_t) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUgraphNode], CUgraph, c.POINTER[CUgraphNode], size_t, CUevent)
def cuGraphAddEventRecordNode(phGraphNode:c.POINTER[CUgraphNode], hGraph:CUgraph, dependencies:c.POINTER[CUgraphNode], numDependencies:size_t, event:CUevent) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, c.POINTER[CUevent])
def cuGraphEventRecordNodeGetEvent(hNode:CUgraphNode, event_out:c.POINTER[CUevent]) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, CUevent)
def cuGraphEventRecordNodeSetEvent(hNode:CUgraphNode, event:CUevent) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUgraphNode], CUgraph, c.POINTER[CUgraphNode], size_t, CUevent)
def cuGraphAddEventWaitNode(phGraphNode:c.POINTER[CUgraphNode], hGraph:CUgraph, dependencies:c.POINTER[CUgraphNode], numDependencies:size_t, event:CUevent) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, c.POINTER[CUevent])
def cuGraphEventWaitNodeGetEvent(hNode:CUgraphNode, event_out:c.POINTER[CUevent]) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, CUevent)
def cuGraphEventWaitNodeSetEvent(hNode:CUgraphNode, event:CUevent) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUgraphNode], CUgraph, c.POINTER[CUgraphNode], size_t, c.POINTER[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS])
def cuGraphAddExternalSemaphoresSignalNode(phGraphNode:c.POINTER[CUgraphNode], hGraph:CUgraph, dependencies:c.POINTER[CUgraphNode], numDependencies:size_t, nodeParams:c.POINTER[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS]) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, c.POINTER[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS])
def cuGraphExternalSemaphoresSignalNodeGetParams(hNode:CUgraphNode, params_out:c.POINTER[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS]) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, c.POINTER[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS])
def cuGraphExternalSemaphoresSignalNodeSetParams(hNode:CUgraphNode, nodeParams:c.POINTER[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUgraphNode], CUgraph, c.POINTER[CUgraphNode], size_t, c.POINTER[CUDA_EXT_SEM_WAIT_NODE_PARAMS])
def cuGraphAddExternalSemaphoresWaitNode(phGraphNode:c.POINTER[CUgraphNode], hGraph:CUgraph, dependencies:c.POINTER[CUgraphNode], numDependencies:size_t, nodeParams:c.POINTER[CUDA_EXT_SEM_WAIT_NODE_PARAMS]) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, c.POINTER[CUDA_EXT_SEM_WAIT_NODE_PARAMS])
def cuGraphExternalSemaphoresWaitNodeGetParams(hNode:CUgraphNode, params_out:c.POINTER[CUDA_EXT_SEM_WAIT_NODE_PARAMS]) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, c.POINTER[CUDA_EXT_SEM_WAIT_NODE_PARAMS])
def cuGraphExternalSemaphoresWaitNodeSetParams(hNode:CUgraphNode, nodeParams:c.POINTER[CUDA_EXT_SEM_WAIT_NODE_PARAMS]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUgraphNode], CUgraph, c.POINTER[CUgraphNode], size_t, c.POINTER[CUDA_BATCH_MEM_OP_NODE_PARAMS])
def cuGraphAddBatchMemOpNode(phGraphNode:c.POINTER[CUgraphNode], hGraph:CUgraph, dependencies:c.POINTER[CUgraphNode], numDependencies:size_t, nodeParams:c.POINTER[CUDA_BATCH_MEM_OP_NODE_PARAMS]) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, c.POINTER[CUDA_BATCH_MEM_OP_NODE_PARAMS])
def cuGraphBatchMemOpNodeGetParams(hNode:CUgraphNode, nodeParams_out:c.POINTER[CUDA_BATCH_MEM_OP_NODE_PARAMS]) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, c.POINTER[CUDA_BATCH_MEM_OP_NODE_PARAMS])
def cuGraphBatchMemOpNodeSetParams(hNode:CUgraphNode, nodeParams:c.POINTER[CUDA_BATCH_MEM_OP_NODE_PARAMS]) -> CUresult: ...
@dll.bind(CUresult, CUgraphExec, CUgraphNode, c.POINTER[CUDA_BATCH_MEM_OP_NODE_PARAMS])
def cuGraphExecBatchMemOpNodeSetParams(hGraphExec:CUgraphExec, hNode:CUgraphNode, nodeParams:c.POINTER[CUDA_BATCH_MEM_OP_NODE_PARAMS]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUgraphNode], CUgraph, c.POINTER[CUgraphNode], size_t, c.POINTER[CUDA_MEM_ALLOC_NODE_PARAMS])
def cuGraphAddMemAllocNode(phGraphNode:c.POINTER[CUgraphNode], hGraph:CUgraph, dependencies:c.POINTER[CUgraphNode], numDependencies:size_t, nodeParams:c.POINTER[CUDA_MEM_ALLOC_NODE_PARAMS]) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, c.POINTER[CUDA_MEM_ALLOC_NODE_PARAMS])
def cuGraphMemAllocNodeGetParams(hNode:CUgraphNode, params_out:c.POINTER[CUDA_MEM_ALLOC_NODE_PARAMS]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUgraphNode], CUgraph, c.POINTER[CUgraphNode], size_t, CUdeviceptr)
def cuGraphAddMemFreeNode(phGraphNode:c.POINTER[CUgraphNode], hGraph:CUgraph, dependencies:c.POINTER[CUgraphNode], numDependencies:size_t, dptr:CUdeviceptr) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, c.POINTER[CUdeviceptr])
def cuGraphMemFreeNodeGetParams(hNode:CUgraphNode, dptr_out:c.POINTER[CUdeviceptr]) -> CUresult: ...
@dll.bind(CUresult, CUdevice)
def cuDeviceGraphMemTrim(device:CUdevice) -> CUresult: ...
@dll.bind(CUresult, CUdevice, CUgraphMem_attribute, ctypes.c_void_p)
def cuDeviceGetGraphMemAttribute(device:CUdevice, attr:CUgraphMem_attribute, value:ctypes.c_void_p) -> CUresult: ...
@dll.bind(CUresult, CUdevice, CUgraphMem_attribute, ctypes.c_void_p)
def cuDeviceSetGraphMemAttribute(device:CUdevice, attr:CUgraphMem_attribute, value:ctypes.c_void_p) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUgraph], CUgraph)
def cuGraphClone(phGraphClone:c.POINTER[CUgraph], originalGraph:CUgraph) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUgraphNode], CUgraphNode, CUgraph)
def cuGraphNodeFindInClone(phNode:c.POINTER[CUgraphNode], hOriginalNode:CUgraphNode, hClonedGraph:CUgraph) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, c.POINTER[CUgraphNodeType])
def cuGraphNodeGetType(hNode:CUgraphNode, type:c.POINTER[CUgraphNodeType]) -> CUresult: ...
@dll.bind(CUresult, CUgraph, c.POINTER[CUgraphNode], c.POINTER[size_t])
def cuGraphGetNodes(hGraph:CUgraph, nodes:c.POINTER[CUgraphNode], numNodes:c.POINTER[size_t]) -> CUresult: ...
@dll.bind(CUresult, CUgraph, c.POINTER[CUgraphNode], c.POINTER[size_t])
def cuGraphGetRootNodes(hGraph:CUgraph, rootNodes:c.POINTER[CUgraphNode], numRootNodes:c.POINTER[size_t]) -> CUresult: ...
@dll.bind(CUresult, CUgraph, c.POINTER[CUgraphNode], c.POINTER[CUgraphNode], c.POINTER[size_t])
def cuGraphGetEdges(hGraph:CUgraph, _from:c.POINTER[CUgraphNode], to:c.POINTER[CUgraphNode], numEdges:c.POINTER[size_t]) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, c.POINTER[CUgraphNode], c.POINTER[size_t])
def cuGraphNodeGetDependencies(hNode:CUgraphNode, dependencies:c.POINTER[CUgraphNode], numDependencies:c.POINTER[size_t]) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, c.POINTER[CUgraphNode], c.POINTER[size_t])
def cuGraphNodeGetDependentNodes(hNode:CUgraphNode, dependentNodes:c.POINTER[CUgraphNode], numDependentNodes:c.POINTER[size_t]) -> CUresult: ...
@dll.bind(CUresult, CUgraph, c.POINTER[CUgraphNode], c.POINTER[CUgraphNode], size_t)
def cuGraphAddDependencies(hGraph:CUgraph, _from:c.POINTER[CUgraphNode], to:c.POINTER[CUgraphNode], numDependencies:size_t) -> CUresult: ...
@dll.bind(CUresult, CUgraph, c.POINTER[CUgraphNode], c.POINTER[CUgraphNode], size_t)
def cuGraphRemoveDependencies(hGraph:CUgraph, _from:c.POINTER[CUgraphNode], to:c.POINTER[CUgraphNode], numDependencies:size_t) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode)
def cuGraphDestroyNode(hNode:CUgraphNode) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUgraphExec], CUgraph, ctypes.c_uint64)
def cuGraphInstantiateWithFlags(phGraphExec:c.POINTER[CUgraphExec], hGraph:CUgraph, flags:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUgraphExec], CUgraph, c.POINTER[CUDA_GRAPH_INSTANTIATE_PARAMS])
def cuGraphInstantiateWithParams_ptsz(phGraphExec:c.POINTER[CUgraphExec], hGraph:CUgraph, instantiateParams:c.POINTER[CUDA_GRAPH_INSTANTIATE_PARAMS]) -> CUresult: ...
@dll.bind(CUresult, CUgraphExec, c.POINTER[cuuint64_t])
def cuGraphExecGetFlags(hGraphExec:CUgraphExec, flags:c.POINTER[cuuint64_t]) -> CUresult: ...
@dll.bind(CUresult, CUgraphExec, CUgraphNode, c.POINTER[CUDA_KERNEL_NODE_PARAMS])
def cuGraphExecKernelNodeSetParams_v2(hGraphExec:CUgraphExec, hNode:CUgraphNode, nodeParams:c.POINTER[CUDA_KERNEL_NODE_PARAMS]) -> CUresult: ...
@dll.bind(CUresult, CUgraphExec, CUgraphNode, c.POINTER[CUDA_MEMCPY3D], CUcontext)
def cuGraphExecMemcpyNodeSetParams(hGraphExec:CUgraphExec, hNode:CUgraphNode, copyParams:c.POINTER[CUDA_MEMCPY3D], ctx:CUcontext) -> CUresult: ...
@dll.bind(CUresult, CUgraphExec, CUgraphNode, c.POINTER[CUDA_MEMSET_NODE_PARAMS], CUcontext)
def cuGraphExecMemsetNodeSetParams(hGraphExec:CUgraphExec, hNode:CUgraphNode, memsetParams:c.POINTER[CUDA_MEMSET_NODE_PARAMS], ctx:CUcontext) -> CUresult: ...
@dll.bind(CUresult, CUgraphExec, CUgraphNode, c.POINTER[CUDA_HOST_NODE_PARAMS])
def cuGraphExecHostNodeSetParams(hGraphExec:CUgraphExec, hNode:CUgraphNode, nodeParams:c.POINTER[CUDA_HOST_NODE_PARAMS]) -> CUresult: ...
@dll.bind(CUresult, CUgraphExec, CUgraphNode, CUgraph)
def cuGraphExecChildGraphNodeSetParams(hGraphExec:CUgraphExec, hNode:CUgraphNode, childGraph:CUgraph) -> CUresult: ...
@dll.bind(CUresult, CUgraphExec, CUgraphNode, CUevent)
def cuGraphExecEventRecordNodeSetEvent(hGraphExec:CUgraphExec, hNode:CUgraphNode, event:CUevent) -> CUresult: ...
@dll.bind(CUresult, CUgraphExec, CUgraphNode, CUevent)
def cuGraphExecEventWaitNodeSetEvent(hGraphExec:CUgraphExec, hNode:CUgraphNode, event:CUevent) -> CUresult: ...
@dll.bind(CUresult, CUgraphExec, CUgraphNode, c.POINTER[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS])
def cuGraphExecExternalSemaphoresSignalNodeSetParams(hGraphExec:CUgraphExec, hNode:CUgraphNode, nodeParams:c.POINTER[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS]) -> CUresult: ...
@dll.bind(CUresult, CUgraphExec, CUgraphNode, c.POINTER[CUDA_EXT_SEM_WAIT_NODE_PARAMS])
def cuGraphExecExternalSemaphoresWaitNodeSetParams(hGraphExec:CUgraphExec, hNode:CUgraphNode, nodeParams:c.POINTER[CUDA_EXT_SEM_WAIT_NODE_PARAMS]) -> CUresult: ...
@dll.bind(CUresult, CUgraphExec, CUgraphNode, ctypes.c_uint32)
def cuGraphNodeSetEnabled(hGraphExec:CUgraphExec, hNode:CUgraphNode, isEnabled:int) -> CUresult: ...
@dll.bind(CUresult, CUgraphExec, CUgraphNode, c.POINTER[ctypes.c_uint32])
def cuGraphNodeGetEnabled(hGraphExec:CUgraphExec, hNode:CUgraphNode, isEnabled:c.POINTER[ctypes.c_uint32]) -> CUresult: ...
@dll.bind(CUresult, CUgraphExec, CUstream)
def cuGraphUpload_ptsz(hGraphExec:CUgraphExec, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUgraphExec, CUstream)
def cuGraphLaunch_ptsz(hGraphExec:CUgraphExec, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUgraphExec)
def cuGraphExecDestroy(hGraphExec:CUgraphExec) -> CUresult: ...
@dll.bind(CUresult, CUgraph)
def cuGraphDestroy(hGraph:CUgraph) -> CUresult: ...
@dll.bind(CUresult, CUgraphExec, CUgraph, c.POINTER[CUgraphExecUpdateResultInfo])
def cuGraphExecUpdate_v2(hGraphExec:CUgraphExec, hGraph:CUgraph, resultInfo:c.POINTER[CUgraphExecUpdateResultInfo]) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, CUgraphNode)
def cuGraphKernelNodeCopyAttributes(dst:CUgraphNode, src:CUgraphNode) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, CUkernelNodeAttrID, c.POINTER[CUkernelNodeAttrValue])
def cuGraphKernelNodeGetAttribute(hNode:CUgraphNode, attr:CUkernelNodeAttrID, value_out:c.POINTER[CUkernelNodeAttrValue]) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, CUkernelNodeAttrID, c.POINTER[CUkernelNodeAttrValue])
def cuGraphKernelNodeSetAttribute(hNode:CUgraphNode, attr:CUkernelNodeAttrID, value:c.POINTER[CUkernelNodeAttrValue]) -> CUresult: ...
@dll.bind(CUresult, CUgraph, c.POINTER[ctypes.c_char], ctypes.c_uint32)
def cuGraphDebugDotPrint(hGraph:CUgraph, path:c.POINTER[ctypes.c_char], flags:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUuserObject], ctypes.c_void_p, CUhostFn, ctypes.c_uint32, ctypes.c_uint32)
def cuUserObjectCreate(object_out:c.POINTER[CUuserObject], ptr:ctypes.c_void_p, destroy:CUhostFn, initialRefcount:int, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUuserObject, ctypes.c_uint32)
def cuUserObjectRetain(object:CUuserObject, count:int) -> CUresult: ...
@dll.bind(CUresult, CUuserObject, ctypes.c_uint32)
def cuUserObjectRelease(object:CUuserObject, count:int) -> CUresult: ...
@dll.bind(CUresult, CUgraph, CUuserObject, ctypes.c_uint32, ctypes.c_uint32)
def cuGraphRetainUserObject(graph:CUgraph, object:CUuserObject, count:int, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUgraph, CUuserObject, ctypes.c_uint32)
def cuGraphReleaseUserObject(graph:CUgraph, object:CUuserObject, count:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_int32], CUfunction, ctypes.c_int32, size_t)
def cuOccupancyMaxActiveBlocksPerMultiprocessor(numBlocks:c.POINTER[ctypes.c_int32], func:CUfunction, blockSize:int, dynamicSMemSize:size_t) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_int32], CUfunction, ctypes.c_int32, size_t, ctypes.c_uint32)
def cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(numBlocks:c.POINTER[ctypes.c_int32], func:CUfunction, blockSize:int, dynamicSMemSize:size_t, flags:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_int32], c.POINTER[ctypes.c_int32], CUfunction, CUoccupancyB2DSize, size_t, ctypes.c_int32)
def cuOccupancyMaxPotentialBlockSize(minGridSize:c.POINTER[ctypes.c_int32], blockSize:c.POINTER[ctypes.c_int32], func:CUfunction, blockSizeToDynamicSMemSize:CUoccupancyB2DSize, dynamicSMemSize:size_t, blockSizeLimit:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_int32], c.POINTER[ctypes.c_int32], CUfunction, CUoccupancyB2DSize, size_t, ctypes.c_int32, ctypes.c_uint32)
def cuOccupancyMaxPotentialBlockSizeWithFlags(minGridSize:c.POINTER[ctypes.c_int32], blockSize:c.POINTER[ctypes.c_int32], func:CUfunction, blockSizeToDynamicSMemSize:CUoccupancyB2DSize, dynamicSMemSize:size_t, blockSizeLimit:int, flags:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[size_t], CUfunction, ctypes.c_int32, ctypes.c_int32)
def cuOccupancyAvailableDynamicSMemPerBlock(dynamicSmemSize:c.POINTER[size_t], func:CUfunction, numBlocks:int, blockSize:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_int32], CUfunction, c.POINTER[CUlaunchConfig])
def cuOccupancyMaxPotentialClusterSize(clusterSize:c.POINTER[ctypes.c_int32], func:CUfunction, config:c.POINTER[CUlaunchConfig]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_int32], CUfunction, c.POINTER[CUlaunchConfig])
def cuOccupancyMaxActiveClusters(numClusters:c.POINTER[ctypes.c_int32], func:CUfunction, config:c.POINTER[CUlaunchConfig]) -> CUresult: ...
@dll.bind(CUresult, CUtexref, CUarray, ctypes.c_uint32)
def cuTexRefSetArray(hTexRef:CUtexref, hArray:CUarray, Flags:int) -> CUresult: ...
@dll.bind(CUresult, CUtexref, CUmipmappedArray, ctypes.c_uint32)
def cuTexRefSetMipmappedArray(hTexRef:CUtexref, hMipmappedArray:CUmipmappedArray, Flags:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[size_t], CUtexref, CUdeviceptr, size_t)
def cuTexRefSetAddress_v2(ByteOffset:c.POINTER[size_t], hTexRef:CUtexref, dptr:CUdeviceptr, bytes:size_t) -> CUresult: ...
@dll.bind(CUresult, CUtexref, c.POINTER[CUDA_ARRAY_DESCRIPTOR], CUdeviceptr, size_t)
def cuTexRefSetAddress2D_v3(hTexRef:CUtexref, desc:c.POINTER[CUDA_ARRAY_DESCRIPTOR], dptr:CUdeviceptr, Pitch:size_t) -> CUresult: ...
@dll.bind(CUresult, CUtexref, CUarray_format, ctypes.c_int32)
def cuTexRefSetFormat(hTexRef:CUtexref, fmt:CUarray_format, NumPackedComponents:int) -> CUresult: ...
@dll.bind(CUresult, CUtexref, ctypes.c_int32, CUaddress_mode)
def cuTexRefSetAddressMode(hTexRef:CUtexref, dim:int, am:CUaddress_mode) -> CUresult: ...
@dll.bind(CUresult, CUtexref, CUfilter_mode)
def cuTexRefSetFilterMode(hTexRef:CUtexref, fm:CUfilter_mode) -> CUresult: ...
@dll.bind(CUresult, CUtexref, CUfilter_mode)
def cuTexRefSetMipmapFilterMode(hTexRef:CUtexref, fm:CUfilter_mode) -> CUresult: ...
@dll.bind(CUresult, CUtexref, ctypes.c_float)
def cuTexRefSetMipmapLevelBias(hTexRef:CUtexref, bias:float) -> CUresult: ...
@dll.bind(CUresult, CUtexref, ctypes.c_float, ctypes.c_float)
def cuTexRefSetMipmapLevelClamp(hTexRef:CUtexref, minMipmapLevelClamp:float, maxMipmapLevelClamp:float) -> CUresult: ...
@dll.bind(CUresult, CUtexref, ctypes.c_uint32)
def cuTexRefSetMaxAnisotropy(hTexRef:CUtexref, maxAniso:int) -> CUresult: ...
@dll.bind(CUresult, CUtexref, c.POINTER[ctypes.c_float])
def cuTexRefSetBorderColor(hTexRef:CUtexref, pBorderColor:c.POINTER[ctypes.c_float]) -> CUresult: ...
@dll.bind(CUresult, CUtexref, ctypes.c_uint32)
def cuTexRefSetFlags(hTexRef:CUtexref, Flags:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdeviceptr], CUtexref)
def cuTexRefGetAddress_v2(pdptr:c.POINTER[CUdeviceptr], hTexRef:CUtexref) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUarray], CUtexref)
def cuTexRefGetArray(phArray:c.POINTER[CUarray], hTexRef:CUtexref) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUmipmappedArray], CUtexref)
def cuTexRefGetMipmappedArray(phMipmappedArray:c.POINTER[CUmipmappedArray], hTexRef:CUtexref) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUaddress_mode], CUtexref, ctypes.c_int32)
def cuTexRefGetAddressMode(pam:c.POINTER[CUaddress_mode], hTexRef:CUtexref, dim:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUfilter_mode], CUtexref)
def cuTexRefGetFilterMode(pfm:c.POINTER[CUfilter_mode], hTexRef:CUtexref) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUarray_format], c.POINTER[ctypes.c_int32], CUtexref)
def cuTexRefGetFormat(pFormat:c.POINTER[CUarray_format], pNumChannels:c.POINTER[ctypes.c_int32], hTexRef:CUtexref) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUfilter_mode], CUtexref)
def cuTexRefGetMipmapFilterMode(pfm:c.POINTER[CUfilter_mode], hTexRef:CUtexref) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_float], CUtexref)
def cuTexRefGetMipmapLevelBias(pbias:c.POINTER[ctypes.c_float], hTexRef:CUtexref) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_float], c.POINTER[ctypes.c_float], CUtexref)
def cuTexRefGetMipmapLevelClamp(pminMipmapLevelClamp:c.POINTER[ctypes.c_float], pmaxMipmapLevelClamp:c.POINTER[ctypes.c_float], hTexRef:CUtexref) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_int32], CUtexref)
def cuTexRefGetMaxAnisotropy(pmaxAniso:c.POINTER[ctypes.c_int32], hTexRef:CUtexref) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_float], CUtexref)
def cuTexRefGetBorderColor(pBorderColor:c.POINTER[ctypes.c_float], hTexRef:CUtexref) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_uint32], CUtexref)
def cuTexRefGetFlags(pFlags:c.POINTER[ctypes.c_uint32], hTexRef:CUtexref) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUtexref])
def cuTexRefCreate(pTexRef:c.POINTER[CUtexref]) -> CUresult: ...
@dll.bind(CUresult, CUtexref)
def cuTexRefDestroy(hTexRef:CUtexref) -> CUresult: ...
@dll.bind(CUresult, CUsurfref, CUarray, ctypes.c_uint32)
def cuSurfRefSetArray(hSurfRef:CUsurfref, hArray:CUarray, Flags:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUarray], CUsurfref)
def cuSurfRefGetArray(phArray:c.POINTER[CUarray], hSurfRef:CUsurfref) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUtexObject], c.POINTER[CUDA_RESOURCE_DESC], c.POINTER[CUDA_TEXTURE_DESC], c.POINTER[CUDA_RESOURCE_VIEW_DESC])
def cuTexObjectCreate(pTexObject:c.POINTER[CUtexObject], pResDesc:c.POINTER[CUDA_RESOURCE_DESC], pTexDesc:c.POINTER[CUDA_TEXTURE_DESC], pResViewDesc:c.POINTER[CUDA_RESOURCE_VIEW_DESC]) -> CUresult: ...
@dll.bind(CUresult, CUtexObject)
def cuTexObjectDestroy(texObject:CUtexObject) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_RESOURCE_DESC], CUtexObject)
def cuTexObjectGetResourceDesc(pResDesc:c.POINTER[CUDA_RESOURCE_DESC], texObject:CUtexObject) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_TEXTURE_DESC], CUtexObject)
def cuTexObjectGetTextureDesc(pTexDesc:c.POINTER[CUDA_TEXTURE_DESC], texObject:CUtexObject) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_RESOURCE_VIEW_DESC], CUtexObject)
def cuTexObjectGetResourceViewDesc(pResViewDesc:c.POINTER[CUDA_RESOURCE_VIEW_DESC], texObject:CUtexObject) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUsurfObject], c.POINTER[CUDA_RESOURCE_DESC])
def cuSurfObjectCreate(pSurfObject:c.POINTER[CUsurfObject], pResDesc:c.POINTER[CUDA_RESOURCE_DESC]) -> CUresult: ...
@dll.bind(CUresult, CUsurfObject)
def cuSurfObjectDestroy(surfObject:CUsurfObject) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_RESOURCE_DESC], CUsurfObject)
def cuSurfObjectGetResourceDesc(pResDesc:c.POINTER[CUDA_RESOURCE_DESC], surfObject:CUsurfObject) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUtensorMap], CUtensorMapDataType, cuuint32_t, ctypes.c_void_p, c.POINTER[cuuint64_t], c.POINTER[cuuint64_t], c.POINTER[cuuint32_t], c.POINTER[cuuint32_t], CUtensorMapInterleave, CUtensorMapSwizzle, CUtensorMapL2promotion, CUtensorMapFloatOOBfill)
def cuTensorMapEncodeTiled(tensorMap:c.POINTER[CUtensorMap], tensorDataType:CUtensorMapDataType, tensorRank:cuuint32_t, globalAddress:ctypes.c_void_p, globalDim:c.POINTER[cuuint64_t], globalStrides:c.POINTER[cuuint64_t], boxDim:c.POINTER[cuuint32_t], elementStrides:c.POINTER[cuuint32_t], interleave:CUtensorMapInterleave, swizzle:CUtensorMapSwizzle, l2Promotion:CUtensorMapL2promotion, oobFill:CUtensorMapFloatOOBfill) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUtensorMap], CUtensorMapDataType, cuuint32_t, ctypes.c_void_p, c.POINTER[cuuint64_t], c.POINTER[cuuint64_t], c.POINTER[ctypes.c_int32], c.POINTER[ctypes.c_int32], cuuint32_t, cuuint32_t, c.POINTER[cuuint32_t], CUtensorMapInterleave, CUtensorMapSwizzle, CUtensorMapL2promotion, CUtensorMapFloatOOBfill)
def cuTensorMapEncodeIm2col(tensorMap:c.POINTER[CUtensorMap], tensorDataType:CUtensorMapDataType, tensorRank:cuuint32_t, globalAddress:ctypes.c_void_p, globalDim:c.POINTER[cuuint64_t], globalStrides:c.POINTER[cuuint64_t], pixelBoxLowerCorner:c.POINTER[ctypes.c_int32], pixelBoxUpperCorner:c.POINTER[ctypes.c_int32], channelsPerPixel:cuuint32_t, pixelsPerColumn:cuuint32_t, elementStrides:c.POINTER[cuuint32_t], interleave:CUtensorMapInterleave, swizzle:CUtensorMapSwizzle, l2Promotion:CUtensorMapL2promotion, oobFill:CUtensorMapFloatOOBfill) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUtensorMap], ctypes.c_void_p)
def cuTensorMapReplaceAddress(tensorMap:c.POINTER[CUtensorMap], globalAddress:ctypes.c_void_p) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_int32], CUdevice, CUdevice)
def cuDeviceCanAccessPeer(canAccessPeer:c.POINTER[ctypes.c_int32], dev:CUdevice, peerDev:CUdevice) -> CUresult: ...
@dll.bind(CUresult, CUcontext, ctypes.c_uint32)
def cuCtxEnablePeerAccess(peerContext:CUcontext, Flags:int) -> CUresult: ...
@dll.bind(CUresult, CUcontext)
def cuCtxDisablePeerAccess(peerContext:CUcontext) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_int32], CUdevice_P2PAttribute, CUdevice, CUdevice)
def cuDeviceGetP2PAttribute(value:c.POINTER[ctypes.c_int32], attrib:CUdevice_P2PAttribute, srcDevice:CUdevice, dstDevice:CUdevice) -> CUresult: ...
@dll.bind(CUresult, CUgraphicsResource)
def cuGraphicsUnregisterResource(resource:CUgraphicsResource) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUarray], CUgraphicsResource, ctypes.c_uint32, ctypes.c_uint32)
def cuGraphicsSubResourceGetMappedArray(pArray:c.POINTER[CUarray], resource:CUgraphicsResource, arrayIndex:int, mipLevel:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUmipmappedArray], CUgraphicsResource)
def cuGraphicsResourceGetMappedMipmappedArray(pMipmappedArray:c.POINTER[CUmipmappedArray], resource:CUgraphicsResource) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdeviceptr], c.POINTER[size_t], CUgraphicsResource)
def cuGraphicsResourceGetMappedPointer_v2(pDevPtr:c.POINTER[CUdeviceptr], pSize:c.POINTER[size_t], resource:CUgraphicsResource) -> CUresult: ...
@dll.bind(CUresult, CUgraphicsResource, ctypes.c_uint32)
def cuGraphicsResourceSetMapFlags_v2(resource:CUgraphicsResource, flags:int) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_uint32, c.POINTER[CUgraphicsResource], CUstream)
def cuGraphicsMapResources_ptsz(count:int, resources:c.POINTER[CUgraphicsResource], hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_uint32, c.POINTER[CUgraphicsResource], CUstream)
def cuGraphicsUnmapResources_ptsz(count:int, resources:c.POINTER[CUgraphicsResource], hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_char], c.POINTER[ctypes.c_void_p], ctypes.c_int32, cuuint64_t, c.POINTER[CUdriverProcAddressQueryResult])
def cuGetProcAddress_v2(symbol:c.POINTER[ctypes.c_char], pfn:c.POINTER[ctypes.c_void_p], cudaVersion:int, flags:cuuint64_t, symbolStatus:c.POINTER[CUdriverProcAddressQueryResult]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_void_p], c.POINTER[CUuuid])
def cuGetExportTable(ppExportTable:c.POINTER[ctypes.c_void_p], pExportTableId:c.POINTER[CUuuid]) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_void_p, size_t, ctypes.c_uint32)
def cuMemHostRegister(p:ctypes.c_void_p, bytesize:size_t, Flags:int) -> CUresult: ...
@dll.bind(CUresult, CUgraphicsResource, ctypes.c_uint32)
def cuGraphicsResourceSetMapFlags(resource:CUgraphicsResource, flags:int) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_uint32, c.POINTER[CUjit_option], c.POINTER[ctypes.c_void_p], c.POINTER[CUlinkState])
def cuLinkCreate(numOptions:int, options:c.POINTER[CUjit_option], optionValues:c.POINTER[ctypes.c_void_p], stateOut:c.POINTER[CUlinkState]) -> CUresult: ...
@dll.bind(CUresult, CUlinkState, CUjitInputType, ctypes.c_void_p, size_t, c.POINTER[ctypes.c_char], ctypes.c_uint32, c.POINTER[CUjit_option], c.POINTER[ctypes.c_void_p])
def cuLinkAddData(state:CUlinkState, type:CUjitInputType, data:ctypes.c_void_p, size:size_t, name:c.POINTER[ctypes.c_char], numOptions:int, options:c.POINTER[CUjit_option], optionValues:c.POINTER[ctypes.c_void_p]) -> CUresult: ...
@dll.bind(CUresult, CUlinkState, CUjitInputType, c.POINTER[ctypes.c_char], ctypes.c_uint32, c.POINTER[CUjit_option], c.POINTER[ctypes.c_void_p])
def cuLinkAddFile(state:CUlinkState, type:CUjitInputType, path:c.POINTER[ctypes.c_char], numOptions:int, options:c.POINTER[CUjit_option], optionValues:c.POINTER[ctypes.c_void_p]) -> CUresult: ...
@dll.bind(CUresult, CUtexref, c.POINTER[CUDA_ARRAY_DESCRIPTOR], CUdeviceptr, size_t)
def cuTexRefSetAddress2D_v2(hTexRef:CUtexref, desc:c.POINTER[CUDA_ARRAY_DESCRIPTOR], dptr:CUdeviceptr, Pitch:size_t) -> CUresult: ...
CUdeviceptr_v1: TypeAlias = ctypes.c_uint32
@c.record
class struct_CUDA_MEMCPY2D_v1_st(c.Struct):
  SIZE = 96
  srcXInBytes: int
  srcY: int
  srcMemoryType: int
  srcHost: ctypes.c_void_p
  srcDevice: int
  srcArray: c.POINTER[struct_CUarray_st]
  srcPitch: int
  dstXInBytes: int
  dstY: int
  dstMemoryType: int
  dstHost: ctypes.c_void_p
  dstDevice: int
  dstArray: c.POINTER[struct_CUarray_st]
  dstPitch: int
  WidthInBytes: int
  Height: int
struct_CUDA_MEMCPY2D_v1_st.register_fields([('srcXInBytes', ctypes.c_uint32, 0), ('srcY', ctypes.c_uint32, 4), ('srcMemoryType', CUmemorytype, 8), ('srcHost', ctypes.c_void_p, 16), ('srcDevice', CUdeviceptr_v1, 24), ('srcArray', CUarray, 32), ('srcPitch', ctypes.c_uint32, 40), ('dstXInBytes', ctypes.c_uint32, 44), ('dstY', ctypes.c_uint32, 48), ('dstMemoryType', CUmemorytype, 52), ('dstHost', ctypes.c_void_p, 56), ('dstDevice', CUdeviceptr_v1, 64), ('dstArray', CUarray, 72), ('dstPitch', ctypes.c_uint32, 80), ('WidthInBytes', ctypes.c_uint32, 84), ('Height', ctypes.c_uint32, 88)])
CUDA_MEMCPY2D_v1: TypeAlias = struct_CUDA_MEMCPY2D_v1_st
@c.record
class struct_CUDA_MEMCPY3D_v1_st(c.Struct):
  SIZE = 144
  srcXInBytes: int
  srcY: int
  srcZ: int
  srcLOD: int
  srcMemoryType: int
  srcHost: ctypes.c_void_p
  srcDevice: int
  srcArray: c.POINTER[struct_CUarray_st]
  reserved0: ctypes.c_void_p
  srcPitch: int
  srcHeight: int
  dstXInBytes: int
  dstY: int
  dstZ: int
  dstLOD: int
  dstMemoryType: int
  dstHost: ctypes.c_void_p
  dstDevice: int
  dstArray: c.POINTER[struct_CUarray_st]
  reserved1: ctypes.c_void_p
  dstPitch: int
  dstHeight: int
  WidthInBytes: int
  Height: int
  Depth: int
struct_CUDA_MEMCPY3D_v1_st.register_fields([('srcXInBytes', ctypes.c_uint32, 0), ('srcY', ctypes.c_uint32, 4), ('srcZ', ctypes.c_uint32, 8), ('srcLOD', ctypes.c_uint32, 12), ('srcMemoryType', CUmemorytype, 16), ('srcHost', ctypes.c_void_p, 24), ('srcDevice', CUdeviceptr_v1, 32), ('srcArray', CUarray, 40), ('reserved0', ctypes.c_void_p, 48), ('srcPitch', ctypes.c_uint32, 56), ('srcHeight', ctypes.c_uint32, 60), ('dstXInBytes', ctypes.c_uint32, 64), ('dstY', ctypes.c_uint32, 68), ('dstZ', ctypes.c_uint32, 72), ('dstLOD', ctypes.c_uint32, 76), ('dstMemoryType', CUmemorytype, 80), ('dstHost', ctypes.c_void_p, 88), ('dstDevice', CUdeviceptr_v1, 96), ('dstArray', CUarray, 104), ('reserved1', ctypes.c_void_p, 112), ('dstPitch', ctypes.c_uint32, 120), ('dstHeight', ctypes.c_uint32, 124), ('WidthInBytes', ctypes.c_uint32, 128), ('Height', ctypes.c_uint32, 132), ('Depth', ctypes.c_uint32, 136)])
CUDA_MEMCPY3D_v1: TypeAlias = struct_CUDA_MEMCPY3D_v1_st
@c.record
class struct_CUDA_ARRAY_DESCRIPTOR_v1_st(c.Struct):
  SIZE = 16
  Width: int
  Height: int
  Format: int
  NumChannels: int
struct_CUDA_ARRAY_DESCRIPTOR_v1_st.register_fields([('Width', ctypes.c_uint32, 0), ('Height', ctypes.c_uint32, 4), ('Format', CUarray_format, 8), ('NumChannels', ctypes.c_uint32, 12)])
CUDA_ARRAY_DESCRIPTOR_v1: TypeAlias = struct_CUDA_ARRAY_DESCRIPTOR_v1_st
@c.record
class struct_CUDA_ARRAY3D_DESCRIPTOR_v1_st(c.Struct):
  SIZE = 24
  Width: int
  Height: int
  Depth: int
  Format: int
  NumChannels: int
  Flags: int
struct_CUDA_ARRAY3D_DESCRIPTOR_v1_st.register_fields([('Width', ctypes.c_uint32, 0), ('Height', ctypes.c_uint32, 4), ('Depth', ctypes.c_uint32, 8), ('Format', CUarray_format, 12), ('NumChannels', ctypes.c_uint32, 16), ('Flags', ctypes.c_uint32, 20)])
CUDA_ARRAY3D_DESCRIPTOR_v1: TypeAlias = struct_CUDA_ARRAY3D_DESCRIPTOR_v1_st
@dll.bind(CUresult, c.POINTER[ctypes.c_uint32], CUdevice)
def cuDeviceTotalMem(bytes:c.POINTER[ctypes.c_uint32], dev:CUdevice) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUcontext], ctypes.c_uint32, CUdevice)
def cuCtxCreate(pctx:c.POINTER[CUcontext], flags:int, dev:CUdevice) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdeviceptr_v1], c.POINTER[ctypes.c_uint32], CUmodule, c.POINTER[ctypes.c_char])
def cuModuleGetGlobal(dptr:c.POINTER[CUdeviceptr_v1], bytes:c.POINTER[ctypes.c_uint32], hmod:CUmodule, name:c.POINTER[ctypes.c_char]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_uint32], c.POINTER[ctypes.c_uint32])
def cuMemGetInfo(free:c.POINTER[ctypes.c_uint32], total:c.POINTER[ctypes.c_uint32]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdeviceptr_v1], ctypes.c_uint32)
def cuMemAlloc(dptr:c.POINTER[CUdeviceptr_v1], bytesize:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdeviceptr_v1], c.POINTER[ctypes.c_uint32], ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32)
def cuMemAllocPitch(dptr:c.POINTER[CUdeviceptr_v1], pPitch:c.POINTER[ctypes.c_uint32], WidthInBytes:int, Height:int, ElementSizeBytes:int) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr_v1)
def cuMemFree(dptr:CUdeviceptr_v1) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdeviceptr_v1], c.POINTER[ctypes.c_uint32], CUdeviceptr_v1)
def cuMemGetAddressRange(pbase:c.POINTER[CUdeviceptr_v1], psize:c.POINTER[ctypes.c_uint32], dptr:CUdeviceptr_v1) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_void_p], ctypes.c_uint32)
def cuMemAllocHost(pp:c.POINTER[ctypes.c_void_p], bytesize:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdeviceptr_v1], ctypes.c_void_p, ctypes.c_uint32)
def cuMemHostGetDevicePointer(pdptr:c.POINTER[CUdeviceptr_v1], p:ctypes.c_void_p, Flags:int) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr_v1, ctypes.c_void_p, ctypes.c_uint32)
def cuMemcpyHtoD(dstDevice:CUdeviceptr_v1, srcHost:ctypes.c_void_p, ByteCount:int) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_void_p, CUdeviceptr_v1, ctypes.c_uint32)
def cuMemcpyDtoH(dstHost:ctypes.c_void_p, srcDevice:CUdeviceptr_v1, ByteCount:int) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr_v1, CUdeviceptr_v1, ctypes.c_uint32)
def cuMemcpyDtoD(dstDevice:CUdeviceptr_v1, srcDevice:CUdeviceptr_v1, ByteCount:int) -> CUresult: ...
@dll.bind(CUresult, CUarray, ctypes.c_uint32, CUdeviceptr_v1, ctypes.c_uint32)
def cuMemcpyDtoA(dstArray:CUarray, dstOffset:int, srcDevice:CUdeviceptr_v1, ByteCount:int) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr_v1, CUarray, ctypes.c_uint32, ctypes.c_uint32)
def cuMemcpyAtoD(dstDevice:CUdeviceptr_v1, srcArray:CUarray, srcOffset:int, ByteCount:int) -> CUresult: ...
@dll.bind(CUresult, CUarray, ctypes.c_uint32, ctypes.c_void_p, ctypes.c_uint32)
def cuMemcpyHtoA(dstArray:CUarray, dstOffset:int, srcHost:ctypes.c_void_p, ByteCount:int) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_void_p, CUarray, ctypes.c_uint32, ctypes.c_uint32)
def cuMemcpyAtoH(dstHost:ctypes.c_void_p, srcArray:CUarray, srcOffset:int, ByteCount:int) -> CUresult: ...
@dll.bind(CUresult, CUarray, ctypes.c_uint32, CUarray, ctypes.c_uint32, ctypes.c_uint32)
def cuMemcpyAtoA(dstArray:CUarray, dstOffset:int, srcArray:CUarray, srcOffset:int, ByteCount:int) -> CUresult: ...
@dll.bind(CUresult, CUarray, ctypes.c_uint32, ctypes.c_void_p, ctypes.c_uint32, CUstream)
def cuMemcpyHtoAAsync(dstArray:CUarray, dstOffset:int, srcHost:ctypes.c_void_p, ByteCount:int, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_void_p, CUarray, ctypes.c_uint32, ctypes.c_uint32, CUstream)
def cuMemcpyAtoHAsync(dstHost:ctypes.c_void_p, srcArray:CUarray, srcOffset:int, ByteCount:int, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_MEMCPY2D_v1])
def cuMemcpy2D(pCopy:c.POINTER[CUDA_MEMCPY2D_v1]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_MEMCPY2D_v1])
def cuMemcpy2DUnaligned(pCopy:c.POINTER[CUDA_MEMCPY2D_v1]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_MEMCPY3D_v1])
def cuMemcpy3D(pCopy:c.POINTER[CUDA_MEMCPY3D_v1]) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr_v1, ctypes.c_void_p, ctypes.c_uint32, CUstream)
def cuMemcpyHtoDAsync(dstDevice:CUdeviceptr_v1, srcHost:ctypes.c_void_p, ByteCount:int, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_void_p, CUdeviceptr_v1, ctypes.c_uint32, CUstream)
def cuMemcpyDtoHAsync(dstHost:ctypes.c_void_p, srcDevice:CUdeviceptr_v1, ByteCount:int, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr_v1, CUdeviceptr_v1, ctypes.c_uint32, CUstream)
def cuMemcpyDtoDAsync(dstDevice:CUdeviceptr_v1, srcDevice:CUdeviceptr_v1, ByteCount:int, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_MEMCPY2D_v1], CUstream)
def cuMemcpy2DAsync(pCopy:c.POINTER[CUDA_MEMCPY2D_v1], hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_MEMCPY3D_v1], CUstream)
def cuMemcpy3DAsync(pCopy:c.POINTER[CUDA_MEMCPY3D_v1], hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr_v1, ctypes.c_ubyte, ctypes.c_uint32)
def cuMemsetD8(dstDevice:CUdeviceptr_v1, uc:int, N:int) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr_v1, ctypes.c_uint16, ctypes.c_uint32)
def cuMemsetD16(dstDevice:CUdeviceptr_v1, us:int, N:int) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr_v1, ctypes.c_uint32, ctypes.c_uint32)
def cuMemsetD32(dstDevice:CUdeviceptr_v1, ui:int, N:int) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr_v1, ctypes.c_uint32, ctypes.c_ubyte, ctypes.c_uint32, ctypes.c_uint32)
def cuMemsetD2D8(dstDevice:CUdeviceptr_v1, dstPitch:int, uc:int, Width:int, Height:int) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr_v1, ctypes.c_uint32, ctypes.c_uint16, ctypes.c_uint32, ctypes.c_uint32)
def cuMemsetD2D16(dstDevice:CUdeviceptr_v1, dstPitch:int, us:int, Width:int, Height:int) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr_v1, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32)
def cuMemsetD2D32(dstDevice:CUdeviceptr_v1, dstPitch:int, ui:int, Width:int, Height:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUarray], c.POINTER[CUDA_ARRAY_DESCRIPTOR_v1])
def cuArrayCreate(pHandle:c.POINTER[CUarray], pAllocateArray:c.POINTER[CUDA_ARRAY_DESCRIPTOR_v1]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_ARRAY_DESCRIPTOR_v1], CUarray)
def cuArrayGetDescriptor(pArrayDescriptor:c.POINTER[CUDA_ARRAY_DESCRIPTOR_v1], hArray:CUarray) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUarray], c.POINTER[CUDA_ARRAY3D_DESCRIPTOR_v1])
def cuArray3DCreate(pHandle:c.POINTER[CUarray], pAllocateArray:c.POINTER[CUDA_ARRAY3D_DESCRIPTOR_v1]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_ARRAY3D_DESCRIPTOR_v1], CUarray)
def cuArray3DGetDescriptor(pArrayDescriptor:c.POINTER[CUDA_ARRAY3D_DESCRIPTOR_v1], hArray:CUarray) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_uint32], CUtexref, CUdeviceptr_v1, ctypes.c_uint32)
def cuTexRefSetAddress(ByteOffset:c.POINTER[ctypes.c_uint32], hTexRef:CUtexref, dptr:CUdeviceptr_v1, bytes:int) -> CUresult: ...
@dll.bind(CUresult, CUtexref, c.POINTER[CUDA_ARRAY_DESCRIPTOR_v1], CUdeviceptr_v1, ctypes.c_uint32)
def cuTexRefSetAddress2D(hTexRef:CUtexref, desc:c.POINTER[CUDA_ARRAY_DESCRIPTOR_v1], dptr:CUdeviceptr_v1, Pitch:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdeviceptr_v1], CUtexref)
def cuTexRefGetAddress(pdptr:c.POINTER[CUdeviceptr_v1], hTexRef:CUtexref) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdeviceptr_v1], c.POINTER[ctypes.c_uint32], CUgraphicsResource)
def cuGraphicsResourceGetMappedPointer(pDevPtr:c.POINTER[CUdeviceptr_v1], pSize:c.POINTER[ctypes.c_uint32], resource:CUgraphicsResource) -> CUresult: ...
@dll.bind(CUresult, CUcontext)
def cuCtxDestroy(ctx:CUcontext) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUcontext])
def cuCtxPopCurrent(pctx:c.POINTER[CUcontext]) -> CUresult: ...
@dll.bind(CUresult, CUcontext)
def cuCtxPushCurrent(ctx:CUcontext) -> CUresult: ...
@dll.bind(CUresult, CUstream)
def cuStreamDestroy(hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUevent)
def cuEventDestroy(hEvent:CUevent) -> CUresult: ...
@dll.bind(CUresult, CUdevice)
def cuDevicePrimaryCtxRelease(dev:CUdevice) -> CUresult: ...
@dll.bind(CUresult, CUdevice)
def cuDevicePrimaryCtxReset(dev:CUdevice) -> CUresult: ...
@dll.bind(CUresult, CUdevice, ctypes.c_uint32)
def cuDevicePrimaryCtxSetFlags(dev:CUdevice, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, ctypes.c_void_p, size_t)
def cuMemcpyHtoD_v2(dstDevice:CUdeviceptr, srcHost:ctypes.c_void_p, ByteCount:size_t) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_void_p, CUdeviceptr, size_t)
def cuMemcpyDtoH_v2(dstHost:ctypes.c_void_p, srcDevice:CUdeviceptr, ByteCount:size_t) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, CUdeviceptr, size_t)
def cuMemcpyDtoD_v2(dstDevice:CUdeviceptr, srcDevice:CUdeviceptr, ByteCount:size_t) -> CUresult: ...
@dll.bind(CUresult, CUarray, size_t, CUdeviceptr, size_t)
def cuMemcpyDtoA_v2(dstArray:CUarray, dstOffset:size_t, srcDevice:CUdeviceptr, ByteCount:size_t) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, CUarray, size_t, size_t)
def cuMemcpyAtoD_v2(dstDevice:CUdeviceptr, srcArray:CUarray, srcOffset:size_t, ByteCount:size_t) -> CUresult: ...
@dll.bind(CUresult, CUarray, size_t, ctypes.c_void_p, size_t)
def cuMemcpyHtoA_v2(dstArray:CUarray, dstOffset:size_t, srcHost:ctypes.c_void_p, ByteCount:size_t) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_void_p, CUarray, size_t, size_t)
def cuMemcpyAtoH_v2(dstHost:ctypes.c_void_p, srcArray:CUarray, srcOffset:size_t, ByteCount:size_t) -> CUresult: ...
@dll.bind(CUresult, CUarray, size_t, CUarray, size_t, size_t)
def cuMemcpyAtoA_v2(dstArray:CUarray, dstOffset:size_t, srcArray:CUarray, srcOffset:size_t, ByteCount:size_t) -> CUresult: ...
@dll.bind(CUresult, CUarray, size_t, ctypes.c_void_p, size_t, CUstream)
def cuMemcpyHtoAAsync_v2(dstArray:CUarray, dstOffset:size_t, srcHost:ctypes.c_void_p, ByteCount:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_void_p, CUarray, size_t, size_t, CUstream)
def cuMemcpyAtoHAsync_v2(dstHost:ctypes.c_void_p, srcArray:CUarray, srcOffset:size_t, ByteCount:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_MEMCPY2D])
def cuMemcpy2D_v2(pCopy:c.POINTER[CUDA_MEMCPY2D]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_MEMCPY2D])
def cuMemcpy2DUnaligned_v2(pCopy:c.POINTER[CUDA_MEMCPY2D]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_MEMCPY3D])
def cuMemcpy3D_v2(pCopy:c.POINTER[CUDA_MEMCPY3D]) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, ctypes.c_void_p, size_t, CUstream)
def cuMemcpyHtoDAsync_v2(dstDevice:CUdeviceptr, srcHost:ctypes.c_void_p, ByteCount:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_void_p, CUdeviceptr, size_t, CUstream)
def cuMemcpyDtoHAsync_v2(dstHost:ctypes.c_void_p, srcDevice:CUdeviceptr, ByteCount:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, CUdeviceptr, size_t, CUstream)
def cuMemcpyDtoDAsync_v2(dstDevice:CUdeviceptr, srcDevice:CUdeviceptr, ByteCount:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_MEMCPY2D], CUstream)
def cuMemcpy2DAsync_v2(pCopy:c.POINTER[CUDA_MEMCPY2D], hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_MEMCPY3D], CUstream)
def cuMemcpy3DAsync_v2(pCopy:c.POINTER[CUDA_MEMCPY3D], hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, ctypes.c_ubyte, size_t)
def cuMemsetD8_v2(dstDevice:CUdeviceptr, uc:int, N:size_t) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, ctypes.c_uint16, size_t)
def cuMemsetD16_v2(dstDevice:CUdeviceptr, us:int, N:size_t) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, ctypes.c_uint32, size_t)
def cuMemsetD32_v2(dstDevice:CUdeviceptr, ui:int, N:size_t) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, size_t, ctypes.c_ubyte, size_t, size_t)
def cuMemsetD2D8_v2(dstDevice:CUdeviceptr, dstPitch:size_t, uc:int, Width:size_t, Height:size_t) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, size_t, ctypes.c_uint16, size_t, size_t)
def cuMemsetD2D16_v2(dstDevice:CUdeviceptr, dstPitch:size_t, us:int, Width:size_t, Height:size_t) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, size_t, ctypes.c_uint32, size_t, size_t)
def cuMemsetD2D32_v2(dstDevice:CUdeviceptr, dstPitch:size_t, ui:int, Width:size_t, Height:size_t) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, CUdeviceptr, size_t)
def cuMemcpy(dst:CUdeviceptr, src:CUdeviceptr, ByteCount:size_t) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, CUdeviceptr, size_t, CUstream)
def cuMemcpyAsync(dst:CUdeviceptr, src:CUdeviceptr, ByteCount:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, CUcontext, CUdeviceptr, CUcontext, size_t)
def cuMemcpyPeer(dstDevice:CUdeviceptr, dstContext:CUcontext, srcDevice:CUdeviceptr, srcContext:CUcontext, ByteCount:size_t) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, CUcontext, CUdeviceptr, CUcontext, size_t, CUstream)
def cuMemcpyPeerAsync(dstDevice:CUdeviceptr, dstContext:CUcontext, srcDevice:CUdeviceptr, srcContext:CUcontext, ByteCount:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_MEMCPY3D_PEER])
def cuMemcpy3DPeer(pCopy:c.POINTER[CUDA_MEMCPY3D_PEER]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUDA_MEMCPY3D_PEER], CUstream)
def cuMemcpy3DPeerAsync(pCopy:c.POINTER[CUDA_MEMCPY3D_PEER], hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, ctypes.c_ubyte, size_t, CUstream)
def cuMemsetD8Async(dstDevice:CUdeviceptr, uc:int, N:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, ctypes.c_uint16, size_t, CUstream)
def cuMemsetD16Async(dstDevice:CUdeviceptr, us:int, N:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, ctypes.c_uint32, size_t, CUstream)
def cuMemsetD32Async(dstDevice:CUdeviceptr, ui:int, N:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, size_t, ctypes.c_ubyte, size_t, size_t, CUstream)
def cuMemsetD2D8Async(dstDevice:CUdeviceptr, dstPitch:size_t, uc:int, Width:size_t, Height:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, size_t, ctypes.c_uint16, size_t, size_t, CUstream)
def cuMemsetD2D16Async(dstDevice:CUdeviceptr, dstPitch:size_t, us:int, Width:size_t, Height:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, size_t, ctypes.c_uint32, size_t, size_t, CUstream)
def cuMemsetD2D32Async(dstDevice:CUdeviceptr, dstPitch:size_t, ui:int, Width:size_t, Height:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUstream, c.POINTER[ctypes.c_int32])
def cuStreamGetPriority(hStream:CUstream, priority:c.POINTER[ctypes.c_int32]) -> CUresult: ...
@dll.bind(CUresult, CUstream, c.POINTER[ctypes.c_uint64])
def cuStreamGetId(hStream:CUstream, streamId:c.POINTER[ctypes.c_uint64]) -> CUresult: ...
@dll.bind(CUresult, CUstream, c.POINTER[ctypes.c_uint32])
def cuStreamGetFlags(hStream:CUstream, flags:c.POINTER[ctypes.c_uint32]) -> CUresult: ...
@dll.bind(CUresult, CUstream, c.POINTER[CUcontext])
def cuStreamGetCtx(hStream:CUstream, pctx:c.POINTER[CUcontext]) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUevent, ctypes.c_uint32)
def cuStreamWaitEvent(hStream:CUstream, hEvent:CUevent, Flags:int) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUstreamCallback, ctypes.c_void_p, ctypes.c_uint32)
def cuStreamAddCallback(hStream:CUstream, callback:CUstreamCallback, userData:ctypes.c_void_p, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUdeviceptr, size_t, ctypes.c_uint32)
def cuStreamAttachMemAsync(hStream:CUstream, dptr:CUdeviceptr, length:size_t, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUstream)
def cuStreamQuery(hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUstream)
def cuStreamSynchronize(hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUevent, CUstream)
def cuEventRecord(hEvent:CUevent, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUevent, CUstream, ctypes.c_uint32)
def cuEventRecordWithFlags(hEvent:CUevent, hStream:CUstream, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUfunction, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, CUstream, c.POINTER[ctypes.c_void_p], c.POINTER[ctypes.c_void_p])
def cuLaunchKernel(f:CUfunction, gridDimX:int, gridDimY:int, gridDimZ:int, blockDimX:int, blockDimY:int, blockDimZ:int, sharedMemBytes:int, hStream:CUstream, kernelParams:c.POINTER[ctypes.c_void_p], extra:c.POINTER[ctypes.c_void_p]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUlaunchConfig], CUfunction, c.POINTER[ctypes.c_void_p], c.POINTER[ctypes.c_void_p])
def cuLaunchKernelEx(config:c.POINTER[CUlaunchConfig], f:CUfunction, kernelParams:c.POINTER[ctypes.c_void_p], extra:c.POINTER[ctypes.c_void_p]) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUhostFn, ctypes.c_void_p)
def cuLaunchHostFunc(hStream:CUstream, fn:CUhostFn, userData:ctypes.c_void_p) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_uint32, c.POINTER[CUgraphicsResource], CUstream)
def cuGraphicsMapResources(count:int, resources:c.POINTER[CUgraphicsResource], hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, ctypes.c_uint32, c.POINTER[CUgraphicsResource], CUstream)
def cuGraphicsUnmapResources(count:int, resources:c.POINTER[CUgraphicsResource], hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUdeviceptr, cuuint32_t, ctypes.c_uint32)
def cuStreamWriteValue32(stream:CUstream, addr:CUdeviceptr, value:cuuint32_t, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUdeviceptr, cuuint32_t, ctypes.c_uint32)
def cuStreamWaitValue32(stream:CUstream, addr:CUdeviceptr, value:cuuint32_t, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUdeviceptr, cuuint64_t, ctypes.c_uint32)
def cuStreamWriteValue64(stream:CUstream, addr:CUdeviceptr, value:cuuint64_t, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUdeviceptr, cuuint64_t, ctypes.c_uint32)
def cuStreamWaitValue64(stream:CUstream, addr:CUdeviceptr, value:cuuint64_t, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUstream, ctypes.c_uint32, c.POINTER[CUstreamBatchMemOpParams], ctypes.c_uint32)
def cuStreamBatchMemOp(stream:CUstream, count:int, paramArray:c.POINTER[CUstreamBatchMemOpParams], flags:int) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUdeviceptr, cuuint32_t, ctypes.c_uint32)
def cuStreamWriteValue32_ptsz(stream:CUstream, addr:CUdeviceptr, value:cuuint32_t, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUdeviceptr, cuuint32_t, ctypes.c_uint32)
def cuStreamWaitValue32_ptsz(stream:CUstream, addr:CUdeviceptr, value:cuuint32_t, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUdeviceptr, cuuint64_t, ctypes.c_uint32)
def cuStreamWriteValue64_ptsz(stream:CUstream, addr:CUdeviceptr, value:cuuint64_t, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUdeviceptr, cuuint64_t, ctypes.c_uint32)
def cuStreamWaitValue64_ptsz(stream:CUstream, addr:CUdeviceptr, value:cuuint64_t, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUstream, ctypes.c_uint32, c.POINTER[CUstreamBatchMemOpParams], ctypes.c_uint32)
def cuStreamBatchMemOp_ptsz(stream:CUstream, count:int, paramArray:c.POINTER[CUstreamBatchMemOpParams], flags:int) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUdeviceptr, cuuint32_t, ctypes.c_uint32)
def cuStreamWriteValue32_v2(stream:CUstream, addr:CUdeviceptr, value:cuuint32_t, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUdeviceptr, cuuint32_t, ctypes.c_uint32)
def cuStreamWaitValue32_v2(stream:CUstream, addr:CUdeviceptr, value:cuuint32_t, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUdeviceptr, cuuint64_t, ctypes.c_uint32)
def cuStreamWriteValue64_v2(stream:CUstream, addr:CUdeviceptr, value:cuuint64_t, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUdeviceptr, cuuint64_t, ctypes.c_uint32)
def cuStreamWaitValue64_v2(stream:CUstream, addr:CUdeviceptr, value:cuuint64_t, flags:int) -> CUresult: ...
@dll.bind(CUresult, CUstream, ctypes.c_uint32, c.POINTER[CUstreamBatchMemOpParams], ctypes.c_uint32)
def cuStreamBatchMemOp_v2(stream:CUstream, count:int, paramArray:c.POINTER[CUstreamBatchMemOpParams], flags:int) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, size_t, CUdevice, CUstream)
def cuMemPrefetchAsync(devPtr:CUdeviceptr, count:size_t, dstDevice:CUdevice, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUfunction, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, CUstream, c.POINTER[ctypes.c_void_p])
def cuLaunchCooperativeKernel(f:CUfunction, gridDimX:int, gridDimY:int, gridDimZ:int, blockDimX:int, blockDimY:int, blockDimZ:int, sharedMemBytes:int, hStream:CUstream, kernelParams:c.POINTER[ctypes.c_void_p]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUexternalSemaphore], c.POINTER[CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS], ctypes.c_uint32, CUstream)
def cuSignalExternalSemaphoresAsync(extSemArray:c.POINTER[CUexternalSemaphore], paramsArray:c.POINTER[CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS], numExtSems:int, stream:CUstream) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUexternalSemaphore], c.POINTER[CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS], ctypes.c_uint32, CUstream)
def cuWaitExternalSemaphoresAsync(extSemArray:c.POINTER[CUexternalSemaphore], paramsArray:c.POINTER[CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS], numExtSems:int, stream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUstream)
def cuStreamBeginCapture(hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUstream)
def cuStreamBeginCapture_ptsz(hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUstreamCaptureMode)
def cuStreamBeginCapture_v2(hStream:CUstream, mode:CUstreamCaptureMode) -> CUresult: ...
@dll.bind(CUresult, CUstream, c.POINTER[CUgraph])
def cuStreamEndCapture(hStream:CUstream, phGraph:c.POINTER[CUgraph]) -> CUresult: ...
@dll.bind(CUresult, CUstream, c.POINTER[CUstreamCaptureStatus])
def cuStreamIsCapturing(hStream:CUstream, captureStatus:c.POINTER[CUstreamCaptureStatus]) -> CUresult: ...
@dll.bind(CUresult, CUstream, c.POINTER[CUstreamCaptureStatus], c.POINTER[cuuint64_t])
def cuStreamGetCaptureInfo(hStream:CUstream, captureStatus_out:c.POINTER[CUstreamCaptureStatus], id_out:c.POINTER[cuuint64_t]) -> CUresult: ...
@dll.bind(CUresult, CUstream, c.POINTER[CUstreamCaptureStatus], c.POINTER[cuuint64_t])
def cuStreamGetCaptureInfo_ptsz(hStream:CUstream, captureStatus_out:c.POINTER[CUstreamCaptureStatus], id_out:c.POINTER[cuuint64_t]) -> CUresult: ...
@dll.bind(CUresult, CUstream, c.POINTER[CUstreamCaptureStatus], c.POINTER[cuuint64_t], c.POINTER[CUgraph], c.POINTER[c.POINTER[CUgraphNode]], c.POINTER[size_t])
def cuStreamGetCaptureInfo_v2(hStream:CUstream, captureStatus_out:c.POINTER[CUstreamCaptureStatus], id_out:c.POINTER[cuuint64_t], graph_out:c.POINTER[CUgraph], dependencies_out:c.POINTER[c.POINTER[CUgraphNode]], numDependencies_out:c.POINTER[size_t]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUgraphNode], CUgraph, c.POINTER[CUgraphNode], size_t, c.POINTER[CUDA_KERNEL_NODE_PARAMS_v1])
def cuGraphAddKernelNode(phGraphNode:c.POINTER[CUgraphNode], hGraph:CUgraph, dependencies:c.POINTER[CUgraphNode], numDependencies:size_t, nodeParams:c.POINTER[CUDA_KERNEL_NODE_PARAMS_v1]) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, c.POINTER[CUDA_KERNEL_NODE_PARAMS_v1])
def cuGraphKernelNodeGetParams(hNode:CUgraphNode, nodeParams:c.POINTER[CUDA_KERNEL_NODE_PARAMS_v1]) -> CUresult: ...
@dll.bind(CUresult, CUgraphNode, c.POINTER[CUDA_KERNEL_NODE_PARAMS_v1])
def cuGraphKernelNodeSetParams(hNode:CUgraphNode, nodeParams:c.POINTER[CUDA_KERNEL_NODE_PARAMS_v1]) -> CUresult: ...
@dll.bind(CUresult, CUgraphExec, CUgraphNode, c.POINTER[CUDA_KERNEL_NODE_PARAMS_v1])
def cuGraphExecKernelNodeSetParams(hGraphExec:CUgraphExec, hNode:CUgraphNode, nodeParams:c.POINTER[CUDA_KERNEL_NODE_PARAMS_v1]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUgraphExec], CUgraph, c.POINTER[CUDA_GRAPH_INSTANTIATE_PARAMS])
def cuGraphInstantiateWithParams(phGraphExec:c.POINTER[CUgraphExec], hGraph:CUgraph, instantiateParams:c.POINTER[CUDA_GRAPH_INSTANTIATE_PARAMS]) -> CUresult: ...
@dll.bind(CUresult, CUgraphExec, CUgraph, c.POINTER[CUgraphNode], c.POINTER[CUgraphExecUpdateResult])
def cuGraphExecUpdate(hGraphExec:CUgraphExec, hGraph:CUgraph, hErrorNode_out:c.POINTER[CUgraphNode], updateResult_out:c.POINTER[CUgraphExecUpdateResult]) -> CUresult: ...
@dll.bind(CUresult, CUgraphExec, CUstream)
def cuGraphUpload(hGraph:CUgraphExec, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUgraphExec, CUstream)
def cuGraphLaunch(hGraph:CUgraphExec, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUstream)
def cuStreamCopyAttributes(dstStream:CUstream, srcStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUstreamAttrID, c.POINTER[CUstreamAttrValue])
def cuStreamGetAttribute(hStream:CUstream, attr:CUstreamAttrID, value:c.POINTER[CUstreamAttrValue]) -> CUresult: ...
@dll.bind(CUresult, CUstream, CUstreamAttrID, c.POINTER[CUstreamAttrValue])
def cuStreamSetAttribute(hStream:CUstream, attr:CUstreamAttrID, param:c.POINTER[CUstreamAttrValue]) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdeviceptr], CUipcMemHandle, ctypes.c_uint32)
def cuIpcOpenMemHandle(pdptr:c.POINTER[CUdeviceptr], handle:CUipcMemHandle, Flags:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUgraphExec], CUgraph, c.POINTER[CUgraphNode], c.POINTER[ctypes.c_char], size_t)
def cuGraphInstantiate(phGraphExec:c.POINTER[CUgraphExec], hGraph:CUgraph, phErrorNode:c.POINTER[CUgraphNode], logBuffer:c.POINTER[ctypes.c_char], bufferSize:size_t) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUgraphExec], CUgraph, c.POINTER[CUgraphNode], c.POINTER[ctypes.c_char], size_t)
def cuGraphInstantiate_v2(phGraphExec:c.POINTER[CUgraphExec], hGraph:CUgraph, phErrorNode:c.POINTER[CUgraphNode], logBuffer:c.POINTER[ctypes.c_char], bufferSize:size_t) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUarrayMapInfo], ctypes.c_uint32, CUstream)
def cuMemMapArrayAsync(mapInfoList:c.POINTER[CUarrayMapInfo], count:int, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUdeviceptr, CUstream)
def cuMemFreeAsync(dptr:CUdeviceptr, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdeviceptr], size_t, CUstream)
def cuMemAllocAsync(dptr:c.POINTER[CUdeviceptr], bytesize:size_t, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[CUdeviceptr], size_t, CUmemoryPool, CUstream)
def cuMemAllocFromPoolAsync(dptr:c.POINTER[CUdeviceptr], bytesize:size_t, pool:CUmemoryPool, hStream:CUstream) -> CUresult: ...
@dll.bind(CUresult, CUstream, c.POINTER[CUgraphNode], size_t, ctypes.c_uint32)
def cuStreamUpdateCaptureDependencies(hStream:CUstream, dependencies:c.POINTER[CUgraphNode], numDependencies:size_t, flags:int) -> CUresult: ...
@dll.bind(CUresult, c.POINTER[ctypes.c_char], c.POINTER[ctypes.c_void_p], ctypes.c_int32, cuuint64_t)
def cuGetProcAddress(symbol:c.POINTER[ctypes.c_char], pfn:c.POINTER[ctypes.c_void_p], cudaVersion:int, flags:cuuint64_t) -> CUresult: ...
