Skip to content

Runtime API#

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

85% (264 of 311 declarations available)

4.1. Device Management#

 cudaError_t cudaChooseDevice(int* device, const cudaDeviceProp* prop);
 cudaError_t cudaDeviceGetAttribute(int* value, cudaDeviceAttr attr, int device);
 __device__ cudaError_t cudaDeviceGetAttribute(int* value, cudaDeviceAttr attr, int device);
 cudaError_t cudaDeviceGetByPCIBusId(int* device, const char* pciBusId);
 cudaError_t cudaDeviceGetCacheConfig(cudaFuncCache ** pCacheConfig);
 __device__ cudaError_t cudaDeviceGetCacheConfig(cudaFuncCache ** pCacheConfig);
 cudaError_t cudaDeviceGetLimit(size_t* pValue, cudaLimit limit);
 __device__ cudaError_t cudaDeviceGetLimit(size_t* pValue, cudaLimit limit);
 cudaError_t cudaDeviceGetP2PAttribute(int* value, cudaDeviceP2PAttr attr, int srcDevice, int dstDevice);
 cudaError_t cudaDeviceGetPCIBusId(char* pciBusId, int len, int device);
 cudaError_t cudaDeviceGetSharedMemConfig(cudaSharedMemConfig ** pConfig);
 __device__ cudaError_t cudaDeviceGetSharedMemConfig(cudaSharedMemConfig ** pConfig);
 cudaError_t cudaDeviceGetStreamPriorityRange(int* leastPriority, int* greatestPriority);
 cudaError_t cudaDeviceReset(void);
 cudaError_t cudaDeviceSetCacheConfig(cudaFuncCache cacheConfig);
 cudaError_t cudaDeviceSetLimit(cudaLimit limit, size_t value);
 cudaError_t cudaDeviceSetSharedMemConfig(cudaSharedMemConfig config);
 cudaError_t cudaDeviceSynchronize(void);
-__device__ cudaError_t cudaDeviceSynchronize(void);
 cudaError_t cudaGetDevice(int* device);
 __device__ cudaError_t cudaGetDevice(int* device);
 cudaError_t cudaGetDeviceCount(int* count);
 __device__ cudaError_t cudaGetDeviceCount(int* count);
 cudaError_t cudaGetDeviceFlags(unsigned int* flags);
 cudaError_t cudaGetDeviceProperties(cudaDeviceProp* prop, int device);
 cudaError_t cudaIpcCloseMemHandle(void* devPtr);
 cudaError_t cudaIpcGetEventHandle(cudaIpcEventHandle_t* handle, cudaEvent_t event);
 cudaError_t cudaIpcGetMemHandle(cudaIpcMemHandle_t* handle, void* devPtr);
 cudaError_t cudaIpcOpenEventHandle(cudaEvent_t* event, cudaIpcEventHandle_t handle);
 cudaError_t cudaIpcOpenMemHandle(void** devPtr, cudaIpcMemHandle_t handle, unsigned int flags);
 cudaError_t cudaSetDevice(int device);
 cudaError_t cudaSetDeviceFlags(unsigned int flags);
 cudaError_t cudaSetValidDevices(int* device_arr, int len);

4.2. Thread Management [DEPRECATED]#

 cudaError_t cudaThreadExit(void);
 cudaError_t cudaThreadGetCacheConfig(cudaFuncCache ** pCacheConfig);
 cudaError_t cudaThreadGetLimit(size_t* pValue, cudaLimit limit);
 cudaError_t cudaThreadSetCacheConfig(cudaFuncCache cacheConfig);
 cudaError_t cudaThreadSetLimit(cudaLimit limit, size_t value);
 cudaError_t cudaThreadSynchronize(void);

4.3. Error Handling#

 const char* cudaGetErrorName(cudaError_t error);
 __device__ const char* cudaGetErrorName(cudaError_t error);
 const char* cudaGetErrorString(cudaError_t error);
 __device__ const char* cudaGetErrorString(cudaError_t error);
 cudaError_t cudaGetLastError(void);
-__device__ cudaError_t cudaGetLastError(void);
 cudaError_t cudaPeekAtLastError(void);
-__device__ cudaError_t cudaPeekAtLastError(void);

4.4. Stream Management#

 typedef void(* cudaStreamCallback_t)(cudaStream_t stream, cudaError_t status, void* userData);
 cudaError_t cudaStreamAddCallback(cudaStream_t stream, cudaStreamCallback_t callback, void* userData, unsigned int flags);
 cudaError_t cudaStreamAttachMemAsync(cudaStream_t stream, void* devPtr, size_t length = 0, unsigned int flags = cudaMemAttachSingle);
 cudaError_t cudaStreamCreate(cudaStream_t* pStream);
 cudaError_t cudaStreamCreateWithFlags(cudaStream_t* pStream, unsigned int flags);
-__device__ cudaError_t cudaStreamCreateWithFlags(cudaStream_t* pStream, unsigned int flags);
 cudaError_t cudaStreamCreateWithPriority(cudaStream_t* pStream, unsigned int flags, int priority);
 cudaError_t cudaStreamDestroy(cudaStream_t stream);
-__device__ cudaError_t cudaStreamDestroy(cudaStream_t stream);
 cudaError_t cudaStreamGetFlags(cudaStream_t hStream, unsigned int* flags);
 cudaError_t cudaStreamGetPriority(cudaStream_t hStream, int* priority);
 cudaError_t cudaStreamQuery(cudaStream_t stream);
 cudaError_t cudaStreamSynchronize(cudaStream_t stream);
- cudaError_t cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags);
-__device__ cudaError_t cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags);

4.5. Event Management#

 cudaError_t cudaEventCreate(cudaEvent_t* event);
 cudaError_t cudaEventCreateWithFlags(cudaEvent_t* event, unsigned int flags);
-__device__ cudaError_t cudaEventCreateWithFlags(cudaEvent_t* event, unsigned int flags);
 cudaError_t cudaEventDestroy(cudaEvent_t event);
-__device__ cudaError_t cudaEventDestroy(cudaEvent_t event);
 cudaError_t cudaEventElapsedTime(float* ms, cudaEvent_t start, cudaEvent_t end);
 cudaError_t cudaEventQuery(cudaEvent_t event);
 cudaError_t cudaEventRecord(cudaEvent_t event, cudaStream_t stream = 0);
-__device__ cudaError_t cudaEventRecord(cudaEvent_t event, cudaStream_t stream = 0);
 cudaError_t cudaEventSynchronize(cudaEvent_t event);

4.6. Execution Control#

 cudaError_t cudaFuncGetAttributes(cudaFuncAttributes* attr, const void* func);
-__device__ cudaError_t cudaFuncGetAttributes(cudaFuncAttributes* attr, const void* func);
 cudaError_t cudaFuncSetCacheConfig(const void* func, cudaFuncCache cacheConfig);
 cudaError_t cudaFuncSetSharedMemConfig(const void* func, cudaSharedMemConfig config);
 __device__ void* cudaGetParameterBuffer(size_t alignment, size_t size);
-__device__ void* cudaGetParameterBufferV2(void* func, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize);
 cudaError_t cudaLaunchKernel(const void* func, dim3 gridDim, dim3 blockDim, void** args, size_t sharedMem, cudaStream_t stream);
 cudaError_t cudaSetDoubleForDevice(double* d);
 cudaError_t cudaSetDoubleForHost(double* d);

4.7. Occupancy#

 cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int* numBlocks, const void* func, int blockSize, size_t dynamicSMemSize);
-__device__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int* numBlocks, const void* func, int blockSize, size_t dynamicSMemSize);
 cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int* numBlocks, const void* func, int blockSize, size_t dynamicSMemSize, unsigned int flags);

4.8. Execution Control [DEPRECATED]#

 cudaError_t cudaConfigureCall(dim3 gridDim, dim3 blockDim, size_t sharedMem = 0, cudaStream_t stream = 0);
 cudaError_t cudaLaunch(const void* func);
 cudaError_t cudaSetupArgument(const void* arg, size_t size, size_t offset);

4.9. Memory Management#

 cudaError_t cudaArrayGetInfo(cudaChannelFormatDesc* desc, cudaExtent* extent, unsigned int* flags, cudaArray_t array);
 cudaError_t cudaFree(void* devPtr);
 __device__ cudaError_t cudaFree(void* devPtr);
 cudaError_t cudaFreeArray(cudaArray_t array);
 cudaError_t cudaFreeHost(void* ptr);
 cudaError_t cudaFreeMipmappedArray(cudaMipmappedArray_t mipmappedArray);
-cudaError_t cudaGetMipmappedArrayLevel(cudaArray_t* levelArray, cudaMipmappedArray_const_t mipmappedArray, unsigned int level);
 cudaError_t cudaGetSymbolAddress(void** devPtr, const void* symbol);
 cudaError_t cudaGetSymbolSize(size_t* size, const void* symbol);
 cudaError_t cudaHostAlloc(void** pHost, size_t size, unsigned int flags);
 cudaError_t cudaHostGetDevicePointer(void** pDevice, void* pHost, unsigned int flags);
 cudaError_t cudaHostGetFlags(unsigned int* pFlags, void* pHost);
 cudaError_t cudaHostRegister(void* ptr, size_t size, unsigned int flags);
 cudaError_t cudaHostUnregister(void* ptr);
 cudaError_t cudaMalloc(void** devPtr, size_t size);
 __device__ cudaError_t cudaMalloc(void** devPtr, size_t size);
 cudaError_t cudaMalloc3D(cudaPitchedPtr* pitchedDevPtr, cudaExtent extent);
 cudaError_t cudaMalloc3DArray(cudaArray_t* array, const cudaChannelFormatDesc* desc, cudaExtent extent, unsigned int flags = 0);
 cudaError_t cudaMallocArray(cudaArray_t* array, const cudaChannelFormatDesc* desc, size_t width, size_t height = 0, unsigned int flags = 0);
 cudaError_t cudaMallocHost(void** ptr, size_t size);
 cudaError_t cudaMallocManaged(void** devPtr, size_t size, unsigned int flags = cudaMemAttachGlobal);
 cudaError_t cudaMallocMipmappedArray(cudaMipmappedArray_t* mipmappedArray, const cudaChannelFormatDesc* desc, cudaExtent extent, unsigned int numLevels, unsigned int flags = 0);
 cudaError_t cudaMallocPitch(void** devPtr, size_t* pitch, size_t width, size_t height);
 cudaError_t cudaMemAdvise(const void* devPtr, size_t count, cudaMemoryAdvise advice, int device);
 cudaError_t cudaMemGetInfo(size_t* free, size_t* total);
 cudaError_t cudaMemPrefetchAsync(const void* devPtr, size_t count, int dstDevice, cudaStream_t stream = 0);
 cudaError_t cudaMemRangeGetAttribute(void* data, size_t dataSize, cudaMemRangeAttribute attribute, const void* devPtr, size_t count);
-cudaError_t cudaMemRangeGetAttributes(void** data, size_t* dataSizes, cudaMemRangeAttribute ** attributes, size_t numAttributes, const void* devPtr, size_t count);
 cudaError_t cudaMemcpy(void* dst, const void* src, size_t count, cudaMemcpyKind kind);
 cudaError_t cudaMemcpy2D(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind);
-cudaError_t cudaMemcpy2DArrayToArray(cudaArray_t dst, size_t wOffsetDst, size_t hOffsetDst, cudaArray_const_t src, size_t wOffsetSrc, size_t hOffsetSrc, size_t width, size_t height, cudaMemcpyKind kind = cudaMemcpyDeviceToDevice);
 cudaError_t cudaMemcpy2DAsync(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemcpy2DAsync(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpy2DFromArray(void* dst, size_t dpitch, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, cudaMemcpyKind kind);
 cudaError_t cudaMemcpy2DFromArrayAsync(void* dst, size_t dpitch, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpy2DToArray(cudaArray_t dst, size_t wOffset, size_t hOffset, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind);
 cudaError_t cudaMemcpy2DToArrayAsync(cudaArray_t dst, size_t wOffset, size_t hOffset, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpy3D(const cudaMemcpy3DParms* p);
 cudaError_t cudaMemcpy3DAsync(const cudaMemcpy3DParms* p, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemcpy3DAsync(const cudaMemcpy3DParms* p, cudaStream_t stream = 0);
 cudaError_t cudaMemcpy3DPeer(const cudaMemcpy3DPeerParms* p);
 cudaError_t cudaMemcpy3DPeerAsync(const cudaMemcpy3DPeerParms* p, cudaStream_t stream = 0);
-cudaError_t cudaMemcpyArrayToArray(cudaArray_t dst, size_t wOffsetDst, size_t hOffsetDst, cudaArray_const_t src, size_t wOffsetSrc, size_t hOffsetSrc, size_t count, cudaMemcpyKind kind = cudaMemcpyDeviceToDevice);
 cudaError_t cudaMemcpyAsync(void* dst, const void* src, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemcpyAsync(void* dst, const void* src, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);
-cudaError_t cudaMemcpyFromArray(void* dst, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t count, cudaMemcpyKind kind);
-cudaError_t cudaMemcpyFromArrayAsync(void* dst, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpyFromSymbol(void* dst, const void* symbol, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyDeviceToHost);
 cudaError_t cudaMemcpyFromSymbolAsync(void* dst, const void* symbol, size_t count, size_t offset, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpyPeer(void* dst, int dstDevice, const void* src, int srcDevice, size_t count);
 cudaError_t cudaMemcpyPeerAsync(void* dst, int dstDevice, const void* src, int srcDevice, size_t count, cudaStream_t stream = 0);
 cudaError_t cudaMemcpyToArray(cudaArray_t dst, size_t wOffset, size_t hOffset, const void* src, size_t count, cudaMemcpyKind kind);
 cudaError_t cudaMemcpyToArrayAsync(cudaArray_t dst, size_t wOffset, size_t hOffset, const void* src, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpyToSymbol(const void* symbol, const void* src, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyHostToDevice);
 cudaError_t cudaMemcpyToSymbolAsync(const void* symbol, const void* src, size_t count, size_t offset, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemset(void* devPtr, int value, size_t count);
 cudaError_t cudaMemset2D(void* devPtr, size_t pitch, int value, size_t width, size_t height);
 cudaError_t cudaMemset2DAsync(void* devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemset2DAsync(void* devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream = 0);
 cudaError_t cudaMemset3D(cudaPitchedPtr pitchedDevPtr, int value, cudaExtent extent);
 cudaError_t cudaMemset3DAsync(cudaPitchedPtr pitchedDevPtr, int value, cudaExtent extent, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemset3DAsync(cudaPitchedPtr pitchedDevPtr, int value, cudaExtent extent, cudaStream_t stream = 0);
 cudaError_t cudaMemsetAsync(void* devPtr, int value, size_t count, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemsetAsync(void* devPtr, int value, size_t count, cudaStream_t stream = 0);
 cudaExtent make_cudaExtent(size_t w, size_t h, size_t d);
 cudaPitchedPtr make_cudaPitchedPtr(void* d, size_t p, size_t xsz, size_t ysz);
 cudaPos make_cudaPos(size_t x, size_t y, size_t z);

4.10. Unified Addressing#

 cudaError_t cudaPointerGetAttributes(cudaPointerAttributes* attributes, const void* ptr);

4.11. Peer Device Memory Access#

 cudaError_t cudaDeviceCanAccessPeer(int* canAccessPeer, int device, int peerDevice);
 cudaError_t cudaDeviceDisablePeerAccess(int peerDevice);
 cudaError_t cudaDeviceEnablePeerAccess(int peerDevice, unsigned int flags);

4.12. OpenGL Interoperability#

 enum cudaGLDeviceList
     cudaGLDeviceListAll = 1
     cudaGLDeviceListCurrentFrame = 2
     cudaGLDeviceListNextFrame = 3
 cudaError_t cudaGLGetDevices(unsigned int* pCudaDeviceCount, int* pCudaDevices, unsigned int cudaDeviceCount, cudaGLDeviceList deviceList);
 cudaError_t cudaGraphicsGLRegisterBuffer(cudaGraphicsResource** resource, GLuint buffer, unsigned int flags);
 cudaError_t cudaGraphicsGLRegisterImage(cudaGraphicsResource** resource, GLuint image, GLenum target, unsigned int flags);
-cudaError_t cudaWGLGetDevice(int* device, HGPUNV hGpu);

4.13. OpenGL Interoperability [DEPRECATED]#

 enum cudaGLMapFlags
     cudaGLMapFlagsNone = 0
     cudaGLMapFlagsReadOnly = 1
     cudaGLMapFlagsWriteDiscard = 2
 cudaError_t cudaGLMapBufferObject(void** devPtr, GLuint bufObj);
 cudaError_t cudaGLMapBufferObjectAsync(void** devPtr, GLuint bufObj, cudaStream_t stream);
 cudaError_t cudaGLRegisterBufferObject(GLuint bufObj);
 cudaError_t cudaGLSetBufferObjectMapFlags(GLuint bufObj, unsigned int flags);
-cudaError_t cudaGLSetGLDevice(int device);
 cudaError_t cudaGLUnmapBufferObject(GLuint bufObj);
 cudaError_t cudaGLUnmapBufferObjectAsync(GLuint bufObj, cudaStream_t stream);
 cudaError_t cudaGLUnregisterBufferObject(GLuint bufObj);

4.14. Direct3D 9 Interoperability#

-Windows APIs are currently unsupported

4.15. Direct3D 9 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

4.16. Direct3D 10 Interoperability#

-Windows APIs are currently unsupported

4.17. Direct3D 10 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

4.18. Direct3D 11 Interoperability#

-Windows APIs are currently unsupported

4.19. Direct3D 11 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

4.20. VDPAU Interoperability#

-VDPAU is currently unsupported

4.21. EGL Interoperability#

-EGL is currently unsupported

4.22. Graphics Interoperability#

 cudaError_t cudaGraphicsMapResources(int count, cudaGraphicsResource_t* resources, cudaStream_t stream = 0);
-cudaError_t cudaGraphicsResourceGetMappedMipmappedArray(cudaMipmappedArray_t* mipmappedArray, cudaGraphicsResource_t resource);
 cudaError_t cudaGraphicsResourceGetMappedPointer(void** devPtr, size_t* size, cudaGraphicsResource_t resource);
 cudaError_t cudaGraphicsResourceSetMapFlags(cudaGraphicsResource_t resource, unsigned int flags);
 cudaError_t cudaGraphicsSubResourceGetMappedArray(cudaArray_t* array, cudaGraphicsResource_t resource, unsigned int arrayIndex, unsigned int mipLevel);
 cudaError_t cudaGraphicsUnmapResources(int count, cudaGraphicsResource_t* resources, cudaStream_t stream = 0);
 cudaError_t cudaGraphicsUnregisterResource(cudaGraphicsResource_t resource);

4.23. Texture Reference Management#

-cudaError_t cudaBindTexture(size_t* offset, const textureReference* texref, const void* devPtr, const cudaChannelFormatDesc* desc, size_t size = UINT_MAX);
 cudaError_t cudaBindTexture2D(size_t* offset, const textureReference* texref, const void* devPtr, const cudaChannelFormatDesc* desc, size_t width, size_t height, size_t pitch);
 cudaError_t cudaBindTextureToArray(const textureReference* texref, cudaArray_const_t array, const cudaChannelFormatDesc* desc);
 cudaError_t cudaBindTextureToMipmappedArray(const textureReference* texref, cudaMipmappedArray_const_t mipmappedArray, const cudaChannelFormatDesc* desc);
 cudaChannelFormatDesc cudaCreateChannelDesc(int x, int y, int z, int w, cudaChannelFormatKind f);
 cudaError_t cudaGetChannelDesc(cudaChannelFormatDesc* desc, cudaArray_const_t array);
 cudaError_t cudaGetTextureAlignmentOffset(size_t* offset, const textureReference* texref);
 cudaError_t cudaGetTextureReference(const textureReference** texref, const void* symbol);
 cudaError_t cudaUnbindTexture(const textureReference* texref);

4.24. Surface Reference Management#

-cudaError_t cudaBindSurfaceToArray(const surfaceReference* surfref, cudaArray_const_t array, const cudaChannelFormatDesc* desc);
-cudaError_t cudaGetSurfaceReference(const surfaceReference** surfref, const void* symbol);

4.25. Texture Object Management#

 cudaError_t cudaCreateTextureObject(cudaTextureObject_t* pTexObject, const cudaResourceDesc* pResDesc, const cudaTextureDesc* pTexDesc, const cudaResourceViewDesc* pResViewDesc);
 cudaError_t cudaDestroyTextureObject(cudaTextureObject_t texObject);
 cudaError_t cudaGetTextureObjectResourceDesc(cudaResourceDesc* pResDesc, cudaTextureObject_t texObject);
 cudaError_t cudaGetTextureObjectResourceViewDesc(cudaResourceViewDesc* pResViewDesc, cudaTextureObject_t texObject);
 cudaError_t cudaGetTextureObjectTextureDesc(cudaTextureDesc* pTexDesc, cudaTextureObject_t texObject);

4.26. Surface Object Management#

 cudaError_t cudaCreateSurfaceObject(cudaSurfaceObject_t* pSurfObject, const cudaResourceDesc* pResDesc);
 cudaError_t cudaDestroySurfaceObject(cudaSurfaceObject_t surfObject);
 cudaError_t cudaGetSurfaceObjectResourceDesc(cudaResourceDesc* pResDesc, cudaSurfaceObject_t surfObject);

4.27. Version Management#

 cudaError_t cudaDriverGetVersion(int* driverVersion);
 cudaError_t cudaRuntimeGetVersion(int* runtimeVersion);
 __device__ cudaError_t cudaRuntimeGetVersion(int* runtimeVersion);

4.29. Interactions with the CUDA Driver API#


4.30. Profiler Control#

 cudaError_t cudaProfilerInitialize(const char* configFile, const char* outputFile, cudaOutputMode_t outputMode);
 cudaError_t cudaProfilerStart(void);
 cudaError_t cudaProfilerStop(void);

4.31. Data types used by CUDA Runtime#

-#define CUDA_EGL_MAX_PLANES
 #define CUDA_IPC_HANDLE_SIZE
 #define cudaArrayCubemap
 #define cudaArrayDefault
 #define cudaArrayLayered
 #define cudaArraySurfaceLoadStore
 #define cudaArrayTextureGather
 #define cudaCpuDeviceId
 #define cudaDeviceBlockingSync
 #define cudaDeviceLmemResizeToMax
 #define cudaDeviceMapHost
 #define cudaDeviceMask
 #define cudaDevicePropDontCare
 #define cudaDeviceScheduleAuto
 #define cudaDeviceScheduleBlockingSync
 #define cudaDeviceScheduleMask
 #define cudaDeviceScheduleSpin
 #define cudaDeviceScheduleYield
 #define cudaEventBlockingSync
 #define cudaEventDefault
 #define cudaEventDisableTiming
 #define cudaEventInterprocess
 #define cudaHostAllocDefault
 #define cudaHostAllocMapped
 #define cudaHostAllocPortable
 #define cudaHostAllocWriteCombined
 #define cudaHostRegisterDefault
 #define cudaHostRegisterIoMemory
 #define cudaHostRegisterMapped
 #define cudaHostRegisterPortable
 #define cudaInvalidDeviceId
 #define cudaIpcMemLazyEnablePeerAccess
 #define cudaMemAttachGlobal
 #define cudaMemAttachHost
 #define cudaMemAttachSingle
 #define cudaOccupancyDefault
 #define cudaOccupancyDisableCachingOverride
 #define cudaPeerAccessDefault
 #define cudaStreamDefault
 #define cudaStreamLegacy
 #define cudaStreamNonBlocking
 #define cudaStreamPerThread
 enum cudaChannelFormatKind
     cudaChannelFormatKindSigned = 0
     cudaChannelFormatKindUnsigned = 1
     cudaChannelFormatKindFloat = 2
     cudaChannelFormatKindNone = 3
 enum cudaComputeMode
     cudaComputeModeDefault = 0
     cudaComputeModeExclusive = 1
     cudaComputeModeProhibited = 2
     cudaComputeModeExclusiveProcess = 3
 enum cudaDeviceAttr
     cudaDevAttrMaxThreadsPerBlock = 1
     cudaDevAttrMaxBlockDimX = 2
     cudaDevAttrMaxBlockDimY = 3
     cudaDevAttrMaxBlockDimZ = 4
     cudaDevAttrMaxGridDimX = 5
     cudaDevAttrMaxGridDimY = 6
     cudaDevAttrMaxGridDimZ = 7
     cudaDevAttrMaxSharedMemoryPerBlock = 8
     cudaDevAttrTotalConstantMemory = 9
     cudaDevAttrWarpSize = 10
     cudaDevAttrMaxPitch = 11
     cudaDevAttrMaxRegistersPerBlock = 12
     cudaDevAttrClockRate = 13
     cudaDevAttrTextureAlignment = 14
     cudaDevAttrGpuOverlap = 15
     cudaDevAttrMultiProcessorCount = 16
     cudaDevAttrKernelExecTimeout = 17
     cudaDevAttrIntegrated = 18
     cudaDevAttrCanMapHostMemory = 19
     cudaDevAttrComputeMode = 20
     cudaDevAttrMaxTexture1DWidth = 21
     cudaDevAttrMaxTexture2DWidth = 22
     cudaDevAttrMaxTexture2DHeight = 23
     cudaDevAttrMaxTexture3DWidth = 24
     cudaDevAttrMaxTexture3DHeight = 25
     cudaDevAttrMaxTexture3DDepth = 26
     cudaDevAttrMaxTexture2DLayeredWidth = 27
     cudaDevAttrMaxTexture2DLayeredHeight = 28
     cudaDevAttrMaxTexture2DLayeredLayers = 29
     cudaDevAttrSurfaceAlignment = 30
     cudaDevAttrConcurrentKernels = 31
     cudaDevAttrEccEnabled = 32
     cudaDevAttrPciBusId = 33
     cudaDevAttrPciDeviceId = 34
     cudaDevAttrTccDriver = 35
     cudaDevAttrMemoryClockRate = 36
     cudaDevAttrGlobalMemoryBusWidth = 37
     cudaDevAttrL2CacheSize = 38
     cudaDevAttrMaxThreadsPerMultiProcessor = 39
     cudaDevAttrAsyncEngineCount = 40
     cudaDevAttrUnifiedAddressing = 41
     cudaDevAttrMaxTexture1DLayeredWidth = 42
     cudaDevAttrMaxTexture1DLayeredLayers = 43
     cudaDevAttrMaxTexture2DGatherWidth = 45
     cudaDevAttrMaxTexture2DGatherHeight = 46
     cudaDevAttrMaxTexture3DWidthAlt = 47
     cudaDevAttrMaxTexture3DHeightAlt = 48
     cudaDevAttrMaxTexture3DDepthAlt = 49
     cudaDevAttrPciDomainId = 50
     cudaDevAttrTexturePitchAlignment = 51
     cudaDevAttrMaxTextureCubemapWidth = 52
     cudaDevAttrMaxTextureCubemapLayeredWidth = 53
     cudaDevAttrMaxTextureCubemapLayeredLayers = 54
     cudaDevAttrMaxSurface1DWidth = 55
     cudaDevAttrMaxSurface2DWidth = 56
     cudaDevAttrMaxSurface2DHeight = 57
     cudaDevAttrMaxSurface3DWidth = 58
     cudaDevAttrMaxSurface3DHeight = 59
     cudaDevAttrMaxSurface3DDepth = 60
     cudaDevAttrMaxSurface1DLayeredWidth = 61
     cudaDevAttrMaxSurface1DLayeredLayers = 62
     cudaDevAttrMaxSurface2DLayeredWidth = 63
     cudaDevAttrMaxSurface2DLayeredHeight = 64
     cudaDevAttrMaxSurface2DLayeredLayers = 65
     cudaDevAttrMaxSurfaceCubemapWidth = 66
     cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67
     cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68
     cudaDevAttrMaxTexture1DLinearWidth = 69
     cudaDevAttrMaxTexture2DLinearWidth = 70
     cudaDevAttrMaxTexture2DLinearHeight = 71
     cudaDevAttrMaxTexture2DLinearPitch = 72
     cudaDevAttrMaxTexture2DMipmappedWidth = 73
     cudaDevAttrMaxTexture2DMipmappedHeight = 74
     cudaDevAttrComputeCapabilityMajor = 75
     cudaDevAttrComputeCapabilityMinor = 76
     cudaDevAttrMaxTexture1DMipmappedWidth = 77
     cudaDevAttrStreamPrioritiesSupported = 78
     cudaDevAttrGlobalL1CacheSupported = 79
     cudaDevAttrLocalL1CacheSupported = 80
     cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81
     cudaDevAttrMaxRegistersPerMultiprocessor = 82
     cudaDevAttrManagedMemory = 83
     cudaDevAttrIsMultiGpuBoard = 84
     cudaDevAttrMultiGpuBoardGroupID = 85
     cudaDevAttrHostNativeAtomicSupported = 86
     cudaDevAttrSingleToDoublePrecisionPerfRatio = 87
     cudaDevAttrPageableMemoryAccess = 88
     cudaDevAttrConcurrentManagedAccess = 89
     cudaDevAttrComputePreemptionSupported = 90
     cudaDevAttrCanUseHostPointerForRegisteredMem = 91
 enum cudaDeviceP2PAttr
     cudaDevP2PAttrPerformanceRank = 1
     cudaDevP2PAttrAccessSupported = 2
     cudaDevP2PAttrNativeAtomicSupported = 3
-enum cudaEglColorFormat
-enum cudaEglFrameType
-enum cudaEglResourceLocationFlags
 enum cudaError
     cudaSuccess = 0
-    cudaErrorMissingConfiguration = 1
     cudaErrorMemoryAllocation = 2
     cudaErrorInitializationError = 3
-    cudaErrorLaunchFailure = 4
-    cudaErrorPriorLaunchFailure = 5
-    cudaErrorLaunchTimeout = 6
-    cudaErrorLaunchOutOfResources = 7
-    cudaErrorInvalidDeviceFunction = 8
     cudaErrorInvalidConfiguration = 9
-    cudaErrorInvalidDevice = 10
-    cudaErrorInvalidValue = 11
     cudaErrorInvalidPitchValue = 12
     cudaErrorInvalidSymbol = 13
-    cudaErrorMapBufferObjectFailed = 14
-    cudaErrorUnmapBufferObjectFailed = 15
     cudaErrorInvalidHostPointer = 16
     cudaErrorInvalidDevicePointer = 17
     cudaErrorInvalidTexture = 18
     cudaErrorInvalidTextureBinding = 19
     cudaErrorInvalidChannelDescriptor = 20
     cudaErrorInvalidMemcpyDirection = 21
     cudaErrorAddressOfConstant = 22
     cudaErrorTextureFetchFailed = 23
     cudaErrorTextureNotBound = 24
     cudaErrorSynchronizationError = 25
     cudaErrorInvalidFilterSetting = 26
     cudaErrorInvalidNormSetting = 27
     cudaErrorMixedDeviceExecution = 28
-    cudaErrorCudartUnloading = 29
-    cudaErrorUnknown = 30
     cudaErrorNotYetImplemented = 31
     cudaErrorMemoryValueTooLarge = 32
-    cudaErrorInvalidResourceHandle = 33
-    cudaErrorNotReady = 34
     cudaErrorInsufficientDriver = 35
-    cudaErrorSetOnActiveProcess = 36
     cudaErrorInvalidSurface = 37
-    cudaErrorNoDevice = 38
-    cudaErrorECCUncorrectable = 39
-    cudaErrorSharedObjectSymbolNotFound = 40
-    cudaErrorSharedObjectInitFailed = 41
-    cudaErrorUnsupportedLimit = 42
     cudaErrorDuplicateVariableName = 43
     cudaErrorDuplicateTextureName = 44
     cudaErrorDuplicateSurfaceName = 45
     cudaErrorDevicesUnavailable = 46
-    cudaErrorInvalidKernelImage = 47
-    cudaErrorNoKernelImageForDevice = 48
     cudaErrorIncompatibleDriverContext = 49
-    cudaErrorPeerAccessAlreadyEnabled = 50
-    cudaErrorPeerAccessNotEnabled = 51
-    cudaErrorDeviceAlreadyInUse = 54
-    cudaErrorProfilerDisabled = 55
-    cudaErrorProfilerNotInitialized = 56
-    cudaErrorProfilerAlreadyStarted = 57
-    cudaErrorProfilerAlreadyStopped = 58
-    cudaErrorAssert = 59
-    cudaErrorTooManyPeers = 60
-    cudaErrorHostMemoryAlreadyRegistered = 61
-    cudaErrorHostMemoryNotRegistered = 62
-    cudaErrorOperatingSystem = 63
-    cudaErrorPeerAccessUnsupported = 64
     cudaErrorLaunchMaxDepthExceeded = 65
     cudaErrorLaunchFileScopedTex = 66
     cudaErrorLaunchFileScopedSurf = 67
     cudaErrorSyncDepthExceeded = 68
     cudaErrorLaunchPendingCountExceeded = 69
-    cudaErrorNotPermitted = 70
-    cudaErrorNotSupported = 71
-    cudaErrorHardwareStackError = 72
-    cudaErrorIllegalInstruction = 73
-    cudaErrorMisalignedAddress = 74
-    cudaErrorInvalidAddressSpace = 75
-    cudaErrorInvalidPc = 76
-    cudaErrorIllegalAddress = 77
-    cudaErrorInvalidPtx = 78
-    cudaErrorInvalidGraphicsContext = 79
-    cudaErrorNvlinkUncorrectable = 80
     cudaErrorStartupFailure = 127
     cudaErrorApiFailureBase = 10000
 enum cudaFuncCache
     cudaFuncCachePreferNone = 0
     cudaFuncCachePreferShared = 1
     cudaFuncCachePreferL1 = 2
     cudaFuncCachePreferEqual = 3
 enum cudaGraphicsCubeFace
     cudaGraphicsCubeFacePositiveX = 0
     cudaGraphicsCubeFaceNegativeX = 1
     cudaGraphicsCubeFacePositiveY = 2
     cudaGraphicsCubeFaceNegativeY = 3
     cudaGraphicsCubeFacePositiveZ = 4
     cudaGraphicsCubeFaceNegativeZ = 5
 enum cudaGraphicsMapFlags
     cudaGraphicsMapFlagsNone = 0
     cudaGraphicsMapFlagsReadOnly = 1
     cudaGraphicsMapFlagsWriteDiscard = 2
 enum cudaGraphicsRegisterFlags
     cudaGraphicsRegisterFlagsNone = 0
     cudaGraphicsRegisterFlagsReadOnly = 1
     cudaGraphicsRegisterFlagsWriteDiscard = 2
     cudaGraphicsRegisterFlagsSurfaceLoadStore = 4
     cudaGraphicsRegisterFlagsTextureGather = 8
 enum cudaLimit
     cudaLimitStackSize = 0
     cudaLimitPrintfFifoSize = 1
     cudaLimitMallocHeapSize = 2
     cudaLimitDevRuntimeSyncDepth = 3
     cudaLimitDevRuntimePendingLaunchCount = 4
 enum cudaMemRangeAttribute
     cudaMemRangeAttributeReadMostly = 1
     cudaMemRangeAttributePreferredLocation = 2
     cudaMemRangeAttributeAccessedBy = 3
     cudaMemRangeAttributeLastPrefetchLocation = 4
 enum cudaMemcpyKind
     cudaMemcpyHostToHost = 0
     cudaMemcpyHostToDevice = 1
     cudaMemcpyDeviceToHost = 2
     cudaMemcpyDeviceToDevice = 3
     cudaMemcpyDefault = 4
 enum cudaMemoryAdvise
     cudaMemAdviseSetReadMostly = 1
     cudaMemAdviseUnsetReadMostly = 2
     cudaMemAdviseSetPreferredLocation = 3
     cudaMemAdviseUnsetPreferredLocation = 4
     cudaMemAdviseSetAccessedBy = 5
     cudaMemAdviseUnsetAccessedBy = 6
 enum cudaMemoryType
     cudaMemoryTypeHost = 1
     cudaMemoryTypeDevice = 2
 enum cudaOutputMode
     cudaKeyValuePair = 0
     cudaCSV = 1
 enum cudaResourceType
     cudaResourceTypeArray = 0
     cudaResourceTypeMipmappedArray = 1
     cudaResourceTypeLinear = 2
     cudaResourceTypePitch2D = 3
 enum cudaResourceViewFormat
     cudaResViewFormatNone = 0
     cudaResViewFormatUnsignedChar1 = 1
     cudaResViewFormatUnsignedChar2 = 2
     cudaResViewFormatUnsignedChar4 = 3
     cudaResViewFormatSignedChar1 = 4
     cudaResViewFormatSignedChar2 = 5
     cudaResViewFormatSignedChar4 = 6
     cudaResViewFormatUnsignedShort1 = 7
     cudaResViewFormatUnsignedShort2 = 8
     cudaResViewFormatUnsignedShort4 = 9
     cudaResViewFormatSignedShort1 = 10
     cudaResViewFormatSignedShort2 = 11
     cudaResViewFormatSignedShort4 = 12
     cudaResViewFormatUnsignedInt1 = 13
     cudaResViewFormatUnsignedInt2 = 14
     cudaResViewFormatUnsignedInt4 = 15
     cudaResViewFormatSignedInt1 = 16
     cudaResViewFormatSignedInt2 = 17
     cudaResViewFormatSignedInt4 = 18
     cudaResViewFormatHalf1 = 19
     cudaResViewFormatHalf2 = 20
     cudaResViewFormatHalf4 = 21
     cudaResViewFormatFloat1 = 22
     cudaResViewFormatFloat2 = 23
     cudaResViewFormatFloat4 = 24
     cudaResViewFormatUnsignedBlockCompressed1 = 25
     cudaResViewFormatUnsignedBlockCompressed2 = 26
     cudaResViewFormatUnsignedBlockCompressed3 = 27
     cudaResViewFormatUnsignedBlockCompressed4 = 28
     cudaResViewFormatSignedBlockCompressed4 = 29
     cudaResViewFormatUnsignedBlockCompressed5 = 30
     cudaResViewFormatSignedBlockCompressed5 = 31
     cudaResViewFormatUnsignedBlockCompressed6H = 32
     cudaResViewFormatSignedBlockCompressed6H = 33
     cudaResViewFormatUnsignedBlockCompressed7 = 34
 enum cudaSharedMemConfig
     cudaSharedMemBankSizeDefault = 0
     cudaSharedMemBankSizeFourByte = 1
     cudaSharedMemBankSizeEightByte = 2
 enum cudaSurfaceBoundaryMode
     cudaBoundaryModeZero = 0
     cudaBoundaryModeClamp = 1
     cudaBoundaryModeTrap = 2
 enum cudaSurfaceFormatMode
     cudaFormatModeForced = 0
     cudaFormatModeAuto = 1
 enum cudaTextureAddressMode
     cudaAddressModeWrap = 0
     cudaAddressModeClamp = 1
     cudaAddressModeMirror = 2
     cudaAddressModeBorder = 3
 enum cudaTextureFilterMode
     cudaFilterModePoint = 0
     cudaFilterModeLinear = 1
 enum cudaTextureReadMode
     cudaReadModeElementType = 0
     cudaReadModeNormalizedFloat = 1
 struct cudaChannelFormatDesc
     f
     w
     x
     y
     z
 struct cudaDeviceProp
     ECCEnabled
     asyncEngineCount
     canMapHostMemory
     clockRate
     computeMode
     concurrentKernels
     concurrentManagedAccess
     deviceOverlap
     globalL1CacheSupported
     hostNativeAtomicSupported
     integrated
     isMultiGpuBoard
     kernelExecTimeoutEnabled
     l2CacheSize
     localL1CacheSupported
     major
     managedMemory
     maxGridSize
     maxSurface1D
     maxSurface1DLayered
     maxSurface2D
     maxSurface2DLayered
     maxSurface3D
     maxSurfaceCubemap
     maxSurfaceCubemapLayered
     maxTexture1D
     maxTexture1DLayered
     maxTexture1DLinear
     maxTexture1DMipmap
     maxTexture2D
     maxTexture2DGather
     maxTexture2DLayered
     maxTexture2DLinear
     maxTexture2DMipmap
     maxTexture3D
     maxTexture3DAlt
     maxTextureCubemap
     maxTextureCubemapLayered
     maxThreadsDim
     maxThreadsPerBlock
     maxThreadsPerMultiProcessor
     memPitch
     memoryBusWidth
     memoryClockRate
     minor
     multiGpuBoardGroupID
     multiProcessorCount
     name
     pageableMemoryAccess
     pciBusID
     pciDeviceID
     pciDomainID
     regsPerBlock
     regsPerMultiprocessor
     sharedMemPerBlock
     sharedMemPerMultiprocessor
     singleToDoublePrecisionPerfRatio
     streamPrioritiesSupported
     surfaceAlignment
     tccDriver
     textureAlignment
     texturePitchAlignment
     totalConstMem
     totalGlobalMem
     unifiedAddressing
     warpSize
-struct cudaEglFrame
-struct cudaEglPlaneDesc
 struct cudaExtent
     depth
     height
     width
 struct cudaFuncAttributes
     binaryVersion
     cacheModeCA
     constSizeBytes
     localSizeBytes
     maxThreadsPerBlock
     numRegs
     ptxVersion
     sharedSizeBytes
 struct cudaIpcEventHandle_t
 struct cudaIpcMemHandle_t
 struct cudaMemcpy3DParms
     dstArray
     dstPos
     dstPtr
     extent
     kind
     srcArray
     srcPos
     srcPtr
 struct cudaMemcpy3DPeerParms
     dstArray
     dstDevice
     dstPos
     dstPtr
     extent
     srcArray
     srcDevice
     srcPos
     srcPtr
 struct cudaPitchedPtr
     pitch
     ptr
     xsize
     ysize
 struct cudaPointerAttributes
     device
     devicePointer
     hostPointer
-    isManaged
     memoryType
 struct cudaPos
     x
     y
     z
 struct cudaResourceDesc
     array
     desc
     devPtr
     height
     mipmap
     pitchInBytes
     resType
     sizeInBytes
     width
 struct cudaResourceViewDesc
     depth
     firstLayer
     firstMipmapLevel
     format
     height
     lastLayer
     lastMipmapLevel
     width
 struct cudaTextureDesc
     addressMode
     borderColor
     filterMode
     maxAnisotropy
     maxMipmapLevelClamp
     minMipmapLevelClamp
     mipmapFilterMode
     mipmapLevelBias
     normalizedCoords
     readMode
     sRGB
-struct surfaceReference
 struct textureReference
     addressMode
     channelDesc
     filterMode
     maxAnisotropy
     maxMipmapLevelClamp
     minMipmapLevelClamp
     mipmapFilterMode
     mipmapLevelBias
     normalized
     sRGB
 typedef const cudaArray * cudaArray_const_t;
 typedef cudaArray * cudaArray_t;
-typedef CUeglStreamConnection_st * cudaEglStreamConnection;
 typedef enum cudaError cudaError_t;
 typedef CUevent_st * cudaEvent_t;
 typedef cudaGraphicsResource * cudaGraphicsResource_t;
 typedef const cudaMipmappedArray * cudaMipmappedArray_const_t;
 typedef cudaMipmappedArray * cudaMipmappedArray_t;
 typedef enum cudaOutputMode cudaOutputMode_t;
 typedef CUstream_st * cudaStream_t;
 typedef unsigned long long cudaSurfaceObject_t;
 typedef unsigned long long cudaTextureObject_t;
 typedef CUuuid_st cudaUUID_t;

85% (305 of 357 declarations available)

4.1. Device Management#

 cudaError_t cudaChooseDevice(int* device, const cudaDeviceProp* prop);
 cudaError_t cudaDeviceGetAttribute(int* value, cudaDeviceAttr attr, int device);
 __device__ cudaError_t cudaDeviceGetAttribute(int* value, cudaDeviceAttr attr, int device);
 cudaError_t cudaDeviceGetByPCIBusId(int* device, const char* pciBusId);
 cudaError_t cudaDeviceGetCacheConfig(cudaFuncCache ** pCacheConfig);
 __device__ cudaError_t cudaDeviceGetCacheConfig(cudaFuncCache ** pCacheConfig);
 cudaError_t cudaDeviceGetLimit(size_t* pValue, cudaLimit limit);
 __device__ cudaError_t cudaDeviceGetLimit(size_t* pValue, cudaLimit limit);
 cudaError_t cudaDeviceGetP2PAttribute(int* value, cudaDeviceP2PAttr attr, int srcDevice, int dstDevice);
 cudaError_t cudaDeviceGetPCIBusId(char* pciBusId, int len, int device);
 cudaError_t cudaDeviceGetSharedMemConfig(cudaSharedMemConfig ** pConfig);
 __device__ cudaError_t cudaDeviceGetSharedMemConfig(cudaSharedMemConfig ** pConfig);
 cudaError_t cudaDeviceGetStreamPriorityRange(int* leastPriority, int* greatestPriority);
 cudaError_t cudaDeviceReset(void);
 cudaError_t cudaDeviceSetCacheConfig(cudaFuncCache cacheConfig);
 cudaError_t cudaDeviceSetLimit(cudaLimit limit, size_t value);
 cudaError_t cudaDeviceSetSharedMemConfig(cudaSharedMemConfig config);
 cudaError_t cudaDeviceSynchronize(void);
-__device__ cudaError_t cudaDeviceSynchronize(void);
 cudaError_t cudaGetDevice(int* device);
 __device__ cudaError_t cudaGetDevice(int* device);
 cudaError_t cudaGetDeviceCount(int* count);
 __device__ cudaError_t cudaGetDeviceCount(int* count);
 cudaError_t cudaGetDeviceFlags(unsigned int* flags);
 cudaError_t cudaGetDeviceProperties(cudaDeviceProp* prop, int device);
 cudaError_t cudaIpcCloseMemHandle(void* devPtr);
 cudaError_t cudaIpcGetEventHandle(cudaIpcEventHandle_t* handle, cudaEvent_t event);
 cudaError_t cudaIpcGetMemHandle(cudaIpcMemHandle_t* handle, void* devPtr);
 cudaError_t cudaIpcOpenEventHandle(cudaEvent_t* event, cudaIpcEventHandle_t handle);
 cudaError_t cudaIpcOpenMemHandle(void** devPtr, cudaIpcMemHandle_t handle, unsigned int flags);
 cudaError_t cudaSetDevice(int device);
 cudaError_t cudaSetDeviceFlags(unsigned int flags);
 cudaError_t cudaSetValidDevices(int* device_arr, int len);

4.2. Thread Management [DEPRECATED]#

 cudaError_t cudaThreadExit(void);
 cudaError_t cudaThreadGetCacheConfig(cudaFuncCache ** pCacheConfig);
 cudaError_t cudaThreadGetLimit(size_t* pValue, cudaLimit limit);
 cudaError_t cudaThreadSetCacheConfig(cudaFuncCache cacheConfig);
 cudaError_t cudaThreadSetLimit(cudaLimit limit, size_t value);
 cudaError_t cudaThreadSynchronize(void);

4.3. Error Handling#

 const char* cudaGetErrorName(cudaError_t error);
 __device__ const char* cudaGetErrorName(cudaError_t error);
 const char* cudaGetErrorString(cudaError_t error);
 __device__ const char* cudaGetErrorString(cudaError_t error);
 cudaError_t cudaGetLastError(void);
-__device__ cudaError_t cudaGetLastError(void);
 cudaError_t cudaPeekAtLastError(void);
-__device__ cudaError_t cudaPeekAtLastError(void);

4.4. Stream Management#

 typedef void(* cudaStreamCallback_t)(cudaStream_t stream, cudaError_t status, void* userData);
 cudaError_t cudaStreamAddCallback(cudaStream_t stream, cudaStreamCallback_t callback, void* userData, unsigned int flags);
 cudaError_t cudaStreamAttachMemAsync(cudaStream_t stream, void* devPtr, size_t length = 0, unsigned int flags = cudaMemAttachSingle);
 cudaError_t cudaStreamCreate(cudaStream_t* pStream);
 cudaError_t cudaStreamCreateWithFlags(cudaStream_t* pStream, unsigned int flags);
-__device__ cudaError_t cudaStreamCreateWithFlags(cudaStream_t* pStream, unsigned int flags);
 cudaError_t cudaStreamCreateWithPriority(cudaStream_t* pStream, unsigned int flags, int priority);
 cudaError_t cudaStreamDestroy(cudaStream_t stream);
-__device__ cudaError_t cudaStreamDestroy(cudaStream_t stream);
 cudaError_t cudaStreamGetFlags(cudaStream_t hStream, unsigned int* flags);
 cudaError_t cudaStreamGetPriority(cudaStream_t hStream, int* priority);
 cudaError_t cudaStreamQuery(cudaStream_t stream);
 cudaError_t cudaStreamSynchronize(cudaStream_t stream);
- cudaError_t cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags);
-__device__ cudaError_t cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags);

4.5. Event Management#

 cudaError_t cudaEventCreate(cudaEvent_t* event);
 cudaError_t cudaEventCreateWithFlags(cudaEvent_t* event, unsigned int flags);
-__device__ cudaError_t cudaEventCreateWithFlags(cudaEvent_t* event, unsigned int flags);
 cudaError_t cudaEventDestroy(cudaEvent_t event);
-__device__ cudaError_t cudaEventDestroy(cudaEvent_t event);
 cudaError_t cudaEventElapsedTime(float* ms, cudaEvent_t start, cudaEvent_t end);
 cudaError_t cudaEventQuery(cudaEvent_t event);
 cudaError_t cudaEventRecord(cudaEvent_t event, cudaStream_t stream = 0);
-__device__ cudaError_t cudaEventRecord(cudaEvent_t event, cudaStream_t stream = 0);
 cudaError_t cudaEventSynchronize(cudaEvent_t event);

4.6. Execution Control#

 cudaError_t cudaFuncGetAttributes(cudaFuncAttributes* attr, const void* func);
-__device__ cudaError_t cudaFuncGetAttributes(cudaFuncAttributes* attr, const void* func);
 cudaError_t cudaFuncSetAttribute(const void* func, cudaFuncAttribute attr, int value);
 cudaError_t cudaFuncSetCacheConfig(const void* func, cudaFuncCache cacheConfig);
 cudaError_t cudaFuncSetSharedMemConfig(const void* func, cudaSharedMemConfig config);
 __device__ void* cudaGetParameterBuffer(size_t alignment, size_t size);
-__device__ void* cudaGetParameterBufferV2(void* func, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize);
 cudaError_t cudaLaunchCooperativeKernel(const void* func, dim3 gridDim, dim3 blockDim, void** args, size_t sharedMem, cudaStream_t stream);
-cudaError_t cudaLaunchCooperativeKernelMultiDevice(cudaLaunchParams* launchParamsList, unsigned int numDevices, unsigned int flags = 0);
 cudaError_t cudaLaunchKernel(const void* func, dim3 gridDim, dim3 blockDim, void** args, size_t sharedMem, cudaStream_t stream);
 cudaError_t cudaSetDoubleForDevice(double* d);
 cudaError_t cudaSetDoubleForHost(double* d);

4.7. Occupancy#

 cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int* numBlocks, const void* func, int blockSize, size_t dynamicSMemSize);
-__device__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int* numBlocks, const void* func, int blockSize, size_t dynamicSMemSize);
 cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int* numBlocks, const void* func, int blockSize, size_t dynamicSMemSize, unsigned int flags);

4.8. Execution Control [DEPRECATED]#

 cudaError_t cudaConfigureCall(dim3 gridDim, dim3 blockDim, size_t sharedMem = 0, cudaStream_t stream = 0);
 cudaError_t cudaLaunch(const void* func);
 cudaError_t cudaSetupArgument(const void* arg, size_t size, size_t offset);

4.9. Memory Management#

 cudaError_t cudaArrayGetInfo(cudaChannelFormatDesc* desc, cudaExtent* extent, unsigned int* flags, cudaArray_t array);
 cudaError_t cudaFree(void* devPtr);
 __device__ cudaError_t cudaFree(void* devPtr);
 cudaError_t cudaFreeArray(cudaArray_t array);
 cudaError_t cudaFreeHost(void* ptr);
 cudaError_t cudaFreeMipmappedArray(cudaMipmappedArray_t mipmappedArray);
-cudaError_t cudaGetMipmappedArrayLevel(cudaArray_t* levelArray, cudaMipmappedArray_const_t mipmappedArray, unsigned int level);
 cudaError_t cudaGetSymbolAddress(void** devPtr, const void* symbol);
 cudaError_t cudaGetSymbolSize(size_t* size, const void* symbol);
 cudaError_t cudaHostAlloc(void** pHost, size_t size, unsigned int flags);
 cudaError_t cudaHostGetDevicePointer(void** pDevice, void* pHost, unsigned int flags);
 cudaError_t cudaHostGetFlags(unsigned int* pFlags, void* pHost);
 cudaError_t cudaHostRegister(void* ptr, size_t size, unsigned int flags);
 cudaError_t cudaHostUnregister(void* ptr);
 cudaError_t cudaMalloc(void** devPtr, size_t size);
 __device__ cudaError_t cudaMalloc(void** devPtr, size_t size);
 cudaError_t cudaMalloc3D(cudaPitchedPtr* pitchedDevPtr, cudaExtent extent);
 cudaError_t cudaMalloc3DArray(cudaArray_t* array, const cudaChannelFormatDesc* desc, cudaExtent extent, unsigned int flags = 0);
 cudaError_t cudaMallocArray(cudaArray_t* array, const cudaChannelFormatDesc* desc, size_t width, size_t height = 0, unsigned int flags = 0);
 cudaError_t cudaMallocHost(void** ptr, size_t size);
 cudaError_t cudaMallocManaged(void** devPtr, size_t size, unsigned int flags = cudaMemAttachGlobal);
 cudaError_t cudaMallocMipmappedArray(cudaMipmappedArray_t* mipmappedArray, const cudaChannelFormatDesc* desc, cudaExtent extent, unsigned int numLevels, unsigned int flags = 0);
 cudaError_t cudaMallocPitch(void** devPtr, size_t* pitch, size_t width, size_t height);
 cudaError_t cudaMemAdvise(const void* devPtr, size_t count, cudaMemoryAdvise advice, int device);
 cudaError_t cudaMemGetInfo(size_t* free, size_t* total);
 cudaError_t cudaMemPrefetchAsync(const void* devPtr, size_t count, int dstDevice, cudaStream_t stream = 0);
 cudaError_t cudaMemRangeGetAttribute(void* data, size_t dataSize, cudaMemRangeAttribute attribute, const void* devPtr, size_t count);
-cudaError_t cudaMemRangeGetAttributes(void** data, size_t* dataSizes, cudaMemRangeAttribute ** attributes, size_t numAttributes, const void* devPtr, size_t count);
 cudaError_t cudaMemcpy(void* dst, const void* src, size_t count, cudaMemcpyKind kind);
 cudaError_t cudaMemcpy2D(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind);
-cudaError_t cudaMemcpy2DArrayToArray(cudaArray_t dst, size_t wOffsetDst, size_t hOffsetDst, cudaArray_const_t src, size_t wOffsetSrc, size_t hOffsetSrc, size_t width, size_t height, cudaMemcpyKind kind = cudaMemcpyDeviceToDevice);
 cudaError_t cudaMemcpy2DAsync(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemcpy2DAsync(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpy2DFromArray(void* dst, size_t dpitch, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, cudaMemcpyKind kind);
 cudaError_t cudaMemcpy2DFromArrayAsync(void* dst, size_t dpitch, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpy2DToArray(cudaArray_t dst, size_t wOffset, size_t hOffset, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind);
 cudaError_t cudaMemcpy2DToArrayAsync(cudaArray_t dst, size_t wOffset, size_t hOffset, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpy3D(const cudaMemcpy3DParms* p);
 cudaError_t cudaMemcpy3DAsync(const cudaMemcpy3DParms* p, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemcpy3DAsync(const cudaMemcpy3DParms* p, cudaStream_t stream = 0);
 cudaError_t cudaMemcpy3DPeer(const cudaMemcpy3DPeerParms* p);
 cudaError_t cudaMemcpy3DPeerAsync(const cudaMemcpy3DPeerParms* p, cudaStream_t stream = 0);
-cudaError_t cudaMemcpyArrayToArray(cudaArray_t dst, size_t wOffsetDst, size_t hOffsetDst, cudaArray_const_t src, size_t wOffsetSrc, size_t hOffsetSrc, size_t count, cudaMemcpyKind kind = cudaMemcpyDeviceToDevice);
 cudaError_t cudaMemcpyAsync(void* dst, const void* src, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemcpyAsync(void* dst, const void* src, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);
-cudaError_t cudaMemcpyFromArray(void* dst, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t count, cudaMemcpyKind kind);
-cudaError_t cudaMemcpyFromArrayAsync(void* dst, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpyFromSymbol(void* dst, const void* symbol, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyDeviceToHost);
 cudaError_t cudaMemcpyFromSymbolAsync(void* dst, const void* symbol, size_t count, size_t offset, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpyPeer(void* dst, int dstDevice, const void* src, int srcDevice, size_t count);
 cudaError_t cudaMemcpyPeerAsync(void* dst, int dstDevice, const void* src, int srcDevice, size_t count, cudaStream_t stream = 0);
 cudaError_t cudaMemcpyToArray(cudaArray_t dst, size_t wOffset, size_t hOffset, const void* src, size_t count, cudaMemcpyKind kind);
 cudaError_t cudaMemcpyToArrayAsync(cudaArray_t dst, size_t wOffset, size_t hOffset, const void* src, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpyToSymbol(const void* symbol, const void* src, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyHostToDevice);
 cudaError_t cudaMemcpyToSymbolAsync(const void* symbol, const void* src, size_t count, size_t offset, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemset(void* devPtr, int value, size_t count);
 cudaError_t cudaMemset2D(void* devPtr, size_t pitch, int value, size_t width, size_t height);
 cudaError_t cudaMemset2DAsync(void* devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemset2DAsync(void* devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream = 0);
 cudaError_t cudaMemset3D(cudaPitchedPtr pitchedDevPtr, int value, cudaExtent extent);
 cudaError_t cudaMemset3DAsync(cudaPitchedPtr pitchedDevPtr, int value, cudaExtent extent, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemset3DAsync(cudaPitchedPtr pitchedDevPtr, int value, cudaExtent extent, cudaStream_t stream = 0);
 cudaError_t cudaMemsetAsync(void* devPtr, int value, size_t count, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemsetAsync(void* devPtr, int value, size_t count, cudaStream_t stream = 0);
 cudaExtent make_cudaExtent(size_t w, size_t h, size_t d);
 cudaPitchedPtr make_cudaPitchedPtr(void* d, size_t p, size_t xsz, size_t ysz);
 cudaPos make_cudaPos(size_t x, size_t y, size_t z);

4.10. Unified Addressing#

 cudaError_t cudaPointerGetAttributes(cudaPointerAttributes* attributes, const void* ptr);

4.11. Peer Device Memory Access#

 cudaError_t cudaDeviceCanAccessPeer(int* canAccessPeer, int device, int peerDevice);
 cudaError_t cudaDeviceDisablePeerAccess(int peerDevice);
 cudaError_t cudaDeviceEnablePeerAccess(int peerDevice, unsigned int flags);

4.12. OpenGL Interoperability#

 enum cudaGLDeviceList
     cudaGLDeviceListAll = 1
     cudaGLDeviceListCurrentFrame = 2
     cudaGLDeviceListNextFrame = 3
 cudaError_t cudaGLGetDevices(unsigned int* pCudaDeviceCount, int* pCudaDevices, unsigned int cudaDeviceCount, cudaGLDeviceList deviceList);
 cudaError_t cudaGraphicsGLRegisterBuffer(cudaGraphicsResource** resource, GLuint buffer, unsigned int flags);
 cudaError_t cudaGraphicsGLRegisterImage(cudaGraphicsResource** resource, GLuint image, GLenum target, unsigned int flags);
-cudaError_t cudaWGLGetDevice(int* device, HGPUNV hGpu);

4.13. OpenGL Interoperability [DEPRECATED]#

 enum cudaGLMapFlags
     cudaGLMapFlagsNone = 0
     cudaGLMapFlagsReadOnly = 1
     cudaGLMapFlagsWriteDiscard = 2
 cudaError_t cudaGLMapBufferObject(void** devPtr, GLuint bufObj);
 cudaError_t cudaGLMapBufferObjectAsync(void** devPtr, GLuint bufObj, cudaStream_t stream);
 cudaError_t cudaGLRegisterBufferObject(GLuint bufObj);
 cudaError_t cudaGLSetBufferObjectMapFlags(GLuint bufObj, unsigned int flags);
-cudaError_t cudaGLSetGLDevice(int device);
 cudaError_t cudaGLUnmapBufferObject(GLuint bufObj);
 cudaError_t cudaGLUnmapBufferObjectAsync(GLuint bufObj, cudaStream_t stream);
 cudaError_t cudaGLUnregisterBufferObject(GLuint bufObj);

4.14. Direct3D 9 Interoperability#

-Windows APIs are currently unsupported

4.15. Direct3D 9 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

4.16. Direct3D 10 Interoperability#

-Windows APIs are currently unsupported

4.17. Direct3D 10 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

4.18. Direct3D 11 Interoperability#

-Windows APIs are currently unsupported

4.19. Direct3D 11 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

4.20. VDPAU Interoperability#

-VDPAU is currently unsupported

4.21. EGL Interoperability#

-EGL is currently unsupported

4.22. Graphics Interoperability#

 cudaError_t cudaGraphicsMapResources(int count, cudaGraphicsResource_t* resources, cudaStream_t stream = 0);
-cudaError_t cudaGraphicsResourceGetMappedMipmappedArray(cudaMipmappedArray_t* mipmappedArray, cudaGraphicsResource_t resource);
 cudaError_t cudaGraphicsResourceGetMappedPointer(void** devPtr, size_t* size, cudaGraphicsResource_t resource);
 cudaError_t cudaGraphicsResourceSetMapFlags(cudaGraphicsResource_t resource, unsigned int flags);
 cudaError_t cudaGraphicsSubResourceGetMappedArray(cudaArray_t* array, cudaGraphicsResource_t resource, unsigned int arrayIndex, unsigned int mipLevel);
 cudaError_t cudaGraphicsUnmapResources(int count, cudaGraphicsResource_t* resources, cudaStream_t stream = 0);
 cudaError_t cudaGraphicsUnregisterResource(cudaGraphicsResource_t resource);

4.23. Texture Reference Management#

-cudaError_t cudaBindTexture(size_t* offset, const textureReference* texref, const void* devPtr, const cudaChannelFormatDesc* desc, size_t size = UINT_MAX);
 cudaError_t cudaBindTexture2D(size_t* offset, const textureReference* texref, const void* devPtr, const cudaChannelFormatDesc* desc, size_t width, size_t height, size_t pitch);
 cudaError_t cudaBindTextureToArray(const textureReference* texref, cudaArray_const_t array, const cudaChannelFormatDesc* desc);
 cudaError_t cudaBindTextureToMipmappedArray(const textureReference* texref, cudaMipmappedArray_const_t mipmappedArray, const cudaChannelFormatDesc* desc);
 cudaChannelFormatDesc cudaCreateChannelDesc(int x, int y, int z, int w, cudaChannelFormatKind f);
 cudaError_t cudaGetChannelDesc(cudaChannelFormatDesc* desc, cudaArray_const_t array);
 cudaError_t cudaGetTextureAlignmentOffset(size_t* offset, const textureReference* texref);
 cudaError_t cudaGetTextureReference(const textureReference** texref, const void* symbol);
 cudaError_t cudaUnbindTexture(const textureReference* texref);

4.24. Surface Reference Management#

-cudaError_t cudaBindSurfaceToArray(const surfaceReference* surfref, cudaArray_const_t array, const cudaChannelFormatDesc* desc);
-cudaError_t cudaGetSurfaceReference(const surfaceReference** surfref, const void* symbol);

4.25. Texture Object Management#

 cudaError_t cudaCreateTextureObject(cudaTextureObject_t* pTexObject, const cudaResourceDesc* pResDesc, const cudaTextureDesc* pTexDesc, const cudaResourceViewDesc* pResViewDesc);
 cudaError_t cudaDestroyTextureObject(cudaTextureObject_t texObject);
 cudaError_t cudaGetTextureObjectResourceDesc(cudaResourceDesc* pResDesc, cudaTextureObject_t texObject);
 cudaError_t cudaGetTextureObjectResourceViewDesc(cudaResourceViewDesc* pResViewDesc, cudaTextureObject_t texObject);
 cudaError_t cudaGetTextureObjectTextureDesc(cudaTextureDesc* pTexDesc, cudaTextureObject_t texObject);

4.26. Surface Object Management#

 cudaError_t cudaCreateSurfaceObject(cudaSurfaceObject_t* pSurfObject, const cudaResourceDesc* pResDesc);
 cudaError_t cudaDestroySurfaceObject(cudaSurfaceObject_t surfObject);
 cudaError_t cudaGetSurfaceObjectResourceDesc(cudaResourceDesc* pResDesc, cudaSurfaceObject_t surfObject);

4.27. Version Management#

 cudaError_t cudaDriverGetVersion(int* driverVersion);
 cudaError_t cudaRuntimeGetVersion(int* runtimeVersion);
 __device__ cudaError_t cudaRuntimeGetVersion(int* runtimeVersion);

4.28. C++ API Routines#

-class __cudaOccupancyB2DHelper
-template < class T, int dim >__host__ cudaError_t cudaBindSurfaceToArray(const surface < T, dim > & surf, cudaArray_const_t array);
-template < class T, int dim >__host__ cudaError_t cudaBindSurfaceToArray(const surface < T, dim > & surf, cudaArray_const_t array, const cudaChannelFormatDesc& desc);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaBindTexture(size_t* offset, const texture < T, dim, readMode > & tex, const void* devPtr, size_t size = UINT_MAX);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaBindTexture(size_t* offset, const texture < T, dim, readMode > & tex, const void* devPtr, const cudaChannelFormatDesc& desc, size_t size = UINT_MAX);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaBindTexture2D(size_t* offset, const texture < T, dim, readMode > & tex, const void* devPtr, size_t width, size_t height, size_t pitch);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaBindTexture2D(size_t* offset, const texture < T, dim, readMode > & tex, const void* devPtr, const cudaChannelFormatDesc& desc, size_t width, size_t height, size_t pitch);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaBindTextureToArray(const texture < T, dim, readMode > & tex, cudaArray_const_t array);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaBindTextureToArray(const texture < T, dim, readMode > & tex, cudaArray_const_t array, const cudaChannelFormatDesc& desc);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaBindTextureToMipmappedArray(const texture < T, dim, readMode > & tex, cudaMipmappedArray_const_t mipmappedArray);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaBindTextureToMipmappedArray(const texture < T, dim, readMode > & tex, cudaMipmappedArray_const_t mipmappedArray, const cudaChannelFormatDesc& desc);
 template < class T >__host__ cudaChannelFormatDesc cudaCreateChannelDesc(void);
 cudaError_t cudaEventCreate(cudaEvent_t* event, unsigned int flags);
 template < class T >__host__ cudaError_t cudaFuncGetAttributes(cudaFuncAttributes* attr, T* entry);
 template < class T >__host__ cudaError_t cudaFuncSetAttribute(T* entry, cudaFuncAttribute attr, int value);
 template < class T >__host__ cudaError_t cudaFuncSetCacheConfig(T* func, cudaFuncCache cacheConfig);
 template < class T >__host__ cudaError_t cudaGetSymbolAddress(void** devPtr, const T& symbol);
 template < class T >__host__ cudaError_t cudaGetSymbolSize(size_t* size, const T& symbol);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaGetTextureAlignmentOffset(size_t* offset, const texture < T, dim, readMode > & tex);
 template < class T >__host__ cudaError_t cudaLaunch(T* func);
 template < class T >__host__ cudaError_t cudaLaunchCooperativeKernel(const T* func, dim3 gridDim, dim3 blockDim, void** args, size_t sharedMem = 0, cudaStream_t stream = 0);
 template < class T >__host__ cudaError_t cudaLaunchKernel(const T* func, dim3 gridDim, dim3 blockDim, void** args, size_t sharedMem = 0, cudaStream_t stream = 0);
 cudaError_t cudaMallocHost(void** ptr, size_t size, unsigned int flags);
 template < class T >__host__ cudaError_t cudaMallocManaged(T** devPtr, size_t size, unsigned int flags = cudaMemAttachGlobal);
 template < class T >__host__ cudaError_t cudaMemcpyFromSymbol(void* dst, const T& symbol, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyDeviceToHost);
 template < class T >__host__ cudaError_t cudaMemcpyFromSymbolAsync(void* dst, const T& symbol, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyDeviceToHost, cudaStream_t stream = 0);
 template < class T >__host__ cudaError_t cudaMemcpyToSymbol(const T& symbol, const void* src, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyHostToDevice);
 template < class T >__host__ cudaError_t cudaMemcpyToSymbolAsync(const T& symbol, const void* src, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyHostToDevice, cudaStream_t stream = 0);
 template < class T >__host__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int* numBlocks, T func, int blockSize, size_t dynamicSMemSize);
 template < class T >__host__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int* numBlocks, T func, int blockSize, size_t dynamicSMemSize, unsigned int flags);
 template < class T >__host__ cudaError_t cudaOccupancyMaxPotentialBlockSize(int* minGridSize, int* blockSize, T func, size_t dynamicSMemSize = 0, int blockSizeLimit = 0);
 template < typename UnaryFunction, class T >__host__ cudaError_t cudaOccupancyMaxPotentialBlockSizeVariableSMem(int* minGridSize, int* blockSize, T func, UnaryFunction blockSizeToDynamicSMemSize, int blockSizeLimit = 0);
 template < typename UnaryFunction, class T >__host__ cudaError_t cudaOccupancyMaxPotentialBlockSizeVariableSMemWithFlags(int* minGridSize, int* blockSize, T func, UnaryFunction blockSizeToDynamicSMemSize, int blockSizeLimit = 0, unsigned int flags = 0);
 template < class T >__host__ cudaError_t cudaOccupancyMaxPotentialBlockSizeWithFlags(int* minGridSize, int* blockSize, T func, size_t dynamicSMemSize = 0, int blockSizeLimit = 0, unsigned int flags = 0);
 template < class T >__host__ cudaError_t cudaSetupArgument(T arg, size_t offset);
 template < class T >__host__ cudaError_t cudaStreamAttachMemAsync(cudaStream_t stream, T* devPtr, size_t length = 0, unsigned int flags = cudaMemAttachSingle);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaUnbindTexture(const texture < T, dim, readMode > & tex);

4.29. Interactions with the CUDA Driver API#


4.30. Profiler Control#

 cudaError_t cudaProfilerInitialize(const char* configFile, const char* outputFile, cudaOutputMode_t outputMode);
 cudaError_t cudaProfilerStart(void);
 cudaError_t cudaProfilerStop(void);

4.31. Data types used by CUDA Runtime#

-#define CUDA_EGL_MAX_PLANES
 #define CUDA_IPC_HANDLE_SIZE
 #define cudaArrayCubemap
 #define cudaArrayDefault
 #define cudaArrayLayered
 #define cudaArraySurfaceLoadStore
 #define cudaArrayTextureGather
 #define cudaCooperativeLaunchMultiDeviceNoPostSync
 #define cudaCooperativeLaunchMultiDeviceNoPreSync
 #define cudaCpuDeviceId
 #define cudaDeviceBlockingSync
 #define cudaDeviceLmemResizeToMax
 #define cudaDeviceMapHost
 #define cudaDeviceMask
 #define cudaDevicePropDontCare
 #define cudaDeviceScheduleAuto
 #define cudaDeviceScheduleBlockingSync
 #define cudaDeviceScheduleMask
 #define cudaDeviceScheduleSpin
 #define cudaDeviceScheduleYield
 #define cudaEventBlockingSync
 #define cudaEventDefault
 #define cudaEventDisableTiming
 #define cudaEventInterprocess
 #define cudaHostAllocDefault
 #define cudaHostAllocMapped
 #define cudaHostAllocPortable
 #define cudaHostAllocWriteCombined
 #define cudaHostRegisterDefault
 #define cudaHostRegisterIoMemory
 #define cudaHostRegisterMapped
 #define cudaHostRegisterPortable
 #define cudaInvalidDeviceId
 #define cudaIpcMemLazyEnablePeerAccess
 #define cudaMemAttachGlobal
 #define cudaMemAttachHost
 #define cudaMemAttachSingle
 #define cudaOccupancyDefault
 #define cudaOccupancyDisableCachingOverride
 #define cudaPeerAccessDefault
 #define cudaStreamDefault
 #define cudaStreamLegacy
 #define cudaStreamNonBlocking
 #define cudaStreamPerThread
-enum cudaCGScope
 enum cudaChannelFormatKind
     cudaChannelFormatKindSigned = 0
     cudaChannelFormatKindUnsigned = 1
     cudaChannelFormatKindFloat = 2
     cudaChannelFormatKindNone = 3
 enum cudaComputeMode
     cudaComputeModeDefault = 0
     cudaComputeModeExclusive = 1
     cudaComputeModeProhibited = 2
     cudaComputeModeExclusiveProcess = 3
 enum cudaDeviceAttr
     cudaDevAttrMaxThreadsPerBlock = 1
     cudaDevAttrMaxBlockDimX = 2
     cudaDevAttrMaxBlockDimY = 3
     cudaDevAttrMaxBlockDimZ = 4
     cudaDevAttrMaxGridDimX = 5
     cudaDevAttrMaxGridDimY = 6
     cudaDevAttrMaxGridDimZ = 7
     cudaDevAttrMaxSharedMemoryPerBlock = 8
     cudaDevAttrTotalConstantMemory = 9
     cudaDevAttrWarpSize = 10
     cudaDevAttrMaxPitch = 11
     cudaDevAttrMaxRegistersPerBlock = 12
     cudaDevAttrClockRate = 13
     cudaDevAttrTextureAlignment = 14
     cudaDevAttrGpuOverlap = 15
     cudaDevAttrMultiProcessorCount = 16
     cudaDevAttrKernelExecTimeout = 17
     cudaDevAttrIntegrated = 18
     cudaDevAttrCanMapHostMemory = 19
     cudaDevAttrComputeMode = 20
     cudaDevAttrMaxTexture1DWidth = 21
     cudaDevAttrMaxTexture2DWidth = 22
     cudaDevAttrMaxTexture2DHeight = 23
     cudaDevAttrMaxTexture3DWidth = 24
     cudaDevAttrMaxTexture3DHeight = 25
     cudaDevAttrMaxTexture3DDepth = 26
     cudaDevAttrMaxTexture2DLayeredWidth = 27
     cudaDevAttrMaxTexture2DLayeredHeight = 28
     cudaDevAttrMaxTexture2DLayeredLayers = 29
     cudaDevAttrSurfaceAlignment = 30
     cudaDevAttrConcurrentKernels = 31
     cudaDevAttrEccEnabled = 32
     cudaDevAttrPciBusId = 33
     cudaDevAttrPciDeviceId = 34
     cudaDevAttrTccDriver = 35
     cudaDevAttrMemoryClockRate = 36
     cudaDevAttrGlobalMemoryBusWidth = 37
     cudaDevAttrL2CacheSize = 38
     cudaDevAttrMaxThreadsPerMultiProcessor = 39
     cudaDevAttrAsyncEngineCount = 40
     cudaDevAttrUnifiedAddressing = 41
     cudaDevAttrMaxTexture1DLayeredWidth = 42
     cudaDevAttrMaxTexture1DLayeredLayers = 43
     cudaDevAttrMaxTexture2DGatherWidth = 45
     cudaDevAttrMaxTexture2DGatherHeight = 46
     cudaDevAttrMaxTexture3DWidthAlt = 47
     cudaDevAttrMaxTexture3DHeightAlt = 48
     cudaDevAttrMaxTexture3DDepthAlt = 49
     cudaDevAttrPciDomainId = 50
     cudaDevAttrTexturePitchAlignment = 51
     cudaDevAttrMaxTextureCubemapWidth = 52
     cudaDevAttrMaxTextureCubemapLayeredWidth = 53
     cudaDevAttrMaxTextureCubemapLayeredLayers = 54
     cudaDevAttrMaxSurface1DWidth = 55
     cudaDevAttrMaxSurface2DWidth = 56
     cudaDevAttrMaxSurface2DHeight = 57
     cudaDevAttrMaxSurface3DWidth = 58
     cudaDevAttrMaxSurface3DHeight = 59
     cudaDevAttrMaxSurface3DDepth = 60
     cudaDevAttrMaxSurface1DLayeredWidth = 61
     cudaDevAttrMaxSurface1DLayeredLayers = 62
     cudaDevAttrMaxSurface2DLayeredWidth = 63
     cudaDevAttrMaxSurface2DLayeredHeight = 64
     cudaDevAttrMaxSurface2DLayeredLayers = 65
     cudaDevAttrMaxSurfaceCubemapWidth = 66
     cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67
     cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68
     cudaDevAttrMaxTexture1DLinearWidth = 69
     cudaDevAttrMaxTexture2DLinearWidth = 70
     cudaDevAttrMaxTexture2DLinearHeight = 71
     cudaDevAttrMaxTexture2DLinearPitch = 72
     cudaDevAttrMaxTexture2DMipmappedWidth = 73
     cudaDevAttrMaxTexture2DMipmappedHeight = 74
     cudaDevAttrComputeCapabilityMajor = 75
     cudaDevAttrComputeCapabilityMinor = 76
     cudaDevAttrMaxTexture1DMipmappedWidth = 77
     cudaDevAttrStreamPrioritiesSupported = 78
     cudaDevAttrGlobalL1CacheSupported = 79
     cudaDevAttrLocalL1CacheSupported = 80
     cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81
     cudaDevAttrMaxRegistersPerMultiprocessor = 82
     cudaDevAttrManagedMemory = 83
     cudaDevAttrIsMultiGpuBoard = 84
     cudaDevAttrMultiGpuBoardGroupID = 85
     cudaDevAttrHostNativeAtomicSupported = 86
     cudaDevAttrSingleToDoublePrecisionPerfRatio = 87
     cudaDevAttrPageableMemoryAccess = 88
     cudaDevAttrConcurrentManagedAccess = 89
     cudaDevAttrComputePreemptionSupported = 90
     cudaDevAttrCanUseHostPointerForRegisteredMem = 91
     cudaDevAttrReserved92 = 92
     cudaDevAttrReserved93 = 93
     cudaDevAttrReserved94 = 94
     cudaDevAttrCooperativeLaunch = 95
     cudaDevAttrCooperativeMultiDeviceLaunch = 96
     cudaDevAttrMaxSharedMemoryPerBlockOptin = 97
     cudaDevAttrCanFlushRemoteWrites = 98
     cudaDevAttrHostRegisterSupported = 99
     cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100
     cudaDevAttrDirectManagedMemAccessFromHost = 101
 enum cudaDeviceP2PAttr
     cudaDevP2PAttrPerformanceRank = 1
     cudaDevP2PAttrAccessSupported = 2
     cudaDevP2PAttrNativeAtomicSupported = 3
     cudaDevP2PAttrCudaArrayAccessSupported = 4
-enum cudaEglColorFormat
-enum cudaEglFrameType
-enum cudaEglResourceLocationFlags
 enum cudaError
     cudaSuccess = 0
-    cudaErrorMissingConfiguration = 1
     cudaErrorMemoryAllocation = 2
     cudaErrorInitializationError = 3
-    cudaErrorLaunchFailure = 4
-    cudaErrorPriorLaunchFailure = 5
-    cudaErrorLaunchTimeout = 6
-    cudaErrorLaunchOutOfResources = 7
-    cudaErrorInvalidDeviceFunction = 8
     cudaErrorInvalidConfiguration = 9
-    cudaErrorInvalidDevice = 10
-    cudaErrorInvalidValue = 11
     cudaErrorInvalidPitchValue = 12
     cudaErrorInvalidSymbol = 13
-    cudaErrorMapBufferObjectFailed = 14
-    cudaErrorUnmapBufferObjectFailed = 15
     cudaErrorInvalidHostPointer = 16
     cudaErrorInvalidDevicePointer = 17
     cudaErrorInvalidTexture = 18
     cudaErrorInvalidTextureBinding = 19
     cudaErrorInvalidChannelDescriptor = 20
     cudaErrorInvalidMemcpyDirection = 21
     cudaErrorAddressOfConstant = 22
     cudaErrorTextureFetchFailed = 23
     cudaErrorTextureNotBound = 24
     cudaErrorSynchronizationError = 25
     cudaErrorInvalidFilterSetting = 26
     cudaErrorInvalidNormSetting = 27
     cudaErrorMixedDeviceExecution = 28
-    cudaErrorCudartUnloading = 29
-    cudaErrorUnknown = 30
     cudaErrorNotYetImplemented = 31
     cudaErrorMemoryValueTooLarge = 32
-    cudaErrorInvalidResourceHandle = 33
-    cudaErrorNotReady = 34
     cudaErrorInsufficientDriver = 35
-    cudaErrorSetOnActiveProcess = 36
     cudaErrorInvalidSurface = 37
-    cudaErrorNoDevice = 38
-    cudaErrorECCUncorrectable = 39
-    cudaErrorSharedObjectSymbolNotFound = 40
-    cudaErrorSharedObjectInitFailed = 41
-    cudaErrorUnsupportedLimit = 42
     cudaErrorDuplicateVariableName = 43
     cudaErrorDuplicateTextureName = 44
     cudaErrorDuplicateSurfaceName = 45
     cudaErrorDevicesUnavailable = 46
-    cudaErrorInvalidKernelImage = 47
-    cudaErrorNoKernelImageForDevice = 48
     cudaErrorIncompatibleDriverContext = 49
-    cudaErrorPeerAccessAlreadyEnabled = 50
-    cudaErrorPeerAccessNotEnabled = 51
-    cudaErrorDeviceAlreadyInUse = 54
-    cudaErrorProfilerDisabled = 55
-    cudaErrorProfilerNotInitialized = 56
-    cudaErrorProfilerAlreadyStarted = 57
-    cudaErrorProfilerAlreadyStopped = 58
-    cudaErrorAssert = 59
-    cudaErrorTooManyPeers = 60
-    cudaErrorHostMemoryAlreadyRegistered = 61
-    cudaErrorHostMemoryNotRegistered = 62
-    cudaErrorOperatingSystem = 63
-    cudaErrorPeerAccessUnsupported = 64
     cudaErrorLaunchMaxDepthExceeded = 65
     cudaErrorLaunchFileScopedTex = 66
     cudaErrorLaunchFileScopedSurf = 67
     cudaErrorSyncDepthExceeded = 68
     cudaErrorLaunchPendingCountExceeded = 69
-    cudaErrorNotPermitted = 70
-    cudaErrorNotSupported = 71
-    cudaErrorHardwareStackError = 72
-    cudaErrorIllegalInstruction = 73
-    cudaErrorMisalignedAddress = 74
-    cudaErrorInvalidAddressSpace = 75
-    cudaErrorInvalidPc = 76
-    cudaErrorIllegalAddress = 77
-    cudaErrorInvalidPtx = 78
-    cudaErrorInvalidGraphicsContext = 79
-    cudaErrorNvlinkUncorrectable = 80
-    cudaErrorJitCompilerNotFound = 81
-    cudaErrorCooperativeLaunchTooLarge = 82
     cudaErrorStartupFailure = 127
     cudaErrorApiFailureBase = 10000
 enum cudaFuncAttribute
     cudaFuncAttributeMaxDynamicSharedMemorySize = 8
     cudaFuncAttributePreferredSharedMemoryCarveout = 9
-    cudaFuncAttributeMax = 10
 enum cudaFuncCache
     cudaFuncCachePreferNone = 0
     cudaFuncCachePreferShared = 1
     cudaFuncCachePreferL1 = 2
     cudaFuncCachePreferEqual = 3
 enum cudaGraphicsCubeFace
     cudaGraphicsCubeFacePositiveX = 0
     cudaGraphicsCubeFaceNegativeX = 1
     cudaGraphicsCubeFacePositiveY = 2
     cudaGraphicsCubeFaceNegativeY = 3
     cudaGraphicsCubeFacePositiveZ = 4
     cudaGraphicsCubeFaceNegativeZ = 5
 enum cudaGraphicsMapFlags
     cudaGraphicsMapFlagsNone = 0
     cudaGraphicsMapFlagsReadOnly = 1
     cudaGraphicsMapFlagsWriteDiscard = 2
 enum cudaGraphicsRegisterFlags
     cudaGraphicsRegisterFlagsNone = 0
     cudaGraphicsRegisterFlagsReadOnly = 1
     cudaGraphicsRegisterFlagsWriteDiscard = 2
     cudaGraphicsRegisterFlagsSurfaceLoadStore = 4
     cudaGraphicsRegisterFlagsTextureGather = 8
 enum cudaLimit
     cudaLimitStackSize = 0
     cudaLimitPrintfFifoSize = 1
     cudaLimitMallocHeapSize = 2
     cudaLimitDevRuntimeSyncDepth = 3
     cudaLimitDevRuntimePendingLaunchCount = 4
 enum cudaMemRangeAttribute
     cudaMemRangeAttributeReadMostly = 1
     cudaMemRangeAttributePreferredLocation = 2
     cudaMemRangeAttributeAccessedBy = 3
     cudaMemRangeAttributeLastPrefetchLocation = 4
 enum cudaMemcpyKind
     cudaMemcpyHostToHost = 0
     cudaMemcpyHostToDevice = 1
     cudaMemcpyDeviceToHost = 2
     cudaMemcpyDeviceToDevice = 3
     cudaMemcpyDefault = 4
 enum cudaMemoryAdvise
     cudaMemAdviseSetReadMostly = 1
     cudaMemAdviseUnsetReadMostly = 2
     cudaMemAdviseSetPreferredLocation = 3
     cudaMemAdviseUnsetPreferredLocation = 4
     cudaMemAdviseSetAccessedBy = 5
     cudaMemAdviseUnsetAccessedBy = 6
 enum cudaMemoryType
     cudaMemoryTypeHost = 1
     cudaMemoryTypeDevice = 2
 enum cudaOutputMode
     cudaKeyValuePair = 0
     cudaCSV = 1
 enum cudaResourceType
     cudaResourceTypeArray = 0
     cudaResourceTypeMipmappedArray = 1
     cudaResourceTypeLinear = 2
     cudaResourceTypePitch2D = 3
 enum cudaResourceViewFormat
     cudaResViewFormatNone = 0
     cudaResViewFormatUnsignedChar1 = 1
     cudaResViewFormatUnsignedChar2 = 2
     cudaResViewFormatUnsignedChar4 = 3
     cudaResViewFormatSignedChar1 = 4
     cudaResViewFormatSignedChar2 = 5
     cudaResViewFormatSignedChar4 = 6
     cudaResViewFormatUnsignedShort1 = 7
     cudaResViewFormatUnsignedShort2 = 8
     cudaResViewFormatUnsignedShort4 = 9
     cudaResViewFormatSignedShort1 = 10
     cudaResViewFormatSignedShort2 = 11
     cudaResViewFormatSignedShort4 = 12
     cudaResViewFormatUnsignedInt1 = 13
     cudaResViewFormatUnsignedInt2 = 14
     cudaResViewFormatUnsignedInt4 = 15
     cudaResViewFormatSignedInt1 = 16
     cudaResViewFormatSignedInt2 = 17
     cudaResViewFormatSignedInt4 = 18
     cudaResViewFormatHalf1 = 19
     cudaResViewFormatHalf2 = 20
     cudaResViewFormatHalf4 = 21
     cudaResViewFormatFloat1 = 22
     cudaResViewFormatFloat2 = 23
     cudaResViewFormatFloat4 = 24
     cudaResViewFormatUnsignedBlockCompressed1 = 25
     cudaResViewFormatUnsignedBlockCompressed2 = 26
     cudaResViewFormatUnsignedBlockCompressed3 = 27
     cudaResViewFormatUnsignedBlockCompressed4 = 28
     cudaResViewFormatSignedBlockCompressed4 = 29
     cudaResViewFormatUnsignedBlockCompressed5 = 30
     cudaResViewFormatSignedBlockCompressed5 = 31
     cudaResViewFormatUnsignedBlockCompressed6H = 32
     cudaResViewFormatSignedBlockCompressed6H = 33
     cudaResViewFormatUnsignedBlockCompressed7 = 34
 enum cudaSharedCarveout
     cudaSharedmemCarveoutDefault = 18446744073709551615
     cudaSharedmemCarveoutMaxShared = 100
     cudaSharedmemCarveoutMaxL1 = 0
 enum cudaSharedMemConfig
     cudaSharedMemBankSizeDefault = 0
     cudaSharedMemBankSizeFourByte = 1
     cudaSharedMemBankSizeEightByte = 2
 enum cudaSurfaceBoundaryMode
     cudaBoundaryModeZero = 0
     cudaBoundaryModeClamp = 1
     cudaBoundaryModeTrap = 2
 enum cudaSurfaceFormatMode
     cudaFormatModeForced = 0
     cudaFormatModeAuto = 1
 enum cudaTextureAddressMode
     cudaAddressModeWrap = 0
     cudaAddressModeClamp = 1
     cudaAddressModeMirror = 2
     cudaAddressModeBorder = 3
 enum cudaTextureFilterMode
     cudaFilterModePoint = 0
     cudaFilterModeLinear = 1
 enum cudaTextureReadMode
     cudaReadModeElementType = 0
     cudaReadModeNormalizedFloat = 1
 struct cudaChannelFormatDesc
     f
     w
     x
     y
     z
 struct cudaDeviceProp
     ECCEnabled
     asyncEngineCount
     canMapHostMemory
     canUseHostPointerForRegisteredMem
     clockRate
     computeMode
     computePreemptionSupported
     concurrentKernels
     concurrentManagedAccess
     cooperativeLaunch
     cooperativeMultiDeviceLaunch
     deviceOverlap
     directManagedMemAccessFromHost
     globalL1CacheSupported
     hostNativeAtomicSupported
     integrated
     isMultiGpuBoard
     kernelExecTimeoutEnabled
     l2CacheSize
     localL1CacheSupported
     major
     managedMemory
     maxGridSize
     maxSurface1D
     maxSurface1DLayered
     maxSurface2D
     maxSurface2DLayered
     maxSurface3D
     maxSurfaceCubemap
     maxSurfaceCubemapLayered
     maxTexture1D
     maxTexture1DLayered
     maxTexture1DLinear
     maxTexture1DMipmap
     maxTexture2D
     maxTexture2DGather
     maxTexture2DLayered
     maxTexture2DLinear
     maxTexture2DMipmap
     maxTexture3D
     maxTexture3DAlt
     maxTextureCubemap
     maxTextureCubemapLayered
     maxThreadsDim
     maxThreadsPerBlock
     maxThreadsPerMultiProcessor
     memPitch
     memoryBusWidth
     memoryClockRate
     minor
     multiGpuBoardGroupID
     multiProcessorCount
     name
     pageableMemoryAccess
     pageableMemoryAccessUsesHostPageTables
     pciBusID
     pciDeviceID
     pciDomainID
     regsPerBlock
     regsPerMultiprocessor
     sharedMemPerBlock
     sharedMemPerBlockOptin
     sharedMemPerMultiprocessor
     singleToDoublePrecisionPerfRatio
     streamPrioritiesSupported
     surfaceAlignment
     tccDriver
     textureAlignment
     texturePitchAlignment
     totalConstMem
     totalGlobalMem
     unifiedAddressing
     warpSize
-struct cudaEglFrame
-struct cudaEglPlaneDesc
 struct cudaExtent
     depth
     height
     width
 struct cudaFuncAttributes
     binaryVersion
     cacheModeCA
     constSizeBytes
     localSizeBytes
     maxDynamicSharedSizeBytes
     maxThreadsPerBlock
     numRegs
     preferredShmemCarveout
     ptxVersion
     sharedSizeBytes
 struct cudaIpcEventHandle_t
 struct cudaIpcMemHandle_t
 struct cudaLaunchParams
     args
     blockDim
     func
     gridDim
     sharedMem
     stream
 struct cudaMemcpy3DParms
     dstArray
     dstPos
     dstPtr
     extent
     kind
     srcArray
     srcPos
     srcPtr
 struct cudaMemcpy3DPeerParms
     dstArray
     dstDevice
     dstPos
     dstPtr
     extent
     srcArray
     srcDevice
     srcPos
     srcPtr
 struct cudaPitchedPtr
     pitch
     ptr
     xsize
     ysize
 struct cudaPointerAttributes
     device
     devicePointer
     hostPointer
-    isManaged
     memoryType
 struct cudaPos
     x
     y
     z
 struct cudaResourceDesc
     array
     desc
     devPtr
     height
     mipmap
     pitchInBytes
     resType
     sizeInBytes
     width
 struct cudaResourceViewDesc
     depth
     firstLayer
     firstMipmapLevel
     format
     height
     lastLayer
     lastMipmapLevel
     width
 struct cudaTextureDesc
     addressMode
     borderColor
     filterMode
     maxAnisotropy
     maxMipmapLevelClamp
     minMipmapLevelClamp
     mipmapFilterMode
     mipmapLevelBias
     normalizedCoords
     readMode
     sRGB
-struct surfaceReference
 struct textureReference
     addressMode
     channelDesc
     filterMode
     maxAnisotropy
     maxMipmapLevelClamp
     minMipmapLevelClamp
     mipmapFilterMode
     mipmapLevelBias
     normalized
     sRGB
 typedef const cudaArray * cudaArray_const_t;
 typedef cudaArray * cudaArray_t;
-typedef CUeglStreamConnection_st * cudaEglStreamConnection;
 typedef enum cudaError cudaError_t;
 typedef CUevent_st * cudaEvent_t;
 typedef cudaGraphicsResource * cudaGraphicsResource_t;
 typedef const cudaMipmappedArray * cudaMipmappedArray_const_t;
 typedef cudaMipmappedArray * cudaMipmappedArray_t;
 typedef enum cudaOutputMode cudaOutputMode_t;
 typedef CUstream_st * cudaStream_t;
 typedef unsigned long long cudaSurfaceObject_t;
 typedef unsigned long long cudaTextureObject_t;
 typedef CUuuid_st cudaUUID_t;

83% (356 of 430 declarations available)

5.1. Device Management#

 cudaError_t cudaChooseDevice(int* device, const cudaDeviceProp* prop);
 cudaError_t cudaDeviceGetAttribute(int* value, cudaDeviceAttr attr, int device);
 __device__ cudaError_t cudaDeviceGetAttribute(int* value, cudaDeviceAttr attr, int device);
 cudaError_t cudaDeviceGetByPCIBusId(int* device, const char* pciBusId);
 cudaError_t cudaDeviceGetCacheConfig(cudaFuncCache ** pCacheConfig);
 __device__ cudaError_t cudaDeviceGetCacheConfig(cudaFuncCache ** pCacheConfig);
 cudaError_t cudaDeviceGetLimit(size_t* pValue, cudaLimit limit);
 __device__ cudaError_t cudaDeviceGetLimit(size_t* pValue, cudaLimit limit);
-cudaError_t cudaDeviceGetNvSciSyncAttributes(void* nvSciSyncAttrList, int device, int flags);
 cudaError_t cudaDeviceGetP2PAttribute(int* value, cudaDeviceP2PAttr attr, int srcDevice, int dstDevice);
 cudaError_t cudaDeviceGetPCIBusId(char* pciBusId, int len, int device);
 cudaError_t cudaDeviceGetSharedMemConfig(cudaSharedMemConfig ** pConfig);
 __device__ cudaError_t cudaDeviceGetSharedMemConfig(cudaSharedMemConfig ** pConfig);
 cudaError_t cudaDeviceGetStreamPriorityRange(int* leastPriority, int* greatestPriority);
 cudaError_t cudaDeviceReset(void);
 cudaError_t cudaDeviceSetCacheConfig(cudaFuncCache cacheConfig);
 cudaError_t cudaDeviceSetLimit(cudaLimit limit, size_t value);
 cudaError_t cudaDeviceSetSharedMemConfig(cudaSharedMemConfig config);
 cudaError_t cudaDeviceSynchronize(void);
-__device__ cudaError_t cudaDeviceSynchronize(void);
 cudaError_t cudaGetDevice(int* device);
 __device__ cudaError_t cudaGetDevice(int* device);
 cudaError_t cudaGetDeviceCount(int* count);
 __device__ cudaError_t cudaGetDeviceCount(int* count);
 cudaError_t cudaGetDeviceFlags(unsigned int* flags);
 cudaError_t cudaGetDeviceProperties(cudaDeviceProp* prop, int device);
 cudaError_t cudaIpcCloseMemHandle(void* devPtr);
 cudaError_t cudaIpcGetEventHandle(cudaIpcEventHandle_t* handle, cudaEvent_t event);
 cudaError_t cudaIpcGetMemHandle(cudaIpcMemHandle_t* handle, void* devPtr);
 cudaError_t cudaIpcOpenEventHandle(cudaEvent_t* event, cudaIpcEventHandle_t handle);
 cudaError_t cudaIpcOpenMemHandle(void** devPtr, cudaIpcMemHandle_t handle, unsigned int flags);
 cudaError_t cudaSetDevice(int device);
 cudaError_t cudaSetDeviceFlags(unsigned int flags);
 cudaError_t cudaSetValidDevices(int* device_arr, int len);

5.2. Thread Management [DEPRECATED]#

 cudaError_t cudaThreadExit(void);
 cudaError_t cudaThreadGetCacheConfig(cudaFuncCache ** pCacheConfig);
 cudaError_t cudaThreadGetLimit(size_t* pValue, cudaLimit limit);
 cudaError_t cudaThreadSetCacheConfig(cudaFuncCache cacheConfig);
 cudaError_t cudaThreadSetLimit(cudaLimit limit, size_t value);
 cudaError_t cudaThreadSynchronize(void);

5.3. Error Handling#

 const char* cudaGetErrorName(cudaError_t error);
 __device__ const char* cudaGetErrorName(cudaError_t error);
 const char* cudaGetErrorString(cudaError_t error);
 __device__ const char* cudaGetErrorString(cudaError_t error);
 cudaError_t cudaGetLastError(void);
-__device__ cudaError_t cudaGetLastError(void);
 cudaError_t cudaPeekAtLastError(void);
-__device__ cudaError_t cudaPeekAtLastError(void);

5.4. Stream Management#

 typedef void(* cudaStreamCallback_t)(cudaStream_t stream, cudaError_t status, void* userData);
 cudaError_t cudaStreamAddCallback(cudaStream_t stream, cudaStreamCallback_t callback, void* userData, unsigned int flags);
 cudaError_t cudaStreamAttachMemAsync(cudaStream_t stream, void* devPtr, size_t length = 0, unsigned int flags = cudaMemAttachSingle);
 cudaError_t cudaStreamBeginCapture(cudaStream_t stream, cudaStreamCaptureMode mode);
 cudaError_t cudaStreamCreate(cudaStream_t* pStream);
 cudaError_t cudaStreamCreateWithFlags(cudaStream_t* pStream, unsigned int flags);
-__device__ cudaError_t cudaStreamCreateWithFlags(cudaStream_t* pStream, unsigned int flags);
 cudaError_t cudaStreamCreateWithPriority(cudaStream_t* pStream, unsigned int flags, int priority);
 cudaError_t cudaStreamDestroy(cudaStream_t stream);
-__device__ cudaError_t cudaStreamDestroy(cudaStream_t stream);
 cudaError_t cudaStreamEndCapture(cudaStream_t stream, cudaGraph_t* pGraph);
-cudaError_t cudaStreamGetCaptureInfo(cudaStream_t stream, cudaStreamCaptureStatus ** pCaptureStatus, unsigned long long* pId);
 cudaError_t cudaStreamGetFlags(cudaStream_t hStream, unsigned int* flags);
 cudaError_t cudaStreamGetPriority(cudaStream_t hStream, int* priority);
 cudaError_t cudaStreamIsCapturing(cudaStream_t stream, cudaStreamCaptureStatus ** pCaptureStatus);
 cudaError_t cudaStreamQuery(cudaStream_t stream);
 cudaError_t cudaStreamSynchronize(cudaStream_t stream);
- cudaError_t cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags);
-__device__ cudaError_t cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags);
 cudaError_t cudaThreadExchangeStreamCaptureMode(cudaStreamCaptureMode ** mode);

5.5. Event Management#

 cudaError_t cudaEventCreate(cudaEvent_t* event);
 cudaError_t cudaEventCreateWithFlags(cudaEvent_t* event, unsigned int flags);
-__device__ cudaError_t cudaEventCreateWithFlags(cudaEvent_t* event, unsigned int flags);
 cudaError_t cudaEventDestroy(cudaEvent_t event);
-__device__ cudaError_t cudaEventDestroy(cudaEvent_t event);
 cudaError_t cudaEventElapsedTime(float* ms, cudaEvent_t start, cudaEvent_t end);
 cudaError_t cudaEventQuery(cudaEvent_t event);
 cudaError_t cudaEventRecord(cudaEvent_t event, cudaStream_t stream = 0);
-__device__ cudaError_t cudaEventRecord(cudaEvent_t event, cudaStream_t stream = 0);
 cudaError_t cudaEventSynchronize(cudaEvent_t event);

5.6. External Resource Interoperability#

-cudaError_t cudaDestroyExternalMemory(cudaExternalMemory_t extMem);
-cudaError_t cudaDestroyExternalSemaphore(cudaExternalSemaphore_t extSem);
-cudaError_t cudaExternalMemoryGetMappedBuffer(void** devPtr, cudaExternalMemory_t extMem, const cudaExternalMemoryBufferDesc* bufferDesc);
-cudaError_t cudaExternalMemoryGetMappedMipmappedArray(cudaMipmappedArray_t* mipmap, cudaExternalMemory_t extMem, const cudaExternalMemoryMipmappedArrayDesc* mipmapDesc);
-cudaError_t cudaImportExternalMemory(cudaExternalMemory_t* extMem_out, const cudaExternalMemoryHandleDesc* memHandleDesc);
-cudaError_t cudaImportExternalSemaphore(cudaExternalSemaphore_t* extSem_out, const cudaExternalSemaphoreHandleDesc* semHandleDesc);
-cudaError_t cudaSignalExternalSemaphoresAsync(const cudaExternalSemaphore_t* extSemArray, const cudaExternalSemaphoreSignalParams* paramsArray, unsigned int numExtSems, cudaStream_t stream = 0);
-cudaError_t cudaWaitExternalSemaphoresAsync(const cudaExternalSemaphore_t* extSemArray, const cudaExternalSemaphoreWaitParams* paramsArray, unsigned int numExtSems, cudaStream_t stream = 0);

5.7. Execution Control#

 cudaError_t cudaFuncGetAttributes(cudaFuncAttributes* attr, const void* func);
-__device__ cudaError_t cudaFuncGetAttributes(cudaFuncAttributes* attr, const void* func);
 cudaError_t cudaFuncSetAttribute(const void* func, cudaFuncAttribute attr, int value);
 cudaError_t cudaFuncSetCacheConfig(const void* func, cudaFuncCache cacheConfig);
 cudaError_t cudaFuncSetSharedMemConfig(const void* func, cudaSharedMemConfig config);
 __device__ void* cudaGetParameterBuffer(size_t alignment, size_t size);
-__device__ void* cudaGetParameterBufferV2(void* func, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize);
 cudaError_t cudaLaunchCooperativeKernel(const void* func, dim3 gridDim, dim3 blockDim, void** args, size_t sharedMem, cudaStream_t stream);
-cudaError_t cudaLaunchCooperativeKernelMultiDevice(cudaLaunchParams* launchParamsList, unsigned int numDevices, unsigned int flags = 0);
 cudaError_t cudaLaunchHostFunc(cudaStream_t stream, cudaHostFn_t fn, void* userData);
 cudaError_t cudaLaunchKernel(const void* func, dim3 gridDim, dim3 blockDim, void** args, size_t sharedMem, cudaStream_t stream);
 cudaError_t cudaSetDoubleForDevice(double* d);
 cudaError_t cudaSetDoubleForHost(double* d);

5.8. Occupancy#

 cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int* numBlocks, const void* func, int blockSize, size_t dynamicSMemSize);
-__device__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int* numBlocks, const void* func, int blockSize, size_t dynamicSMemSize);
 cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int* numBlocks, const void* func, int blockSize, size_t dynamicSMemSize, unsigned int flags);

5.9. Memory Management#

 cudaError_t cudaArrayGetInfo(cudaChannelFormatDesc* desc, cudaExtent* extent, unsigned int* flags, cudaArray_t array);
 cudaError_t cudaFree(void* devPtr);
 __device__ cudaError_t cudaFree(void* devPtr);
 cudaError_t cudaFreeArray(cudaArray_t array);
 cudaError_t cudaFreeHost(void* ptr);
 cudaError_t cudaFreeMipmappedArray(cudaMipmappedArray_t mipmappedArray);
-cudaError_t cudaGetMipmappedArrayLevel(cudaArray_t* levelArray, cudaMipmappedArray_const_t mipmappedArray, unsigned int level);
 cudaError_t cudaGetSymbolAddress(void** devPtr, const void* symbol);
 cudaError_t cudaGetSymbolSize(size_t* size, const void* symbol);
 cudaError_t cudaHostAlloc(void** pHost, size_t size, unsigned int flags);
 cudaError_t cudaHostGetDevicePointer(void** pDevice, void* pHost, unsigned int flags);
 cudaError_t cudaHostGetFlags(unsigned int* pFlags, void* pHost);
 cudaError_t cudaHostRegister(void* ptr, size_t size, unsigned int flags);
 cudaError_t cudaHostUnregister(void* ptr);
 cudaError_t cudaMalloc(void** devPtr, size_t size);
 __device__ cudaError_t cudaMalloc(void** devPtr, size_t size);
 cudaError_t cudaMalloc3D(cudaPitchedPtr* pitchedDevPtr, cudaExtent extent);
 cudaError_t cudaMalloc3DArray(cudaArray_t* array, const cudaChannelFormatDesc* desc, cudaExtent extent, unsigned int flags = 0);
 cudaError_t cudaMallocArray(cudaArray_t* array, const cudaChannelFormatDesc* desc, size_t width, size_t height = 0, unsigned int flags = 0);
 cudaError_t cudaMallocHost(void** ptr, size_t size);
 cudaError_t cudaMallocManaged(void** devPtr, size_t size, unsigned int flags = cudaMemAttachGlobal);
 cudaError_t cudaMallocMipmappedArray(cudaMipmappedArray_t* mipmappedArray, const cudaChannelFormatDesc* desc, cudaExtent extent, unsigned int numLevels, unsigned int flags = 0);
 cudaError_t cudaMallocPitch(void** devPtr, size_t* pitch, size_t width, size_t height);
 cudaError_t cudaMemAdvise(const void* devPtr, size_t count, cudaMemoryAdvise advice, int device);
 cudaError_t cudaMemGetInfo(size_t* free, size_t* total);
 cudaError_t cudaMemPrefetchAsync(const void* devPtr, size_t count, int dstDevice, cudaStream_t stream = 0);
 cudaError_t cudaMemRangeGetAttribute(void* data, size_t dataSize, cudaMemRangeAttribute attribute, const void* devPtr, size_t count);
-cudaError_t cudaMemRangeGetAttributes(void** data, size_t* dataSizes, cudaMemRangeAttribute ** attributes, size_t numAttributes, const void* devPtr, size_t count);
 cudaError_t cudaMemcpy(void* dst, const void* src, size_t count, cudaMemcpyKind kind);
 cudaError_t cudaMemcpy2D(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind);
-cudaError_t cudaMemcpy2DArrayToArray(cudaArray_t dst, size_t wOffsetDst, size_t hOffsetDst, cudaArray_const_t src, size_t wOffsetSrc, size_t hOffsetSrc, size_t width, size_t height, cudaMemcpyKind kind = cudaMemcpyDeviceToDevice);
 cudaError_t cudaMemcpy2DAsync(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemcpy2DAsync(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpy2DFromArray(void* dst, size_t dpitch, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, cudaMemcpyKind kind);
 cudaError_t cudaMemcpy2DFromArrayAsync(void* dst, size_t dpitch, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpy2DToArray(cudaArray_t dst, size_t wOffset, size_t hOffset, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind);
 cudaError_t cudaMemcpy2DToArrayAsync(cudaArray_t dst, size_t wOffset, size_t hOffset, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpy3D(const cudaMemcpy3DParms* p);
 cudaError_t cudaMemcpy3DAsync(const cudaMemcpy3DParms* p, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemcpy3DAsync(const cudaMemcpy3DParms* p, cudaStream_t stream = 0);
 cudaError_t cudaMemcpy3DPeer(const cudaMemcpy3DPeerParms* p);
 cudaError_t cudaMemcpy3DPeerAsync(const cudaMemcpy3DPeerParms* p, cudaStream_t stream = 0);
 cudaError_t cudaMemcpyAsync(void* dst, const void* src, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemcpyAsync(void* dst, const void* src, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpyFromSymbol(void* dst, const void* symbol, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyDeviceToHost);
 cudaError_t cudaMemcpyFromSymbolAsync(void* dst, const void* symbol, size_t count, size_t offset, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpyPeer(void* dst, int dstDevice, const void* src, int srcDevice, size_t count);
 cudaError_t cudaMemcpyPeerAsync(void* dst, int dstDevice, const void* src, int srcDevice, size_t count, cudaStream_t stream = 0);
 cudaError_t cudaMemcpyToSymbol(const void* symbol, const void* src, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyHostToDevice);
 cudaError_t cudaMemcpyToSymbolAsync(const void* symbol, const void* src, size_t count, size_t offset, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemset(void* devPtr, int value, size_t count);
 cudaError_t cudaMemset2D(void* devPtr, size_t pitch, int value, size_t width, size_t height);
 cudaError_t cudaMemset2DAsync(void* devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemset2DAsync(void* devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream = 0);
 cudaError_t cudaMemset3D(cudaPitchedPtr pitchedDevPtr, int value, cudaExtent extent);
 cudaError_t cudaMemset3DAsync(cudaPitchedPtr pitchedDevPtr, int value, cudaExtent extent, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemset3DAsync(cudaPitchedPtr pitchedDevPtr, int value, cudaExtent extent, cudaStream_t stream = 0);
 cudaError_t cudaMemsetAsync(void* devPtr, int value, size_t count, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemsetAsync(void* devPtr, int value, size_t count, cudaStream_t stream = 0);
 cudaExtent make_cudaExtent(size_t w, size_t h, size_t d);
 cudaPitchedPtr make_cudaPitchedPtr(void* d, size_t p, size_t xsz, size_t ysz);
 cudaPos make_cudaPos(size_t x, size_t y, size_t z);

5.10. Memory Management [DEPRECATED]#

-cudaError_t cudaMemcpyArrayToArray(cudaArray_t dst, size_t wOffsetDst, size_t hOffsetDst, cudaArray_const_t src, size_t wOffsetSrc, size_t hOffsetSrc, size_t count, cudaMemcpyKind kind = cudaMemcpyDeviceToDevice);
-cudaError_t cudaMemcpyFromArray(void* dst, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t count, cudaMemcpyKind kind);
-cudaError_t cudaMemcpyFromArrayAsync(void* dst, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpyToArray(cudaArray_t dst, size_t wOffset, size_t hOffset, const void* src, size_t count, cudaMemcpyKind kind);
 cudaError_t cudaMemcpyToArrayAsync(cudaArray_t dst, size_t wOffset, size_t hOffset, const void* src, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);

5.11. Unified Addressing#

 cudaError_t cudaPointerGetAttributes(cudaPointerAttributes* attributes, const void* ptr);

5.12. Peer Device Memory Access#

 cudaError_t cudaDeviceCanAccessPeer(int* canAccessPeer, int device, int peerDevice);
 cudaError_t cudaDeviceDisablePeerAccess(int peerDevice);
 cudaError_t cudaDeviceEnablePeerAccess(int peerDevice, unsigned int flags);

5.13. OpenGL Interoperability#

 enum cudaGLDeviceList
     cudaGLDeviceListAll = 1
     cudaGLDeviceListCurrentFrame = 2
     cudaGLDeviceListNextFrame = 3
 cudaError_t cudaGLGetDevices(unsigned int* pCudaDeviceCount, int* pCudaDevices, unsigned int cudaDeviceCount, cudaGLDeviceList deviceList);
 cudaError_t cudaGraphicsGLRegisterBuffer(cudaGraphicsResource** resource, GLuint buffer, unsigned int flags);
 cudaError_t cudaGraphicsGLRegisterImage(cudaGraphicsResource** resource, GLuint image, GLenum target, unsigned int flags);
-cudaError_t cudaWGLGetDevice(int* device, HGPUNV hGpu);

5.14. OpenGL Interoperability [DEPRECATED]#

 enum cudaGLMapFlags
     cudaGLMapFlagsNone = 0
     cudaGLMapFlagsReadOnly = 1
     cudaGLMapFlagsWriteDiscard = 2
 cudaError_t cudaGLMapBufferObject(void** devPtr, GLuint bufObj);
 cudaError_t cudaGLMapBufferObjectAsync(void** devPtr, GLuint bufObj, cudaStream_t stream);
 cudaError_t cudaGLRegisterBufferObject(GLuint bufObj);
 cudaError_t cudaGLSetBufferObjectMapFlags(GLuint bufObj, unsigned int flags);
-cudaError_t cudaGLSetGLDevice(int device);
 cudaError_t cudaGLUnmapBufferObject(GLuint bufObj);
 cudaError_t cudaGLUnmapBufferObjectAsync(GLuint bufObj, cudaStream_t stream);
 cudaError_t cudaGLUnregisterBufferObject(GLuint bufObj);

5.15. Direct3D 9 Interoperability#

-Windows APIs are currently unsupported

5.16. Direct3D 9 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

5.17. Direct3D 10 Interoperability#

-Windows APIs are currently unsupported

5.18. Direct3D 10 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

5.19. Direct3D 11 Interoperability#

-Windows APIs are currently unsupported

5.20. Direct3D 11 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

5.21. VDPAU Interoperability#

-VDPAU is currently unsupported

5.22. EGL Interoperability#

-EGL is currently unsupported

5.23. Graphics Interoperability#

 cudaError_t cudaGraphicsMapResources(int count, cudaGraphicsResource_t* resources, cudaStream_t stream = 0);
-cudaError_t cudaGraphicsResourceGetMappedMipmappedArray(cudaMipmappedArray_t* mipmappedArray, cudaGraphicsResource_t resource);
 cudaError_t cudaGraphicsResourceGetMappedPointer(void** devPtr, size_t* size, cudaGraphicsResource_t resource);
 cudaError_t cudaGraphicsResourceSetMapFlags(cudaGraphicsResource_t resource, unsigned int flags);
 cudaError_t cudaGraphicsSubResourceGetMappedArray(cudaArray_t* array, cudaGraphicsResource_t resource, unsigned int arrayIndex, unsigned int mipLevel);
 cudaError_t cudaGraphicsUnmapResources(int count, cudaGraphicsResource_t* resources, cudaStream_t stream = 0);
 cudaError_t cudaGraphicsUnregisterResource(cudaGraphicsResource_t resource);

5.24. Texture Reference Management [DEPRECATED]#

-cudaError_t cudaBindTexture(size_t* offset, const textureReference* texref, const void* devPtr, const cudaChannelFormatDesc* desc, size_t size = UINT_MAX);
 cudaError_t cudaBindTexture2D(size_t* offset, const textureReference* texref, const void* devPtr, const cudaChannelFormatDesc* desc, size_t width, size_t height, size_t pitch);
 cudaError_t cudaBindTextureToArray(const textureReference* texref, cudaArray_const_t array, const cudaChannelFormatDesc* desc);
 cudaError_t cudaBindTextureToMipmappedArray(const textureReference* texref, cudaMipmappedArray_const_t mipmappedArray, const cudaChannelFormatDesc* desc);
 cudaError_t cudaGetTextureAlignmentOffset(size_t* offset, const textureReference* texref);
 cudaError_t cudaGetTextureReference(const textureReference** texref, const void* symbol);
 cudaError_t cudaUnbindTexture(const textureReference* texref);

5.25. Surface Reference Management [DEPRECATED]#

-cudaError_t cudaBindSurfaceToArray(const surfaceReference* surfref, cudaArray_const_t array, const cudaChannelFormatDesc* desc);
-cudaError_t cudaGetSurfaceReference(const surfaceReference** surfref, const void* symbol);

5.26. Texture Object Management#

 cudaChannelFormatDesc cudaCreateChannelDesc(int x, int y, int z, int w, cudaChannelFormatKind f);
 cudaError_t cudaCreateTextureObject(cudaTextureObject_t* pTexObject, const cudaResourceDesc* pResDesc, const cudaTextureDesc* pTexDesc, const cudaResourceViewDesc* pResViewDesc);
 cudaError_t cudaDestroyTextureObject(cudaTextureObject_t texObject);
 cudaError_t cudaGetChannelDesc(cudaChannelFormatDesc* desc, cudaArray_const_t array);
 cudaError_t cudaGetTextureObjectResourceDesc(cudaResourceDesc* pResDesc, cudaTextureObject_t texObject);
 cudaError_t cudaGetTextureObjectResourceViewDesc(cudaResourceViewDesc* pResViewDesc, cudaTextureObject_t texObject);
 cudaError_t cudaGetTextureObjectTextureDesc(cudaTextureDesc* pTexDesc, cudaTextureObject_t texObject);

5.27. Surface Object Management#

 cudaError_t cudaCreateSurfaceObject(cudaSurfaceObject_t* pSurfObject, const cudaResourceDesc* pResDesc);
 cudaError_t cudaDestroySurfaceObject(cudaSurfaceObject_t surfObject);
 cudaError_t cudaGetSurfaceObjectResourceDesc(cudaResourceDesc* pResDesc, cudaSurfaceObject_t surfObject);

5.28. Version Management#

 cudaError_t cudaDriverGetVersion(int* driverVersion);
 cudaError_t cudaRuntimeGetVersion(int* runtimeVersion);
 __device__ cudaError_t cudaRuntimeGetVersion(int* runtimeVersion);

5.29. Graph Management#

 cudaError_t cudaGraphAddChildGraphNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, cudaGraph_t childGraph);
 cudaError_t cudaGraphAddDependencies(cudaGraph_t graph, const cudaGraphNode_t* from, const cudaGraphNode_t* to, size_t numDependencies);
 cudaError_t cudaGraphAddEmptyNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies);
 cudaError_t cudaGraphAddHostNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const cudaHostNodeParams* pNodeParams);
 cudaError_t cudaGraphAddKernelNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const cudaKernelNodeParams* pNodeParams);
 cudaError_t cudaGraphAddMemcpyNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const cudaMemcpy3DParms* pCopyParams);
 cudaError_t cudaGraphAddMemsetNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const cudaMemsetParams* pMemsetParams);
 cudaError_t cudaGraphChildGraphNodeGetGraph(cudaGraphNode_t node, cudaGraph_t* pGraph);
 cudaError_t cudaGraphClone(cudaGraph_t* pGraphClone, cudaGraph_t originalGraph);
 cudaError_t cudaGraphCreate(cudaGraph_t* pGraph, unsigned int flags);
 cudaError_t cudaGraphDestroy(cudaGraph_t graph);
 cudaError_t cudaGraphDestroyNode(cudaGraphNode_t node);
 cudaError_t cudaGraphExecDestroy(cudaGraphExec_t graphExec);
 cudaError_t cudaGraphExecHostNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const cudaHostNodeParams* pNodeParams);
 cudaError_t cudaGraphExecKernelNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const cudaKernelNodeParams* pNodeParams);
 cudaError_t cudaGraphExecMemcpyNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const cudaMemcpy3DParms* pNodeParams);
 cudaError_t cudaGraphExecMemsetNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const cudaMemsetParams* pNodeParams);
-cudaError_t cudaGraphExecUpdate(cudaGraphExec_t hGraphExec, cudaGraph_t hGraph, cudaGraphNode_t* hErrorNode_out, cudaGraphExecUpdateResult ** updateResult_out);
 cudaError_t cudaGraphGetEdges(cudaGraph_t graph, cudaGraphNode_t* from, cudaGraphNode_t* to, size_t* numEdges);
 cudaError_t cudaGraphGetNodes(cudaGraph_t graph, cudaGraphNode_t* nodes, size_t* numNodes);
 cudaError_t cudaGraphGetRootNodes(cudaGraph_t graph, cudaGraphNode_t* pRootNodes, size_t* pNumRootNodes);
 cudaError_t cudaGraphHostNodeGetParams(cudaGraphNode_t node, cudaHostNodeParams* pNodeParams);
 cudaError_t cudaGraphHostNodeSetParams(cudaGraphNode_t node, const cudaHostNodeParams* pNodeParams);
 cudaError_t cudaGraphInstantiate(cudaGraphExec_t* pGraphExec, cudaGraph_t graph, cudaGraphNode_t* pErrorNode, char* pLogBuffer, size_t bufferSize);
 cudaError_t cudaGraphKernelNodeGetParams(cudaGraphNode_t node, cudaKernelNodeParams* pNodeParams);
 cudaError_t cudaGraphKernelNodeSetParams(cudaGraphNode_t node, const cudaKernelNodeParams* pNodeParams);
 cudaError_t cudaGraphLaunch(cudaGraphExec_t graphExec, cudaStream_t stream);
 cudaError_t cudaGraphMemcpyNodeGetParams(cudaGraphNode_t node, cudaMemcpy3DParms* pNodeParams);
 cudaError_t cudaGraphMemcpyNodeSetParams(cudaGraphNode_t node, const cudaMemcpy3DParms* pNodeParams);
 cudaError_t cudaGraphMemsetNodeGetParams(cudaGraphNode_t node, cudaMemsetParams* pNodeParams);
 cudaError_t cudaGraphMemsetNodeSetParams(cudaGraphNode_t node, const cudaMemsetParams* pNodeParams);
 cudaError_t cudaGraphNodeFindInClone(cudaGraphNode_t* pNode, cudaGraphNode_t originalNode, cudaGraph_t clonedGraph);
 cudaError_t cudaGraphNodeGetDependencies(cudaGraphNode_t node, cudaGraphNode_t* pDependencies, size_t* pNumDependencies);
 cudaError_t cudaGraphNodeGetDependentNodes(cudaGraphNode_t node, cudaGraphNode_t* pDependentNodes, size_t* pNumDependentNodes);
 cudaError_t cudaGraphNodeGetType(cudaGraphNode_t node, cudaGraphNodeType ** pType);
 cudaError_t cudaGraphRemoveDependencies(cudaGraph_t graph, const cudaGraphNode_t* from, const cudaGraphNode_t* to, size_t numDependencies);

5.30. C++ API Routines#

-class __cudaOccupancyB2DHelper
-template < class T, int dim >__host__ cudaError_t cudaBindSurfaceToArray(const surface < T, dim > & surf, cudaArray_const_t array);
-template < class T, int dim >__host__ cudaError_t cudaBindSurfaceToArray(const surface < T, dim > & surf, cudaArray_const_t array, const cudaChannelFormatDesc& desc);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaBindTexture(size_t* offset, const texture < T, dim, readMode > & tex, const void* devPtr, size_t size = UINT_MAX);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaBindTexture(size_t* offset, const texture < T, dim, readMode > & tex, const void* devPtr, const cudaChannelFormatDesc& desc, size_t size = UINT_MAX);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaBindTexture2D(size_t* offset, const texture < T, dim, readMode > & tex, const void* devPtr, size_t width, size_t height, size_t pitch);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaBindTexture2D(size_t* offset, const texture < T, dim, readMode > & tex, const void* devPtr, const cudaChannelFormatDesc& desc, size_t width, size_t height, size_t pitch);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaBindTextureToArray(const texture < T, dim, readMode > & tex, cudaArray_const_t array);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaBindTextureToArray(const texture < T, dim, readMode > & tex, cudaArray_const_t array, const cudaChannelFormatDesc& desc);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaBindTextureToMipmappedArray(const texture < T, dim, readMode > & tex, cudaMipmappedArray_const_t mipmappedArray);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaBindTextureToMipmappedArray(const texture < T, dim, readMode > & tex, cudaMipmappedArray_const_t mipmappedArray, const cudaChannelFormatDesc& desc);
 template < class T >__host__ cudaChannelFormatDesc cudaCreateChannelDesc(void);
 cudaError_t cudaEventCreate(cudaEvent_t* event, unsigned int flags);
 template < class T >__host__ cudaError_t cudaFuncGetAttributes(cudaFuncAttributes* attr, T* entry);
 template < class T >__host__ cudaError_t cudaFuncSetAttribute(T* entry, cudaFuncAttribute attr, int value);
 template < class T >__host__ cudaError_t cudaFuncSetCacheConfig(T* func, cudaFuncCache cacheConfig);
 template < class T >__host__ cudaError_t cudaGetSymbolAddress(void** devPtr, const T& symbol);
 template < class T >__host__ cudaError_t cudaGetSymbolSize(size_t* size, const T& symbol);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaGetTextureAlignmentOffset(size_t* offset, const texture < T, dim, readMode > & tex);
 template < class T >__host__ cudaError_t cudaLaunchCooperativeKernel(const T* func, dim3 gridDim, dim3 blockDim, void** args, size_t sharedMem = 0, cudaStream_t stream = 0);
 template < class T >__host__ cudaError_t cudaLaunchKernel(const T* func, dim3 gridDim, dim3 blockDim, void** args, size_t sharedMem = 0, cudaStream_t stream = 0);
 cudaError_t cudaMallocHost(void** ptr, size_t size, unsigned int flags);
 template < class T >__host__ cudaError_t cudaMallocManaged(T** devPtr, size_t size, unsigned int flags = cudaMemAttachGlobal);
 template < class T >__host__ cudaError_t cudaMemcpyFromSymbol(void* dst, const T& symbol, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyDeviceToHost);
 template < class T >__host__ cudaError_t cudaMemcpyFromSymbolAsync(void* dst, const T& symbol, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyDeviceToHost, cudaStream_t stream = 0);
 template < class T >__host__ cudaError_t cudaMemcpyToSymbol(const T& symbol, const void* src, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyHostToDevice);
 template < class T >__host__ cudaError_t cudaMemcpyToSymbolAsync(const T& symbol, const void* src, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyHostToDevice, cudaStream_t stream = 0);
 template < class T >__host__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int* numBlocks, T func, int blockSize, size_t dynamicSMemSize);
 template < class T >__host__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int* numBlocks, T func, int blockSize, size_t dynamicSMemSize, unsigned int flags);
 template < class T >__host__ cudaError_t cudaOccupancyMaxPotentialBlockSize(int* minGridSize, int* blockSize, T func, size_t dynamicSMemSize = 0, int blockSizeLimit = 0);
 template < typename UnaryFunction, class T >__host__ cudaError_t cudaOccupancyMaxPotentialBlockSizeVariableSMem(int* minGridSize, int* blockSize, T func, UnaryFunction blockSizeToDynamicSMemSize, int blockSizeLimit = 0);
 template < typename UnaryFunction, class T >__host__ cudaError_t cudaOccupancyMaxPotentialBlockSizeVariableSMemWithFlags(int* minGridSize, int* blockSize, T func, UnaryFunction blockSizeToDynamicSMemSize, int blockSizeLimit = 0, unsigned int flags = 0);
 template < class T >__host__ cudaError_t cudaOccupancyMaxPotentialBlockSizeWithFlags(int* minGridSize, int* blockSize, T func, size_t dynamicSMemSize = 0, int blockSizeLimit = 0, unsigned int flags = 0);
 template < class T >__host__ cudaError_t cudaStreamAttachMemAsync(cudaStream_t stream, T* devPtr, size_t length = 0, unsigned int flags = cudaMemAttachSingle);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaUnbindTexture(const texture < T, dim, readMode > & tex);

5.31. Interactions with the CUDA Driver API#


5.32. Profiler Control#

 cudaError_t cudaProfilerInitialize(const char* configFile, const char* outputFile, cudaOutputMode_t outputMode);
 cudaError_t cudaProfilerStart(void);
 cudaError_t cudaProfilerStop(void);

5.33. Data types used by CUDA Runtime#

-#define CUDA_EGL_MAX_PLANES
 #define CUDA_IPC_HANDLE_SIZE
 #define cudaArrayColorAttachment
 #define cudaArrayCubemap
 #define cudaArrayDefault
 #define cudaArrayLayered
 #define cudaArraySurfaceLoadStore
 #define cudaArrayTextureGather
 #define cudaCooperativeLaunchMultiDeviceNoPostSync
 #define cudaCooperativeLaunchMultiDeviceNoPreSync
 #define cudaCpuDeviceId
 #define cudaDeviceBlockingSync
 #define cudaDeviceLmemResizeToMax
 #define cudaDeviceMapHost
 #define cudaDeviceMask
 #define cudaDevicePropDontCare
 #define cudaDeviceScheduleAuto
 #define cudaDeviceScheduleBlockingSync
 #define cudaDeviceScheduleMask
 #define cudaDeviceScheduleSpin
 #define cudaDeviceScheduleYield
 #define cudaEventBlockingSync
 #define cudaEventDefault
 #define cudaEventDisableTiming
 #define cudaEventInterprocess
-#define cudaExternalMemoryDedicated
-#define cudaExternalSemaphoreSignalSkipNvSciBufMemSync
-#define cudaExternalSemaphoreWaitSkipNvSciBufMemSync
 #define cudaHostAllocDefault
 #define cudaHostAllocMapped
 #define cudaHostAllocPortable
 #define cudaHostAllocWriteCombined
 #define cudaHostRegisterDefault
 #define cudaHostRegisterIoMemory
 #define cudaHostRegisterMapped
 #define cudaHostRegisterPortable
 #define cudaInvalidDeviceId
 #define cudaIpcMemLazyEnablePeerAccess
 #define cudaMemAttachGlobal
 #define cudaMemAttachHost
 #define cudaMemAttachSingle
-#define cudaNvSciSyncAttrSignal
-#define cudaNvSciSyncAttrWait
 #define cudaOccupancyDefault
 #define cudaOccupancyDisableCachingOverride
 #define cudaPeerAccessDefault
 #define cudaStreamDefault
 #define cudaStreamLegacy
 #define cudaStreamNonBlocking
 #define cudaStreamPerThread
-enum cudaCGScope
 enum cudaChannelFormatKind
     cudaChannelFormatKindSigned = 0
     cudaChannelFormatKindUnsigned = 1
     cudaChannelFormatKindFloat = 2
     cudaChannelFormatKindNone = 3
 enum cudaComputeMode
     cudaComputeModeDefault = 0
     cudaComputeModeExclusive = 1
     cudaComputeModeProhibited = 2
     cudaComputeModeExclusiveProcess = 3
 enum cudaDeviceAttr
     cudaDevAttrMaxThreadsPerBlock = 1
     cudaDevAttrMaxBlockDimX = 2
     cudaDevAttrMaxBlockDimY = 3
     cudaDevAttrMaxBlockDimZ = 4
     cudaDevAttrMaxGridDimX = 5
     cudaDevAttrMaxGridDimY = 6
     cudaDevAttrMaxGridDimZ = 7
     cudaDevAttrMaxSharedMemoryPerBlock = 8
     cudaDevAttrTotalConstantMemory = 9
     cudaDevAttrWarpSize = 10
     cudaDevAttrMaxPitch = 11
     cudaDevAttrMaxRegistersPerBlock = 12
     cudaDevAttrClockRate = 13
     cudaDevAttrTextureAlignment = 14
     cudaDevAttrGpuOverlap = 15
     cudaDevAttrMultiProcessorCount = 16
     cudaDevAttrKernelExecTimeout = 17
     cudaDevAttrIntegrated = 18
     cudaDevAttrCanMapHostMemory = 19
     cudaDevAttrComputeMode = 20
     cudaDevAttrMaxTexture1DWidth = 21
     cudaDevAttrMaxTexture2DWidth = 22
     cudaDevAttrMaxTexture2DHeight = 23
     cudaDevAttrMaxTexture3DWidth = 24
     cudaDevAttrMaxTexture3DHeight = 25
     cudaDevAttrMaxTexture3DDepth = 26
     cudaDevAttrMaxTexture2DLayeredWidth = 27
     cudaDevAttrMaxTexture2DLayeredHeight = 28
     cudaDevAttrMaxTexture2DLayeredLayers = 29
     cudaDevAttrSurfaceAlignment = 30
     cudaDevAttrConcurrentKernels = 31
     cudaDevAttrEccEnabled = 32
     cudaDevAttrPciBusId = 33
     cudaDevAttrPciDeviceId = 34
     cudaDevAttrTccDriver = 35
     cudaDevAttrMemoryClockRate = 36
     cudaDevAttrGlobalMemoryBusWidth = 37
     cudaDevAttrL2CacheSize = 38
     cudaDevAttrMaxThreadsPerMultiProcessor = 39
     cudaDevAttrAsyncEngineCount = 40
     cudaDevAttrUnifiedAddressing = 41
     cudaDevAttrMaxTexture1DLayeredWidth = 42
     cudaDevAttrMaxTexture1DLayeredLayers = 43
     cudaDevAttrMaxTexture2DGatherWidth = 45
     cudaDevAttrMaxTexture2DGatherHeight = 46
     cudaDevAttrMaxTexture3DWidthAlt = 47
     cudaDevAttrMaxTexture3DHeightAlt = 48
     cudaDevAttrMaxTexture3DDepthAlt = 49
     cudaDevAttrPciDomainId = 50
     cudaDevAttrTexturePitchAlignment = 51
     cudaDevAttrMaxTextureCubemapWidth = 52
     cudaDevAttrMaxTextureCubemapLayeredWidth = 53
     cudaDevAttrMaxTextureCubemapLayeredLayers = 54
     cudaDevAttrMaxSurface1DWidth = 55
     cudaDevAttrMaxSurface2DWidth = 56
     cudaDevAttrMaxSurface2DHeight = 57
     cudaDevAttrMaxSurface3DWidth = 58
     cudaDevAttrMaxSurface3DHeight = 59
     cudaDevAttrMaxSurface3DDepth = 60
     cudaDevAttrMaxSurface1DLayeredWidth = 61
     cudaDevAttrMaxSurface1DLayeredLayers = 62
     cudaDevAttrMaxSurface2DLayeredWidth = 63
     cudaDevAttrMaxSurface2DLayeredHeight = 64
     cudaDevAttrMaxSurface2DLayeredLayers = 65
     cudaDevAttrMaxSurfaceCubemapWidth = 66
     cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67
     cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68
     cudaDevAttrMaxTexture1DLinearWidth = 69
     cudaDevAttrMaxTexture2DLinearWidth = 70
     cudaDevAttrMaxTexture2DLinearHeight = 71
     cudaDevAttrMaxTexture2DLinearPitch = 72
     cudaDevAttrMaxTexture2DMipmappedWidth = 73
     cudaDevAttrMaxTexture2DMipmappedHeight = 74
     cudaDevAttrComputeCapabilityMajor = 75
     cudaDevAttrComputeCapabilityMinor = 76
     cudaDevAttrMaxTexture1DMipmappedWidth = 77
     cudaDevAttrStreamPrioritiesSupported = 78
     cudaDevAttrGlobalL1CacheSupported = 79
     cudaDevAttrLocalL1CacheSupported = 80
     cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81
     cudaDevAttrMaxRegistersPerMultiprocessor = 82
     cudaDevAttrManagedMemory = 83
     cudaDevAttrIsMultiGpuBoard = 84
     cudaDevAttrMultiGpuBoardGroupID = 85
     cudaDevAttrHostNativeAtomicSupported = 86
     cudaDevAttrSingleToDoublePrecisionPerfRatio = 87
     cudaDevAttrPageableMemoryAccess = 88
     cudaDevAttrConcurrentManagedAccess = 89
     cudaDevAttrComputePreemptionSupported = 90
     cudaDevAttrCanUseHostPointerForRegisteredMem = 91
     cudaDevAttrReserved92 = 92
     cudaDevAttrReserved93 = 93
     cudaDevAttrReserved94 = 94
     cudaDevAttrCooperativeLaunch = 95
     cudaDevAttrCooperativeMultiDeviceLaunch = 96
     cudaDevAttrMaxSharedMemoryPerBlockOptin = 97
     cudaDevAttrCanFlushRemoteWrites = 98
     cudaDevAttrHostRegisterSupported = 99
     cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100
     cudaDevAttrDirectManagedMemAccessFromHost = 101
 enum cudaDeviceP2PAttr
     cudaDevP2PAttrPerformanceRank = 1
     cudaDevP2PAttrAccessSupported = 2
     cudaDevP2PAttrNativeAtomicSupported = 3
     cudaDevP2PAttrCudaArrayAccessSupported = 4
-enum cudaEglColorFormat
-enum cudaEglFrameType
-enum cudaEglResourceLocationFlags
 enum cudaError
     cudaSuccess = 0
     cudaErrorInvalidValue = 1
     cudaErrorMemoryAllocation = 2
     cudaErrorInitializationError = 3
     cudaErrorCudartUnloading = 4
     cudaErrorProfilerDisabled = 5
     cudaErrorProfilerNotInitialized = 6
     cudaErrorProfilerAlreadyStarted = 7
     cudaErrorProfilerAlreadyStopped = 8
     cudaErrorInvalidConfiguration = 9
     cudaErrorInvalidPitchValue = 12
     cudaErrorInvalidSymbol = 13
     cudaErrorInvalidHostPointer = 16
     cudaErrorInvalidDevicePointer = 17
     cudaErrorInvalidTexture = 18
     cudaErrorInvalidTextureBinding = 19
     cudaErrorInvalidChannelDescriptor = 20
     cudaErrorInvalidMemcpyDirection = 21
     cudaErrorAddressOfConstant = 22
     cudaErrorTextureFetchFailed = 23
     cudaErrorTextureNotBound = 24
     cudaErrorSynchronizationError = 25
     cudaErrorInvalidFilterSetting = 26
     cudaErrorInvalidNormSetting = 27
     cudaErrorMixedDeviceExecution = 28
     cudaErrorNotYetImplemented = 31
     cudaErrorMemoryValueTooLarge = 32
     cudaErrorInsufficientDriver = 35
     cudaErrorInvalidSurface = 37
     cudaErrorDuplicateVariableName = 43
     cudaErrorDuplicateTextureName = 44
     cudaErrorDuplicateSurfaceName = 45
     cudaErrorDevicesUnavailable = 46
     cudaErrorIncompatibleDriverContext = 49
     cudaErrorMissingConfiguration = 52
     cudaErrorPriorLaunchFailure = 53
     cudaErrorLaunchMaxDepthExceeded = 65
     cudaErrorLaunchFileScopedTex = 66
     cudaErrorLaunchFileScopedSurf = 67
     cudaErrorSyncDepthExceeded = 68
     cudaErrorLaunchPendingCountExceeded = 69
     cudaErrorInvalidDeviceFunction = 98
     cudaErrorNoDevice = 100
     cudaErrorInvalidDevice = 101
     cudaErrorStartupFailure = 127
     cudaErrorInvalidKernelImage = 200
     cudaErrorDeviceUninitialized = 201
     cudaErrorMapBufferObjectFailed = 205
     cudaErrorUnmapBufferObjectFailed = 206
     cudaErrorArrayIsMapped = 207
     cudaErrorAlreadyMapped = 208
     cudaErrorNoKernelImageForDevice = 209
     cudaErrorAlreadyAcquired = 210
     cudaErrorNotMapped = 211
     cudaErrorNotMappedAsArray = 212
     cudaErrorNotMappedAsPointer = 213
     cudaErrorECCUncorrectable = 214
     cudaErrorUnsupportedLimit = 215
     cudaErrorDeviceAlreadyInUse = 216
     cudaErrorPeerAccessUnsupported = 217
     cudaErrorInvalidPtx = 218
     cudaErrorInvalidGraphicsContext = 219
     cudaErrorNvlinkUncorrectable = 220
     cudaErrorJitCompilerNotFound = 221
     cudaErrorInvalidSource = 300
     cudaErrorFileNotFound = 301
     cudaErrorSharedObjectSymbolNotFound = 302
     cudaErrorSharedObjectInitFailed = 303
     cudaErrorOperatingSystem = 304
     cudaErrorInvalidResourceHandle = 400
     cudaErrorIllegalState = 401
     cudaErrorSymbolNotFound = 500
     cudaErrorNotReady = 600
     cudaErrorIllegalAddress = 700
     cudaErrorLaunchOutOfResources = 701
     cudaErrorLaunchTimeout = 702
     cudaErrorLaunchIncompatibleTexturing = 703
     cudaErrorPeerAccessAlreadyEnabled = 704
     cudaErrorPeerAccessNotEnabled = 705
     cudaErrorSetOnActiveProcess = 708
     cudaErrorContextIsDestroyed = 709
     cudaErrorAssert = 710
     cudaErrorTooManyPeers = 711
     cudaErrorHostMemoryAlreadyRegistered = 712
     cudaErrorHostMemoryNotRegistered = 713
     cudaErrorHardwareStackError = 714
     cudaErrorIllegalInstruction = 715
     cudaErrorMisalignedAddress = 716
     cudaErrorInvalidAddressSpace = 717
     cudaErrorInvalidPc = 718
     cudaErrorLaunchFailure = 719
     cudaErrorCooperativeLaunchTooLarge = 720
     cudaErrorNotPermitted = 800
     cudaErrorNotSupported = 801
     cudaErrorSystemNotReady = 802
     cudaErrorSystemDriverMismatch = 803
     cudaErrorCompatNotSupportedOnDevice = 804
     cudaErrorStreamCaptureUnsupported = 900
     cudaErrorStreamCaptureInvalidated = 901
     cudaErrorStreamCaptureMerge = 902
     cudaErrorStreamCaptureUnmatched = 903
     cudaErrorStreamCaptureUnjoined = 904
     cudaErrorStreamCaptureIsolation = 905
     cudaErrorStreamCaptureImplicit = 906
     cudaErrorCapturedEvent = 907
     cudaErrorStreamCaptureWrongThread = 908
     cudaErrorTimeout = 909
     cudaErrorGraphExecUpdateFailure = 910
     cudaErrorUnknown = 999
     cudaErrorApiFailureBase = 10000
-enum cudaExternalMemoryHandleType
-enum cudaExternalSemaphoreHandleType
 enum cudaFuncAttribute
     cudaFuncAttributeMaxDynamicSharedMemorySize = 8
     cudaFuncAttributePreferredSharedMemoryCarveout = 9
-    cudaFuncAttributeMax = 10
 enum cudaFuncCache
     cudaFuncCachePreferNone = 0
     cudaFuncCachePreferShared = 1
     cudaFuncCachePreferL1 = 2
     cudaFuncCachePreferEqual = 3
 enum cudaGraphExecUpdateResult
     cudaGraphExecUpdateSuccess = 0
     cudaGraphExecUpdateError = 1
     cudaGraphExecUpdateErrorTopologyChanged = 2
     cudaGraphExecUpdateErrorNodeTypeChanged = 3
     cudaGraphExecUpdateErrorFunctionChanged = 4
     cudaGraphExecUpdateErrorParametersChanged = 5
     cudaGraphExecUpdateErrorNotSupported = 6
 enum cudaGraphNodeType
     cudaGraphNodeTypeKernel = 0
     cudaGraphNodeTypeMemcpy = 1
     cudaGraphNodeTypeMemset = 2
     cudaGraphNodeTypeHost = 3
     cudaGraphNodeTypeGraph = 4
     cudaGraphNodeTypeEmpty = 5
-    cudaGraphNodeTypeCount = 6
 enum cudaGraphicsCubeFace
     cudaGraphicsCubeFacePositiveX = 0
     cudaGraphicsCubeFaceNegativeX = 1
     cudaGraphicsCubeFacePositiveY = 2
     cudaGraphicsCubeFaceNegativeY = 3
     cudaGraphicsCubeFacePositiveZ = 4
     cudaGraphicsCubeFaceNegativeZ = 5
 enum cudaGraphicsMapFlags
     cudaGraphicsMapFlagsNone = 0
     cudaGraphicsMapFlagsReadOnly = 1
     cudaGraphicsMapFlagsWriteDiscard = 2
 enum cudaGraphicsRegisterFlags
     cudaGraphicsRegisterFlagsNone = 0
     cudaGraphicsRegisterFlagsReadOnly = 1
     cudaGraphicsRegisterFlagsWriteDiscard = 2
     cudaGraphicsRegisterFlagsSurfaceLoadStore = 4
     cudaGraphicsRegisterFlagsTextureGather = 8
 enum cudaLimit
     cudaLimitStackSize = 0
     cudaLimitPrintfFifoSize = 1
     cudaLimitMallocHeapSize = 2
     cudaLimitDevRuntimeSyncDepth = 3
     cudaLimitDevRuntimePendingLaunchCount = 4
     cudaLimitMaxL2FetchGranularity = 5
 enum cudaMemRangeAttribute
     cudaMemRangeAttributeReadMostly = 1
     cudaMemRangeAttributePreferredLocation = 2
     cudaMemRangeAttributeAccessedBy = 3
     cudaMemRangeAttributeLastPrefetchLocation = 4
 enum cudaMemcpyKind
     cudaMemcpyHostToHost = 0
     cudaMemcpyHostToDevice = 1
     cudaMemcpyDeviceToHost = 2
     cudaMemcpyDeviceToDevice = 3
     cudaMemcpyDefault = 4
 enum cudaMemoryAdvise
     cudaMemAdviseSetReadMostly = 1
     cudaMemAdviseUnsetReadMostly = 2
     cudaMemAdviseSetPreferredLocation = 3
     cudaMemAdviseUnsetPreferredLocation = 4
     cudaMemAdviseSetAccessedBy = 5
     cudaMemAdviseUnsetAccessedBy = 6
 enum cudaMemoryType
     cudaMemoryTypeUnregistered = 0
     cudaMemoryTypeHost = 1
     cudaMemoryTypeDevice = 2
     cudaMemoryTypeManaged = 3
 enum cudaOutputMode
     cudaKeyValuePair = 0
     cudaCSV = 1
 enum cudaResourceType
     cudaResourceTypeArray = 0
     cudaResourceTypeMipmappedArray = 1
     cudaResourceTypeLinear = 2
     cudaResourceTypePitch2D = 3
 enum cudaResourceViewFormat
     cudaResViewFormatNone = 0
     cudaResViewFormatUnsignedChar1 = 1
     cudaResViewFormatUnsignedChar2 = 2
     cudaResViewFormatUnsignedChar4 = 3
     cudaResViewFormatSignedChar1 = 4
     cudaResViewFormatSignedChar2 = 5
     cudaResViewFormatSignedChar4 = 6
     cudaResViewFormatUnsignedShort1 = 7
     cudaResViewFormatUnsignedShort2 = 8
     cudaResViewFormatUnsignedShort4 = 9
     cudaResViewFormatSignedShort1 = 10
     cudaResViewFormatSignedShort2 = 11
     cudaResViewFormatSignedShort4 = 12
     cudaResViewFormatUnsignedInt1 = 13
     cudaResViewFormatUnsignedInt2 = 14
     cudaResViewFormatUnsignedInt4 = 15
     cudaResViewFormatSignedInt1 = 16
     cudaResViewFormatSignedInt2 = 17
     cudaResViewFormatSignedInt4 = 18
     cudaResViewFormatHalf1 = 19
     cudaResViewFormatHalf2 = 20
     cudaResViewFormatHalf4 = 21
     cudaResViewFormatFloat1 = 22
     cudaResViewFormatFloat2 = 23
     cudaResViewFormatFloat4 = 24
     cudaResViewFormatUnsignedBlockCompressed1 = 25
     cudaResViewFormatUnsignedBlockCompressed2 = 26
     cudaResViewFormatUnsignedBlockCompressed3 = 27
     cudaResViewFormatUnsignedBlockCompressed4 = 28
     cudaResViewFormatSignedBlockCompressed4 = 29
     cudaResViewFormatUnsignedBlockCompressed5 = 30
     cudaResViewFormatSignedBlockCompressed5 = 31
     cudaResViewFormatUnsignedBlockCompressed6H = 32
     cudaResViewFormatSignedBlockCompressed6H = 33
     cudaResViewFormatUnsignedBlockCompressed7 = 34
 enum cudaSharedCarveout
     cudaSharedmemCarveoutDefault = 18446744073709551615
     cudaSharedmemCarveoutMaxShared = 100
     cudaSharedmemCarveoutMaxL1 = 0
 enum cudaSharedMemConfig
     cudaSharedMemBankSizeDefault = 0
     cudaSharedMemBankSizeFourByte = 1
     cudaSharedMemBankSizeEightByte = 2
 enum cudaStreamCaptureMode
     cudaStreamCaptureModeGlobal = 0
     cudaStreamCaptureModeThreadLocal = 1
     cudaStreamCaptureModeRelaxed = 2
 enum cudaStreamCaptureStatus
     cudaStreamCaptureStatusNone = 0
     cudaStreamCaptureStatusActive = 1
     cudaStreamCaptureStatusInvalidated = 2
 enum cudaSurfaceBoundaryMode
     cudaBoundaryModeZero = 0
     cudaBoundaryModeClamp = 1
     cudaBoundaryModeTrap = 2
 enum cudaSurfaceFormatMode
     cudaFormatModeForced = 0
     cudaFormatModeAuto = 1
 enum cudaTextureAddressMode
     cudaAddressModeWrap = 0
     cudaAddressModeClamp = 1
     cudaAddressModeMirror = 2
     cudaAddressModeBorder = 3
 enum cudaTextureFilterMode
     cudaFilterModePoint = 0
     cudaFilterModeLinear = 1
 enum cudaTextureReadMode
     cudaReadModeElementType = 0
     cudaReadModeNormalizedFloat = 1
 struct CUuuid_st
 struct cudaChannelFormatDesc
     f
     w
     x
     y
     z
 struct cudaDeviceProp
     ECCEnabled
     asyncEngineCount
     canMapHostMemory
     canUseHostPointerForRegisteredMem
     clockRate
     computeMode
     computePreemptionSupported
     concurrentKernels
     concurrentManagedAccess
     cooperativeLaunch
     cooperativeMultiDeviceLaunch
     deviceOverlap
     directManagedMemAccessFromHost
     globalL1CacheSupported
     hostNativeAtomicSupported
     integrated
     isMultiGpuBoard
     kernelExecTimeoutEnabled
     l2CacheSize
     localL1CacheSupported
     luid
     luidDeviceNodeMask
     major
     managedMemory
     maxGridSize
     maxSurface1D
     maxSurface1DLayered
     maxSurface2D
     maxSurface2DLayered
     maxSurface3D
     maxSurfaceCubemap
     maxSurfaceCubemapLayered
     maxTexture1D
     maxTexture1DLayered
     maxTexture1DLinear
     maxTexture1DMipmap
     maxTexture2D
     maxTexture2DGather
     maxTexture2DLayered
     maxTexture2DLinear
     maxTexture2DMipmap
     maxTexture3D
     maxTexture3DAlt
     maxTextureCubemap
     maxTextureCubemapLayered
     maxThreadsDim
     maxThreadsPerBlock
     maxThreadsPerMultiProcessor
     memPitch
     memoryBusWidth
     memoryClockRate
     minor
     multiGpuBoardGroupID
     multiProcessorCount
     name
     pageableMemoryAccess
     pageableMemoryAccessUsesHostPageTables
     pciBusID
     pciDeviceID
     pciDomainID
     regsPerBlock
     regsPerMultiprocessor
     sharedMemPerBlock
     sharedMemPerBlockOptin
     sharedMemPerMultiprocessor
     singleToDoublePrecisionPerfRatio
     streamPrioritiesSupported
     surfaceAlignment
     tccDriver
     textureAlignment
     texturePitchAlignment
     totalConstMem
     totalGlobalMem
     unifiedAddressing
     uuid
     warpSize
-struct cudaEglFrame
-struct cudaEglPlaneDesc
 struct cudaExtent
     depth
     height
     width
-struct cudaExternalMemoryBufferDesc
 struct cudaExternalMemoryHandleDesc
-struct cudaExternalMemoryMipmappedArrayDesc
 struct cudaExternalSemaphoreHandleDesc
 struct cudaExternalSemaphoreSignalParams
 struct cudaExternalSemaphoreWaitParams
 struct cudaFuncAttributes
     binaryVersion
     cacheModeCA
     constSizeBytes
     localSizeBytes
     maxDynamicSharedSizeBytes
     maxThreadsPerBlock
     numRegs
     preferredShmemCarveout
     ptxVersion
     sharedSizeBytes
 struct cudaHostNodeParams
     fn
     userData
 struct cudaIpcEventHandle_t
 struct cudaIpcMemHandle_t
 struct cudaKernelNodeParams
     blockDim
     extra
     func
     gridDim
     kernelParams
     sharedMemBytes
 struct cudaLaunchParams
     args
     blockDim
     func
     gridDim
     sharedMem
     stream
 struct cudaMemcpy3DParms
     dstArray
     dstPos
     dstPtr
     extent
     kind
     srcArray
     srcPos
     srcPtr
 struct cudaMemcpy3DPeerParms
     dstArray
     dstDevice
     dstPos
     dstPtr
     extent
     srcArray
     srcDevice
     srcPos
     srcPtr
 struct cudaMemsetParams
     dst
     elementSize
     height
     pitch
     value
     width
 struct cudaPitchedPtr
     pitch
     ptr
     xsize
     ysize
 struct cudaPointerAttributes
     device
     devicePointer
     hostPointer
-    isManaged
     memoryType
     type
 struct cudaPos
     x
     y
     z
 struct cudaResourceDesc
     array
     desc
     devPtr
     height
     mipmap
     pitchInBytes
     resType
     sizeInBytes
     width
 struct cudaResourceViewDesc
     depth
     firstLayer
     firstMipmapLevel
     format
     height
     lastLayer
     lastMipmapLevel
     width
 struct cudaTextureDesc
     addressMode
     borderColor
     filterMode
     maxAnisotropy
     maxMipmapLevelClamp
     minMipmapLevelClamp
     mipmapFilterMode
     mipmapLevelBias
     normalizedCoords
     readMode
     sRGB
-struct surfaceReference
 struct textureReference
     addressMode
     channelDesc
     filterMode
     maxAnisotropy
     maxMipmapLevelClamp
     minMipmapLevelClamp
     mipmapFilterMode
     mipmapLevelBias
     normalized
     sRGB
 typedef const cudaArray * cudaArray_const_t;
 typedef cudaArray * cudaArray_t;
-typedef CUeglStreamConnection_st * cudaEglStreamConnection;
 typedef enum cudaError cudaError_t;
 typedef CUevent_st * cudaEvent_t;
-typedef CUexternalMemory_st * cudaExternalMemory_t;
-typedef CUexternalSemaphore_st * cudaExternalSemaphore_t;
 typedef CUgraphExec_st * cudaGraphExec_t;
 typedef CUgraphNode_st * cudaGraphNode_t;
 typedef CUgraph_st * cudaGraph_t;
 typedef cudaGraphicsResource * cudaGraphicsResource_t;
 typedef void(* cudaHostFn_t)(void* userData);
 typedef const cudaMipmappedArray * cudaMipmappedArray_const_t;
 typedef cudaMipmappedArray * cudaMipmappedArray_t;
 typedef enum cudaOutputMode cudaOutputMode_t;
 typedef CUstream_st * cudaStream_t;
 typedef unsigned long long cudaSurfaceObject_t;
 typedef unsigned long long cudaTextureObject_t;

82% (474 of 575 declarations available)

6.1. Device Management#

 cudaError_t cudaChooseDevice(int* device, const cudaDeviceProp* prop);
 cudaError_t cudaDeviceFlushGPUDirectRDMAWrites(cudaFlushGPUDirectRDMAWritesTarget target, cudaFlushGPUDirectRDMAWritesScope scope);
 cudaError_t cudaDeviceGetAttribute(int* value, cudaDeviceAttr attr, int device);
 __device__ cudaError_t cudaDeviceGetAttribute(int* value, cudaDeviceAttr attr, int device);
 cudaError_t cudaDeviceGetByPCIBusId(int* device, const char* pciBusId);
 cudaError_t cudaDeviceGetCacheConfig(cudaFuncCache ** pCacheConfig);
 __device__ cudaError_t cudaDeviceGetCacheConfig(cudaFuncCache ** pCacheConfig);
 cudaError_t cudaDeviceGetDefaultMemPool(cudaMemPool_t* memPool, int device);
 cudaError_t cudaDeviceGetLimit(size_t* pValue, cudaLimit limit);
 __device__ cudaError_t cudaDeviceGetLimit(size_t* pValue, cudaLimit limit);
 cudaError_t cudaDeviceGetMemPool(cudaMemPool_t* memPool, int device);
-cudaError_t cudaDeviceGetNvSciSyncAttributes(void* nvSciSyncAttrList, int device, int flags);
 cudaError_t cudaDeviceGetP2PAttribute(int* value, cudaDeviceP2PAttr attr, int srcDevice, int dstDevice);
 cudaError_t cudaDeviceGetPCIBusId(char* pciBusId, int len, int device);
 cudaError_t cudaDeviceGetSharedMemConfig(cudaSharedMemConfig ** pConfig);
 __device__ cudaError_t cudaDeviceGetSharedMemConfig(cudaSharedMemConfig ** pConfig);
 cudaError_t cudaDeviceGetStreamPriorityRange(int* leastPriority, int* greatestPriority);
 cudaError_t cudaDeviceGetTexture1DLinearMaxWidth(size_t* maxWidthInElements, const cudaChannelFormatDesc* fmtDesc, int device);
 cudaError_t cudaDeviceReset(void);
 cudaError_t cudaDeviceSetCacheConfig(cudaFuncCache cacheConfig);
 cudaError_t cudaDeviceSetLimit(cudaLimit limit, size_t value);
 cudaError_t cudaDeviceSetMemPool(int device, cudaMemPool_t memPool);
 cudaError_t cudaDeviceSetSharedMemConfig(cudaSharedMemConfig config);
 cudaError_t cudaDeviceSynchronize(void);
-__device__ cudaError_t cudaDeviceSynchronize(void);
 cudaError_t cudaGetDevice(int* device);
 __device__ cudaError_t cudaGetDevice(int* device);
 cudaError_t cudaGetDeviceCount(int* count);
 __device__ cudaError_t cudaGetDeviceCount(int* count);
 cudaError_t cudaGetDeviceFlags(unsigned int* flags);
 cudaError_t cudaGetDeviceProperties(cudaDeviceProp* prop, int device);
 cudaError_t cudaIpcCloseMemHandle(void* devPtr);
 cudaError_t cudaIpcGetEventHandle(cudaIpcEventHandle_t* handle, cudaEvent_t event);
 cudaError_t cudaIpcGetMemHandle(cudaIpcMemHandle_t* handle, void* devPtr);
 cudaError_t cudaIpcOpenEventHandle(cudaEvent_t* event, cudaIpcEventHandle_t handle);
 cudaError_t cudaIpcOpenMemHandle(void** devPtr, cudaIpcMemHandle_t handle, unsigned int flags);
 cudaError_t cudaSetDevice(int device);
 cudaError_t cudaSetDeviceFlags(unsigned int flags);
 cudaError_t cudaSetValidDevices(int* device_arr, int len);

6.2. Thread Management [DEPRECATED]#

 cudaError_t cudaThreadExit(void);
 cudaError_t cudaThreadGetCacheConfig(cudaFuncCache ** pCacheConfig);
 cudaError_t cudaThreadGetLimit(size_t* pValue, cudaLimit limit);
 cudaError_t cudaThreadSetCacheConfig(cudaFuncCache cacheConfig);
 cudaError_t cudaThreadSetLimit(cudaLimit limit, size_t value);
 cudaError_t cudaThreadSynchronize(void);

6.3. Error Handling#

 const char* cudaGetErrorName(cudaError_t error);
 __device__ const char* cudaGetErrorName(cudaError_t error);
 const char* cudaGetErrorString(cudaError_t error);
 __device__ const char* cudaGetErrorString(cudaError_t error);
 cudaError_t cudaGetLastError(void);
-__device__ cudaError_t cudaGetLastError(void);
 cudaError_t cudaPeekAtLastError(void);
-__device__ cudaError_t cudaPeekAtLastError(void);

6.4. Stream Management#

 typedef void(* cudaStreamCallback_t)(cudaStream_t stream, cudaError_t status, void* userData);
 cudaError_t cudaCtxResetPersistingL2Cache(void);
 cudaError_t cudaStreamAddCallback(cudaStream_t stream, cudaStreamCallback_t callback, void* userData, unsigned int flags);
 cudaError_t cudaStreamAttachMemAsync(cudaStream_t stream, void* devPtr, size_t length = 0, unsigned int flags = cudaMemAttachSingle);
 cudaError_t cudaStreamBeginCapture(cudaStream_t stream, cudaStreamCaptureMode mode);
 cudaError_t cudaStreamCopyAttributes(cudaStream_t dst, cudaStream_t src);
 cudaError_t cudaStreamCreate(cudaStream_t* pStream);
 cudaError_t cudaStreamCreateWithFlags(cudaStream_t* pStream, unsigned int flags);
-__device__ cudaError_t cudaStreamCreateWithFlags(cudaStream_t* pStream, unsigned int flags);
 cudaError_t cudaStreamCreateWithPriority(cudaStream_t* pStream, unsigned int flags, int priority);
 cudaError_t cudaStreamDestroy(cudaStream_t stream);
-__device__ cudaError_t cudaStreamDestroy(cudaStream_t stream);
 cudaError_t cudaStreamEndCapture(cudaStream_t stream, cudaGraph_t* pGraph);
 cudaError_t cudaStreamGetAttribute(cudaStream_t hStream, cudaStreamAttrID attr, cudaStreamAttrValue* value_out);
-cudaError_t cudaStreamGetCaptureInfo(cudaStream_t stream, cudaStreamCaptureStatus ** pCaptureStatus, unsigned long long* pId);
-cudaError_t cudaStreamGetCaptureInfo_v2(cudaStream_t stream, cudaStreamCaptureStatus ** captureStatus_out, unsigned long long* id_out = 0, cudaGraph_t* graph_out = 0, const cudaGraphNode_t** dependencies_out = 0, size_t* numDependencies_out = 0);
 cudaError_t cudaStreamGetFlags(cudaStream_t hStream, unsigned int* flags);
 cudaError_t cudaStreamGetPriority(cudaStream_t hStream, int* priority);
 cudaError_t cudaStreamIsCapturing(cudaStream_t stream, cudaStreamCaptureStatus ** pCaptureStatus);
 cudaError_t cudaStreamQuery(cudaStream_t stream);
 cudaError_t cudaStreamSetAttribute(cudaStream_t hStream, cudaStreamAttrID attr, const cudaStreamAttrValue* value);
 cudaError_t cudaStreamSynchronize(cudaStream_t stream);
 cudaError_t cudaStreamUpdateCaptureDependencies(cudaStream_t stream, cudaGraphNode_t* dependencies, size_t numDependencies, unsigned int flags = 0);
 cudaError_t cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags = 0);
-__device__ cudaError_t cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags = 0);
 cudaError_t cudaThreadExchangeStreamCaptureMode(cudaStreamCaptureMode ** mode);

6.5. Event Management#

 cudaError_t cudaEventCreate(cudaEvent_t* event);
 cudaError_t cudaEventCreateWithFlags(cudaEvent_t* event, unsigned int flags);
-__device__ cudaError_t cudaEventCreateWithFlags(cudaEvent_t* event, unsigned int flags);
 cudaError_t cudaEventDestroy(cudaEvent_t event);
-__device__ cudaError_t cudaEventDestroy(cudaEvent_t event);
 cudaError_t cudaEventElapsedTime(float* ms, cudaEvent_t start, cudaEvent_t end);
 cudaError_t cudaEventQuery(cudaEvent_t event);
 cudaError_t cudaEventRecord(cudaEvent_t event, cudaStream_t stream = 0);
-__device__ cudaError_t cudaEventRecord(cudaEvent_t event, cudaStream_t stream = 0);
 cudaError_t cudaEventRecordWithFlags(cudaEvent_t event, cudaStream_t stream = 0, unsigned int flags = 0);
 cudaError_t cudaEventSynchronize(cudaEvent_t event);

6.6. External Resource Interoperability#

-cudaError_t cudaDestroyExternalMemory(cudaExternalMemory_t extMem);
-cudaError_t cudaDestroyExternalSemaphore(cudaExternalSemaphore_t extSem);
-cudaError_t cudaExternalMemoryGetMappedBuffer(void** devPtr, cudaExternalMemory_t extMem, const cudaExternalMemoryBufferDesc* bufferDesc);
-cudaError_t cudaExternalMemoryGetMappedMipmappedArray(cudaMipmappedArray_t* mipmap, cudaExternalMemory_t extMem, const cudaExternalMemoryMipmappedArrayDesc* mipmapDesc);
-cudaError_t cudaImportExternalMemory(cudaExternalMemory_t* extMem_out, const cudaExternalMemoryHandleDesc* memHandleDesc);
-cudaError_t cudaImportExternalSemaphore(cudaExternalSemaphore_t* extSem_out, const cudaExternalSemaphoreHandleDesc* semHandleDesc);
-cudaError_t cudaSignalExternalSemaphoresAsync(const cudaExternalSemaphore_t* extSemArray, const cudaExternalSemaphoreSignalParams* paramsArray, unsigned int numExtSems, cudaStream_t stream = 0);
-cudaError_t cudaWaitExternalSemaphoresAsync(const cudaExternalSemaphore_t* extSemArray, const cudaExternalSemaphoreWaitParams* paramsArray, unsigned int numExtSems, cudaStream_t stream = 0);

6.7. Execution Control#

 cudaError_t cudaFuncGetAttributes(cudaFuncAttributes* attr, const void* func);
-__device__ cudaError_t cudaFuncGetAttributes(cudaFuncAttributes* attr, const void* func);
 cudaError_t cudaFuncSetAttribute(const void* func, cudaFuncAttribute attr, int value);
 cudaError_t cudaFuncSetCacheConfig(const void* func, cudaFuncCache cacheConfig);
 cudaError_t cudaFuncSetSharedMemConfig(const void* func, cudaSharedMemConfig config);
 __device__ void* cudaGetParameterBuffer(size_t alignment, size_t size);
-__device__ void* cudaGetParameterBufferV2(void* func, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize);
 cudaError_t cudaLaunchCooperativeKernel(const void* func, dim3 gridDim, dim3 blockDim, void** args, size_t sharedMem, cudaStream_t stream);
-cudaError_t cudaLaunchCooperativeKernelMultiDevice(cudaLaunchParams* launchParamsList, unsigned int numDevices, unsigned int flags = 0);
 cudaError_t cudaLaunchHostFunc(cudaStream_t stream, cudaHostFn_t fn, void* userData);
 cudaError_t cudaLaunchKernel(const void* func, dim3 gridDim, dim3 blockDim, void** args, size_t sharedMem, cudaStream_t stream);
 cudaError_t cudaLaunchKernelExC(const cudaLaunchConfig_t* config, const void* func, void** args);
 cudaError_t cudaSetDoubleForDevice(double* d);
 cudaError_t cudaSetDoubleForHost(double* d);

6.8. Occupancy#

 cudaError_t cudaOccupancyAvailableDynamicSMemPerBlock(size_t* dynamicSmemSize, const void* func, int numBlocks, int blockSize);
 cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int* numBlocks, const void* func, int blockSize, size_t dynamicSMemSize);
-__device__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int* numBlocks, const void* func, int blockSize, size_t dynamicSMemSize);
 cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int* numBlocks, const void* func, int blockSize, size_t dynamicSMemSize, unsigned int flags);
-cudaError_t cudaOccupancyMaxActiveClusters(int* numClusters, const void* func, const cudaLaunchConfig_t* launchConfig);
-cudaError_t cudaOccupancyMaxPotentialClusterSize(int* clusterSize, const void* func, const cudaLaunchConfig_t* launchConfig);

6.9. Memory Management#

 cudaError_t cudaArrayGetInfo(cudaChannelFormatDesc* desc, cudaExtent* extent, unsigned int* flags, cudaArray_t array);
-cudaError_t cudaArrayGetMemoryRequirements(cudaArrayMemoryRequirements* memoryRequirements, cudaArray_t array, int device);
-cudaError_t cudaArrayGetPlane(cudaArray_t* pPlaneArray, cudaArray_t hArray, unsigned int planeIdx);
-cudaError_t cudaArrayGetSparseProperties(cudaArraySparseProperties* sparseProperties, cudaArray_t array);
 cudaError_t cudaFree(void* devPtr);
 __device__ cudaError_t cudaFree(void* devPtr);
 cudaError_t cudaFreeArray(cudaArray_t array);
 cudaError_t cudaFreeHost(void* ptr);
 cudaError_t cudaFreeMipmappedArray(cudaMipmappedArray_t mipmappedArray);
-cudaError_t cudaGetMipmappedArrayLevel(cudaArray_t* levelArray, cudaMipmappedArray_const_t mipmappedArray, unsigned int level);
 cudaError_t cudaGetSymbolAddress(void** devPtr, const void* symbol);
 cudaError_t cudaGetSymbolSize(size_t* size, const void* symbol);
 cudaError_t cudaHostAlloc(void** pHost, size_t size, unsigned int flags);
 cudaError_t cudaHostGetDevicePointer(void** pDevice, void* pHost, unsigned int flags);
 cudaError_t cudaHostGetFlags(unsigned int* pFlags, void* pHost);
 cudaError_t cudaHostRegister(void* ptr, size_t size, unsigned int flags);
 cudaError_t cudaHostUnregister(void* ptr);
 cudaError_t cudaMalloc(void** devPtr, size_t size);
 __device__ cudaError_t cudaMalloc(void** devPtr, size_t size);
 cudaError_t cudaMalloc3D(cudaPitchedPtr* pitchedDevPtr, cudaExtent extent);
 cudaError_t cudaMalloc3DArray(cudaArray_t* array, const cudaChannelFormatDesc* desc, cudaExtent extent, unsigned int flags = 0);
 cudaError_t cudaMallocArray(cudaArray_t* array, const cudaChannelFormatDesc* desc, size_t width, size_t height = 0, unsigned int flags = 0);
 cudaError_t cudaMallocHost(void** ptr, size_t size);
 cudaError_t cudaMallocManaged(void** devPtr, size_t size, unsigned int flags = cudaMemAttachGlobal);
 cudaError_t cudaMallocMipmappedArray(cudaMipmappedArray_t* mipmappedArray, const cudaChannelFormatDesc* desc, cudaExtent extent, unsigned int numLevels, unsigned int flags = 0);
 cudaError_t cudaMallocPitch(void** devPtr, size_t* pitch, size_t width, size_t height);
 cudaError_t cudaMemAdvise(const void* devPtr, size_t count, cudaMemoryAdvise advice, int device);
 cudaError_t cudaMemGetInfo(size_t* free, size_t* total);
 cudaError_t cudaMemPrefetchAsync(const void* devPtr, size_t count, int dstDevice, cudaStream_t stream = 0);
 cudaError_t cudaMemRangeGetAttribute(void* data, size_t dataSize, cudaMemRangeAttribute attribute, const void* devPtr, size_t count);
-cudaError_t cudaMemRangeGetAttributes(void** data, size_t* dataSizes, cudaMemRangeAttribute ** attributes, size_t numAttributes, const void* devPtr, size_t count);
 cudaError_t cudaMemcpy(void* dst, const void* src, size_t count, cudaMemcpyKind kind);
 cudaError_t cudaMemcpy2D(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind);
-cudaError_t cudaMemcpy2DArrayToArray(cudaArray_t dst, size_t wOffsetDst, size_t hOffsetDst, cudaArray_const_t src, size_t wOffsetSrc, size_t hOffsetSrc, size_t width, size_t height, cudaMemcpyKind kind = cudaMemcpyDeviceToDevice);
 cudaError_t cudaMemcpy2DAsync(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemcpy2DAsync(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpy2DFromArray(void* dst, size_t dpitch, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, cudaMemcpyKind kind);
 cudaError_t cudaMemcpy2DFromArrayAsync(void* dst, size_t dpitch, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpy2DToArray(cudaArray_t dst, size_t wOffset, size_t hOffset, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind);
 cudaError_t cudaMemcpy2DToArrayAsync(cudaArray_t dst, size_t wOffset, size_t hOffset, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpy3D(const cudaMemcpy3DParms* p);
 cudaError_t cudaMemcpy3DAsync(const cudaMemcpy3DParms* p, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemcpy3DAsync(const cudaMemcpy3DParms* p, cudaStream_t stream = 0);
 cudaError_t cudaMemcpy3DPeer(const cudaMemcpy3DPeerParms* p);
 cudaError_t cudaMemcpy3DPeerAsync(const cudaMemcpy3DPeerParms* p, cudaStream_t stream = 0);
 cudaError_t cudaMemcpyAsync(void* dst, const void* src, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemcpyAsync(void* dst, const void* src, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpyFromSymbol(void* dst, const void* symbol, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyDeviceToHost);
 cudaError_t cudaMemcpyFromSymbolAsync(void* dst, const void* symbol, size_t count, size_t offset, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpyPeer(void* dst, int dstDevice, const void* src, int srcDevice, size_t count);
 cudaError_t cudaMemcpyPeerAsync(void* dst, int dstDevice, const void* src, int srcDevice, size_t count, cudaStream_t stream = 0);
 cudaError_t cudaMemcpyToSymbol(const void* symbol, const void* src, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyHostToDevice);
 cudaError_t cudaMemcpyToSymbolAsync(const void* symbol, const void* src, size_t count, size_t offset, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemset(void* devPtr, int value, size_t count);
 cudaError_t cudaMemset2D(void* devPtr, size_t pitch, int value, size_t width, size_t height);
 cudaError_t cudaMemset2DAsync(void* devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemset2DAsync(void* devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream = 0);
 cudaError_t cudaMemset3D(cudaPitchedPtr pitchedDevPtr, int value, cudaExtent extent);
 cudaError_t cudaMemset3DAsync(cudaPitchedPtr pitchedDevPtr, int value, cudaExtent extent, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemset3DAsync(cudaPitchedPtr pitchedDevPtr, int value, cudaExtent extent, cudaStream_t stream = 0);
 cudaError_t cudaMemsetAsync(void* devPtr, int value, size_t count, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemsetAsync(void* devPtr, int value, size_t count, cudaStream_t stream = 0);
-cudaError_t cudaMipmappedArrayGetMemoryRequirements(cudaArrayMemoryRequirements* memoryRequirements, cudaMipmappedArray_t mipmap, int device);
-cudaError_t cudaMipmappedArrayGetSparseProperties(cudaArraySparseProperties* sparseProperties, cudaMipmappedArray_t mipmap);
 cudaExtent make_cudaExtent(size_t w, size_t h, size_t d);
 cudaPitchedPtr make_cudaPitchedPtr(void* d, size_t p, size_t xsz, size_t ysz);
 cudaPos make_cudaPos(size_t x, size_t y, size_t z);

6.10. Memory Management [DEPRECATED]#

-cudaError_t cudaMemcpyArrayToArray(cudaArray_t dst, size_t wOffsetDst, size_t hOffsetDst, cudaArray_const_t src, size_t wOffsetSrc, size_t hOffsetSrc, size_t count, cudaMemcpyKind kind = cudaMemcpyDeviceToDevice);
-cudaError_t cudaMemcpyFromArray(void* dst, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t count, cudaMemcpyKind kind);
-cudaError_t cudaMemcpyFromArrayAsync(void* dst, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpyToArray(cudaArray_t dst, size_t wOffset, size_t hOffset, const void* src, size_t count, cudaMemcpyKind kind);
 cudaError_t cudaMemcpyToArrayAsync(cudaArray_t dst, size_t wOffset, size_t hOffset, const void* src, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);

6.11. Stream Ordered Memory Allocator#

 cudaError_t cudaFreeAsync(void* devPtr, cudaStream_t hStream);
 cudaError_t cudaMallocAsync(void** devPtr, size_t size, cudaStream_t hStream);
 cudaError_t cudaMallocFromPoolAsync(void** ptr, size_t size, cudaMemPool_t memPool, cudaStream_t stream);
 cudaError_t cudaMemPoolCreate(cudaMemPool_t* memPool, const cudaMemPoolProps* poolProps);
 cudaError_t cudaMemPoolDestroy(cudaMemPool_t memPool);
 cudaError_t cudaMemPoolExportPointer(cudaMemPoolPtrExportData* exportData, void* ptr);
 cudaError_t cudaMemPoolExportToShareableHandle(void* shareableHandle, cudaMemPool_t memPool, cudaMemAllocationHandleType handleType, unsigned int flags);
 cudaError_t cudaMemPoolGetAccess(cudaMemAccessFlags ** flags, cudaMemPool_t memPool, cudaMemLocation* location);
 cudaError_t cudaMemPoolGetAttribute(cudaMemPool_t memPool, cudaMemPoolAttr attr, void* value);
 cudaError_t cudaMemPoolImportFromShareableHandle(cudaMemPool_t* memPool, void* shareableHandle, cudaMemAllocationHandleType handleType, unsigned int flags);
 cudaError_t cudaMemPoolImportPointer(void** ptr, cudaMemPool_t memPool, cudaMemPoolPtrExportData* exportData);
 cudaError_t cudaMemPoolSetAccess(cudaMemPool_t memPool, const cudaMemAccessDesc* descList, size_t count);
 cudaError_t cudaMemPoolSetAttribute(cudaMemPool_t memPool, cudaMemPoolAttr attr, void* value);
 cudaError_t cudaMemPoolTrimTo(cudaMemPool_t memPool, size_t minBytesToKeep);

6.12. Unified Addressing#

 cudaError_t cudaPointerGetAttributes(cudaPointerAttributes* attributes, const void* ptr);

6.13. Peer Device Memory Access#

 cudaError_t cudaDeviceCanAccessPeer(int* canAccessPeer, int device, int peerDevice);
 cudaError_t cudaDeviceDisablePeerAccess(int peerDevice);
 cudaError_t cudaDeviceEnablePeerAccess(int peerDevice, unsigned int flags);

6.14. OpenGL Interoperability#

 enum cudaGLDeviceList
     cudaGLDeviceListAll = 1
     cudaGLDeviceListCurrentFrame = 2
     cudaGLDeviceListNextFrame = 3
 cudaError_t cudaGLGetDevices(unsigned int* pCudaDeviceCount, int* pCudaDevices, unsigned int cudaDeviceCount, cudaGLDeviceList deviceList);
 cudaError_t cudaGraphicsGLRegisterBuffer(cudaGraphicsResource** resource, GLuint buffer, unsigned int flags);
 cudaError_t cudaGraphicsGLRegisterImage(cudaGraphicsResource** resource, GLuint image, GLenum target, unsigned int flags);
-cudaError_t cudaWGLGetDevice(int* device, HGPUNV hGpu);

6.15. OpenGL Interoperability [DEPRECATED]#

 enum cudaGLMapFlags
     cudaGLMapFlagsNone = 0
     cudaGLMapFlagsReadOnly = 1
     cudaGLMapFlagsWriteDiscard = 2
 cudaError_t cudaGLMapBufferObject(void** devPtr, GLuint bufObj);
 cudaError_t cudaGLMapBufferObjectAsync(void** devPtr, GLuint bufObj, cudaStream_t stream);
 cudaError_t cudaGLRegisterBufferObject(GLuint bufObj);
 cudaError_t cudaGLSetBufferObjectMapFlags(GLuint bufObj, unsigned int flags);
-cudaError_t cudaGLSetGLDevice(int device);
 cudaError_t cudaGLUnmapBufferObject(GLuint bufObj);
 cudaError_t cudaGLUnmapBufferObjectAsync(GLuint bufObj, cudaStream_t stream);
 cudaError_t cudaGLUnregisterBufferObject(GLuint bufObj);

6.16. Direct3D 9 Interoperability#

-Windows APIs are currently unsupported

6.17. Direct3D 9 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

6.18. Direct3D 10 Interoperability#

-Windows APIs are currently unsupported

6.19. Direct3D 10 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

6.20. Direct3D 11 Interoperability#

-Windows APIs are currently unsupported

6.21. Direct3D 11 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

6.22. VDPAU Interoperability#

-VDPAU is currently unsupported

6.23. EGL Interoperability#

-EGL is currently unsupported

6.24. Graphics Interoperability#

 cudaError_t cudaGraphicsMapResources(int count, cudaGraphicsResource_t* resources, cudaStream_t stream = 0);
-cudaError_t cudaGraphicsResourceGetMappedMipmappedArray(cudaMipmappedArray_t* mipmappedArray, cudaGraphicsResource_t resource);
 cudaError_t cudaGraphicsResourceGetMappedPointer(void** devPtr, size_t* size, cudaGraphicsResource_t resource);
 cudaError_t cudaGraphicsResourceSetMapFlags(cudaGraphicsResource_t resource, unsigned int flags);
 cudaError_t cudaGraphicsSubResourceGetMappedArray(cudaArray_t* array, cudaGraphicsResource_t resource, unsigned int arrayIndex, unsigned int mipLevel);
 cudaError_t cudaGraphicsUnmapResources(int count, cudaGraphicsResource_t* resources, cudaStream_t stream = 0);
 cudaError_t cudaGraphicsUnregisterResource(cudaGraphicsResource_t resource);

6.25. Texture Reference Management [DEPRECATED]#

-cudaError_t cudaBindTexture(size_t* offset, const textureReference* texref, const void* devPtr, const cudaChannelFormatDesc* desc, size_t size = UINT_MAX);
 cudaError_t cudaBindTexture2D(size_t* offset, const textureReference* texref, const void* devPtr, const cudaChannelFormatDesc* desc, size_t width, size_t height, size_t pitch);
 cudaError_t cudaBindTextureToArray(const textureReference* texref, cudaArray_const_t array, const cudaChannelFormatDesc* desc);
 cudaError_t cudaBindTextureToMipmappedArray(const textureReference* texref, cudaMipmappedArray_const_t mipmappedArray, const cudaChannelFormatDesc* desc);
 cudaError_t cudaGetTextureAlignmentOffset(size_t* offset, const textureReference* texref);
 cudaError_t cudaGetTextureReference(const textureReference** texref, const void* symbol);
 cudaError_t cudaUnbindTexture(const textureReference* texref);

6.26. Surface Reference Management [DEPRECATED]#

-cudaError_t cudaBindSurfaceToArray(const surfaceReference* surfref, cudaArray_const_t array, const cudaChannelFormatDesc* desc);
-cudaError_t cudaGetSurfaceReference(const surfaceReference** surfref, const void* symbol);

6.27. Texture Object Management#

 cudaChannelFormatDesc cudaCreateChannelDesc(int x, int y, int z, int w, cudaChannelFormatKind f);
 cudaError_t cudaCreateTextureObject(cudaTextureObject_t* pTexObject, const cudaResourceDesc* pResDesc, const cudaTextureDesc* pTexDesc, const cudaResourceViewDesc* pResViewDesc);
-cudaError_t cudaCreateTextureObject_v2(cudaTextureObject_t* pTexObject, const cudaResourceDesc* pResDesc, const cudaTextureDesc_v2* pTexDesc, const cudaResourceViewDesc* pResViewDesc);
 cudaError_t cudaDestroyTextureObject(cudaTextureObject_t texObject);
 cudaError_t cudaGetChannelDesc(cudaChannelFormatDesc* desc, cudaArray_const_t array);
 cudaError_t cudaGetTextureObjectResourceDesc(cudaResourceDesc* pResDesc, cudaTextureObject_t texObject);
 cudaError_t cudaGetTextureObjectResourceViewDesc(cudaResourceViewDesc* pResViewDesc, cudaTextureObject_t texObject);
 cudaError_t cudaGetTextureObjectTextureDesc(cudaTextureDesc* pTexDesc, cudaTextureObject_t texObject);
-cudaError_t cudaGetTextureObjectTextureDesc_v2(cudaTextureDesc_v2* pTexDesc, cudaTextureObject_t texObject);

6.28. Surface Object Management#

 cudaError_t cudaCreateSurfaceObject(cudaSurfaceObject_t* pSurfObject, const cudaResourceDesc* pResDesc);
 cudaError_t cudaDestroySurfaceObject(cudaSurfaceObject_t surfObject);
 cudaError_t cudaGetSurfaceObjectResourceDesc(cudaResourceDesc* pResDesc, cudaSurfaceObject_t surfObject);

6.29. Version Management#

 cudaError_t cudaDriverGetVersion(int* driverVersion);
 cudaError_t cudaRuntimeGetVersion(int* runtimeVersion);
 __device__ cudaError_t cudaRuntimeGetVersion(int* runtimeVersion);

6.30. Graph Management#

-cudaError_t cudaDeviceGetGraphMemAttribute(int device, cudaGraphMemAttributeType attr, void* value);
-cudaError_t cudaDeviceGraphMemTrim(int device);
-cudaError_t cudaDeviceSetGraphMemAttribute(int device, cudaGraphMemAttributeType attr, void* value);
 cudaError_t cudaGraphAddChildGraphNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, cudaGraph_t childGraph);
 cudaError_t cudaGraphAddDependencies(cudaGraph_t graph, const cudaGraphNode_t* from, const cudaGraphNode_t* to, size_t numDependencies);
 cudaError_t cudaGraphAddEmptyNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies);
 cudaError_t cudaGraphAddEventRecordNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, cudaEvent_t event);
 cudaError_t cudaGraphAddEventWaitNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, cudaEvent_t event);
-cudaError_t cudaGraphAddExternalSemaphoresSignalNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const cudaExternalSemaphoreSignalNodeParams* nodeParams);
-cudaError_t cudaGraphAddExternalSemaphoresWaitNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const cudaExternalSemaphoreWaitNodeParams* nodeParams);
 cudaError_t cudaGraphAddHostNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const cudaHostNodeParams* pNodeParams);
 cudaError_t cudaGraphAddKernelNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const cudaKernelNodeParams* pNodeParams);
 cudaError_t cudaGraphAddMemAllocNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, cudaMemAllocNodeParams* nodeParams);
 cudaError_t cudaGraphAddMemFreeNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, void* dptr);
 cudaError_t cudaGraphAddMemcpyNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const cudaMemcpy3DParms* pCopyParams);
 cudaError_t cudaGraphAddMemcpyNode1D(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, void* dst, const void* src, size_t count, cudaMemcpyKind kind);
 cudaError_t cudaGraphAddMemcpyNodeFromSymbol(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, void* dst, const void* symbol, size_t count, size_t offset, cudaMemcpyKind kind);
 cudaError_t cudaGraphAddMemcpyNodeToSymbol(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const void* symbol, const void* src, size_t count, size_t offset, cudaMemcpyKind kind);
 cudaError_t cudaGraphAddMemsetNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const cudaMemsetParams* pMemsetParams);
 cudaError_t cudaGraphChildGraphNodeGetGraph(cudaGraphNode_t node, cudaGraph_t* pGraph);
 cudaError_t cudaGraphClone(cudaGraph_t* pGraphClone, cudaGraph_t originalGraph);
 cudaError_t cudaGraphCreate(cudaGraph_t* pGraph, unsigned int flags);
 cudaError_t cudaGraphDebugDotPrint(cudaGraph_t graph, const char* path, unsigned int flags);
 cudaError_t cudaGraphDestroy(cudaGraph_t graph);
 cudaError_t cudaGraphDestroyNode(cudaGraphNode_t node);
 cudaError_t cudaGraphEventRecordNodeGetEvent(cudaGraphNode_t node, cudaEvent_t* event_out);
 cudaError_t cudaGraphEventRecordNodeSetEvent(cudaGraphNode_t node, cudaEvent_t event);
 cudaError_t cudaGraphEventWaitNodeGetEvent(cudaGraphNode_t node, cudaEvent_t* event_out);
 cudaError_t cudaGraphEventWaitNodeSetEvent(cudaGraphNode_t node, cudaEvent_t event);
 cudaError_t cudaGraphExecChildGraphNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, cudaGraph_t childGraph);
 cudaError_t cudaGraphExecDestroy(cudaGraphExec_t graphExec);
 cudaError_t cudaGraphExecEventRecordNodeSetEvent(cudaGraphExec_t hGraphExec, cudaGraphNode_t hNode, cudaEvent_t event);
 cudaError_t cudaGraphExecEventWaitNodeSetEvent(cudaGraphExec_t hGraphExec, cudaGraphNode_t hNode, cudaEvent_t event);
-cudaError_t cudaGraphExecExternalSemaphoresSignalNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t hNode, const cudaExternalSemaphoreSignalNodeParams* nodeParams);
-cudaError_t cudaGraphExecExternalSemaphoresWaitNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t hNode, const cudaExternalSemaphoreWaitNodeParams* nodeParams);
 cudaError_t cudaGraphExecHostNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const cudaHostNodeParams* pNodeParams);
 cudaError_t cudaGraphExecKernelNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const cudaKernelNodeParams* pNodeParams);
 cudaError_t cudaGraphExecMemcpyNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const cudaMemcpy3DParms* pNodeParams);
 cudaError_t cudaGraphExecMemcpyNodeSetParams1D(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, void* dst, const void* src, size_t count, cudaMemcpyKind kind);
 cudaError_t cudaGraphExecMemcpyNodeSetParamsFromSymbol(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, void* dst, const void* symbol, size_t count, size_t offset, cudaMemcpyKind kind);
 cudaError_t cudaGraphExecMemcpyNodeSetParamsToSymbol(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const void* symbol, const void* src, size_t count, size_t offset, cudaMemcpyKind kind);
 cudaError_t cudaGraphExecMemsetNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const cudaMemsetParams* pNodeParams);
-cudaError_t cudaGraphExecUpdate(cudaGraphExec_t hGraphExec, cudaGraph_t hGraph, cudaGraphNode_t* hErrorNode_out, cudaGraphExecUpdateResult ** updateResult_out);
-cudaError_t cudaGraphExternalSemaphoresSignalNodeGetParams(cudaGraphNode_t hNode, cudaExternalSemaphoreSignalNodeParams* params_out);
-cudaError_t cudaGraphExternalSemaphoresSignalNodeSetParams(cudaGraphNode_t hNode, const cudaExternalSemaphoreSignalNodeParams* nodeParams);
-cudaError_t cudaGraphExternalSemaphoresWaitNodeGetParams(cudaGraphNode_t hNode, cudaExternalSemaphoreWaitNodeParams* params_out);
-cudaError_t cudaGraphExternalSemaphoresWaitNodeSetParams(cudaGraphNode_t hNode, const cudaExternalSemaphoreWaitNodeParams* nodeParams);
 cudaError_t cudaGraphGetEdges(cudaGraph_t graph, cudaGraphNode_t* from, cudaGraphNode_t* to, size_t* numEdges);
 cudaError_t cudaGraphGetNodes(cudaGraph_t graph, cudaGraphNode_t* nodes, size_t* numNodes);
 cudaError_t cudaGraphGetRootNodes(cudaGraph_t graph, cudaGraphNode_t* pRootNodes, size_t* pNumRootNodes);
 cudaError_t cudaGraphHostNodeGetParams(cudaGraphNode_t node, cudaHostNodeParams* pNodeParams);
 cudaError_t cudaGraphHostNodeSetParams(cudaGraphNode_t node, const cudaHostNodeParams* pNodeParams);
 cudaError_t cudaGraphInstantiate(cudaGraphExec_t* pGraphExec, cudaGraph_t graph, cudaGraphNode_t* pErrorNode, char* pLogBuffer, size_t bufferSize);
-cudaError_t cudaGraphInstantiateWithFlags(cudaGraphExec_t* pGraphExec, cudaGraph_t graph, unsigned long long flags);
 cudaError_t cudaGraphKernelNodeCopyAttributes(cudaGraphNode_t hSrc, cudaGraphNode_t hDst);
 cudaError_t cudaGraphKernelNodeGetAttribute(cudaGraphNode_t hNode, cudaKernelNodeAttrID attr, cudaKernelNodeAttrValue* value_out);
 cudaError_t cudaGraphKernelNodeGetParams(cudaGraphNode_t node, cudaKernelNodeParams* pNodeParams);
 cudaError_t cudaGraphKernelNodeSetAttribute(cudaGraphNode_t hNode, cudaKernelNodeAttrID attr, const cudaKernelNodeAttrValue* value);
 cudaError_t cudaGraphKernelNodeSetParams(cudaGraphNode_t node, const cudaKernelNodeParams* pNodeParams);
 cudaError_t cudaGraphLaunch(cudaGraphExec_t graphExec, cudaStream_t stream);
 cudaError_t cudaGraphMemAllocNodeGetParams(cudaGraphNode_t node, cudaMemAllocNodeParams* params_out);
 cudaError_t cudaGraphMemFreeNodeGetParams(cudaGraphNode_t node, void* dptr_out);
 cudaError_t cudaGraphMemcpyNodeGetParams(cudaGraphNode_t node, cudaMemcpy3DParms* pNodeParams);
 cudaError_t cudaGraphMemcpyNodeSetParams(cudaGraphNode_t node, const cudaMemcpy3DParms* pNodeParams);
 cudaError_t cudaGraphMemcpyNodeSetParams1D(cudaGraphNode_t node, void* dst, const void* src, size_t count, cudaMemcpyKind kind);
 cudaError_t cudaGraphMemcpyNodeSetParamsFromSymbol(cudaGraphNode_t node, void* dst, const void* symbol, size_t count, size_t offset, cudaMemcpyKind kind);
 cudaError_t cudaGraphMemcpyNodeSetParamsToSymbol(cudaGraphNode_t node, const void* symbol, const void* src, size_t count, size_t offset, cudaMemcpyKind kind);
 cudaError_t cudaGraphMemsetNodeGetParams(cudaGraphNode_t node, cudaMemsetParams* pNodeParams);
 cudaError_t cudaGraphMemsetNodeSetParams(cudaGraphNode_t node, const cudaMemsetParams* pNodeParams);
 cudaError_t cudaGraphNodeFindInClone(cudaGraphNode_t* pNode, cudaGraphNode_t originalNode, cudaGraph_t clonedGraph);
 cudaError_t cudaGraphNodeGetDependencies(cudaGraphNode_t node, cudaGraphNode_t* pDependencies, size_t* pNumDependencies);
 cudaError_t cudaGraphNodeGetDependentNodes(cudaGraphNode_t node, cudaGraphNode_t* pDependentNodes, size_t* pNumDependentNodes);
 cudaError_t cudaGraphNodeGetEnabled(cudaGraphExec_t hGraphExec, cudaGraphNode_t hNode, unsigned int* isEnabled);
 cudaError_t cudaGraphNodeGetType(cudaGraphNode_t node, cudaGraphNodeType ** pType);
 cudaError_t cudaGraphNodeSetEnabled(cudaGraphExec_t hGraphExec, cudaGraphNode_t hNode, unsigned int isEnabled);
 cudaError_t cudaGraphReleaseUserObject(cudaGraph_t graph, cudaUserObject_t object, unsigned int count = 1);
 cudaError_t cudaGraphRemoveDependencies(cudaGraph_t graph, const cudaGraphNode_t* from, const cudaGraphNode_t* to, size_t numDependencies);
 cudaError_t cudaGraphRetainUserObject(cudaGraph_t graph, cudaUserObject_t object, unsigned int count = 1, unsigned int flags = 0);
 cudaError_t cudaGraphUpload(cudaGraphExec_t graphExec, cudaStream_t stream);
 cudaError_t cudaUserObjectCreate(cudaUserObject_t* object_out, void* ptr, cudaHostFn_t destroy, unsigned int initialRefcount, unsigned int flags);
 cudaError_t cudaUserObjectRelease(cudaUserObject_t object, unsigned int count = 1);
 cudaError_t cudaUserObjectRetain(cudaUserObject_t object, unsigned int count = 1);

6.31. Driver Entry Point Access#

 cudaError_t cudaGetDriverEntryPoint(const char* symbol, void** funcPtr, unsigned long long flags);

6.32. C++ API Routines#

-class __cudaOccupancyB2DHelper
-template < class T, int dim >__host__ cudaError_t cudaBindSurfaceToArray(const surface < T, dim > & surf, cudaArray_const_t array);
-template < class T, int dim >__host__ cudaError_t cudaBindSurfaceToArray(const surface < T, dim > & surf, cudaArray_const_t array, const cudaChannelFormatDesc& desc);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaBindTexture(size_t* offset, const texture < T, dim, readMode > & tex, const void* devPtr, size_t size = UINT_MAX);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaBindTexture(size_t* offset, const texture < T, dim, readMode > & tex, const void* devPtr, const cudaChannelFormatDesc& desc, size_t size = UINT_MAX);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaBindTexture2D(size_t* offset, const texture < T, dim, readMode > & tex, const void* devPtr, size_t width, size_t height, size_t pitch);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaBindTexture2D(size_t* offset, const texture < T, dim, readMode > & tex, const void* devPtr, const cudaChannelFormatDesc& desc, size_t width, size_t height, size_t pitch);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaBindTextureToArray(const texture < T, dim, readMode > & tex, cudaArray_const_t array);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaBindTextureToArray(const texture < T, dim, readMode > & tex, cudaArray_const_t array, const cudaChannelFormatDesc& desc);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaBindTextureToMipmappedArray(const texture < T, dim, readMode > & tex, cudaMipmappedArray_const_t mipmappedArray);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaBindTextureToMipmappedArray(const texture < T, dim, readMode > & tex, cudaMipmappedArray_const_t mipmappedArray, const cudaChannelFormatDesc& desc);
 template < class T >__host__ cudaChannelFormatDesc cudaCreateChannelDesc(void);
 cudaError_t cudaEventCreate(cudaEvent_t* event, unsigned int flags);
 template < class T >__host__ cudaError_t cudaFuncGetAttributes(cudaFuncAttributes* attr, T* entry);
 template < class T >__host__ cudaError_t cudaFuncSetAttribute(T* entry, cudaFuncAttribute attr, int value);
 template < class T >__host__ cudaError_t cudaFuncSetCacheConfig(T* func, cudaFuncCache cacheConfig);
 template < class T >__host__ cudaError_t cudaGetSymbolAddress(void** devPtr, const T& symbol);
 template < class T >__host__ cudaError_t cudaGetSymbolSize(size_t* size, const T& symbol);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaGetTextureAlignmentOffset(size_t* offset, const texture < T, dim, readMode > & tex);
 template < class T >__host__ cudaError_t cudaGraphAddMemcpyNodeFromSymbol(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, void* dst, const T& symbol, size_t count, size_t offset, cudaMemcpyKind kind);
 template < class T >__host__ cudaError_t cudaGraphAddMemcpyNodeToSymbol(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const T& symbol, const void* src, size_t count, size_t offset, cudaMemcpyKind kind);
 template < class T >__host__ cudaError_t cudaGraphExecMemcpyNodeSetParamsFromSymbol(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, void* dst, const T& symbol, size_t count, size_t offset, cudaMemcpyKind kind);
 template < class T >__host__ cudaError_t cudaGraphExecMemcpyNodeSetParamsToSymbol(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const T& symbol, const void* src, size_t count, size_t offset, cudaMemcpyKind kind);
 template < class T >__host__ cudaError_t cudaGraphMemcpyNodeSetParamsFromSymbol(cudaGraphNode_t node, void* dst, const T& symbol, size_t count, size_t offset, cudaMemcpyKind kind);
 template < class T >__host__ cudaError_t cudaGraphMemcpyNodeSetParamsToSymbol(cudaGraphNode_t node, const T& symbol, const void* src, size_t count, size_t offset, cudaMemcpyKind kind);
 template < class T >__host__ cudaError_t cudaLaunchCooperativeKernel(const T* func, dim3 gridDim, dim3 blockDim, void** args, size_t sharedMem = 0, cudaStream_t stream = 0);
 template < class T >__host__ cudaError_t cudaLaunchKernel(const T* func, dim3 gridDim, dim3 blockDim, void** args, size_t sharedMem = 0, cudaStream_t stream = 0);
 template < typename... ExpTypes, typename... ActTypes >__host__ cudaError_t cudaLaunchKernelEx(const cudaLaunchConfig_t* config, void (*kernel)(ExpTypes...), ActTypes &&... args);
 cudaError_t cudaMallocAsync(void** ptr, size_t size, cudaMemPool_t memPool, cudaStream_t stream);
 cudaError_t cudaMallocHost(void** ptr, size_t size, unsigned int flags);
 template < class T >__host__ cudaError_t cudaMallocManaged(T** devPtr, size_t size, unsigned int flags = cudaMemAttachGlobal);
 template < class T >__host__ cudaError_t cudaMemcpyFromSymbol(void* dst, const T& symbol, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyDeviceToHost);
 template < class T >__host__ cudaError_t cudaMemcpyFromSymbolAsync(void* dst, const T& symbol, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyDeviceToHost, cudaStream_t stream = 0);
 template < class T >__host__ cudaError_t cudaMemcpyToSymbol(const T& symbol, const void* src, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyHostToDevice);
 template < class T >__host__ cudaError_t cudaMemcpyToSymbolAsync(const T& symbol, const void* src, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyHostToDevice, cudaStream_t stream = 0);
-template < class T >__host__ cudaError_t cudaOccupancyAvailableDynamicSMemPerBlock(size_t* dynamicSmemSize, T func, int numBlocks, int blockSize);
 template < class T >__host__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int* numBlocks, T func, int blockSize, size_t dynamicSMemSize);
 template < class T >__host__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int* numBlocks, T func, int blockSize, size_t dynamicSMemSize, unsigned int flags);
-template < class T >__host__ cudaError_t cudaOccupancyMaxActiveClusters(int* numClusters, T* func, const cudaLaunchConfig_t* config);
 template < class T >__host__ cudaError_t cudaOccupancyMaxPotentialBlockSize(int* minGridSize, int* blockSize, T func, size_t dynamicSMemSize = 0, int blockSizeLimit = 0);
 template < typename UnaryFunction, class T >__host__ cudaError_t cudaOccupancyMaxPotentialBlockSizeVariableSMem(int* minGridSize, int* blockSize, T func, UnaryFunction blockSizeToDynamicSMemSize, int blockSizeLimit = 0);
 template < typename UnaryFunction, class T >__host__ cudaError_t cudaOccupancyMaxPotentialBlockSizeVariableSMemWithFlags(int* minGridSize, int* blockSize, T func, UnaryFunction blockSizeToDynamicSMemSize, int blockSizeLimit = 0, unsigned int flags = 0);
 template < class T >__host__ cudaError_t cudaOccupancyMaxPotentialBlockSizeWithFlags(int* minGridSize, int* blockSize, T func, size_t dynamicSMemSize = 0, int blockSizeLimit = 0, unsigned int flags = 0);
-template < class T >__host__ cudaError_t cudaOccupancyMaxPotentialClusterSize(int* clusterSize, T* func, const cudaLaunchConfig_t* config);
 template < class T >__host__ cudaError_t cudaStreamAttachMemAsync(cudaStream_t stream, T* devPtr, size_t length = 0, unsigned int flags = cudaMemAttachSingle);
 template < class T, int dim, enum cudaTextureReadMode readMode >__host__ cudaError_t cudaUnbindTexture(const texture < T, dim, readMode > & tex);

6.33. Interactions with the CUDA Driver API#

 cudaError_t cudaGetFuncBySymbol(cudaFunction_t* functionPtr, const void* symbolPtr);

6.34. Profiler Control [DEPRECATED]#

 cudaError_t cudaProfilerInitialize(const char* configFile, const char* outputFile, cudaOutputMode_t outputMode);

6.35. Profiler Control#

 cudaError_t cudaProfilerStart(void);
 cudaError_t cudaProfilerStop(void);

6.36. Data types used by CUDA Runtime#

-#define CUDA_EGL_MAX_PLANES
 #define CUDA_IPC_HANDLE_SIZE
 #define cudaArrayColorAttachment
 #define cudaArrayCubemap
 #define cudaArrayDefault
 #define cudaArrayDeferredMapping
 #define cudaArrayLayered
 #define cudaArraySparse
 #define cudaArraySparsePropertiesSingleMipTail
 #define cudaArraySurfaceLoadStore
 #define cudaArrayTextureGather
 #define cudaCooperativeLaunchMultiDeviceNoPostSync
 #define cudaCooperativeLaunchMultiDeviceNoPreSync
 #define cudaCpuDeviceId
 #define cudaDeviceBlockingSync
 #define cudaDeviceLmemResizeToMax
 #define cudaDeviceMapHost
 #define cudaDeviceMask
 #define cudaDevicePropDontCare
 #define cudaDeviceScheduleAuto
 #define cudaDeviceScheduleBlockingSync
 #define cudaDeviceScheduleMask
 #define cudaDeviceScheduleSpin
 #define cudaDeviceScheduleYield
 #define cudaEventBlockingSync
 #define cudaEventDefault
 #define cudaEventDisableTiming
 #define cudaEventInterprocess
 #define cudaEventRecordDefault
 #define cudaEventRecordExternal
 #define cudaEventWaitDefault
 #define cudaEventWaitExternal
-#define cudaExternalMemoryDedicated
-#define cudaExternalSemaphoreSignalSkipNvSciBufMemSync
-#define cudaExternalSemaphoreWaitSkipNvSciBufMemSync
 #define cudaHostAllocDefault
 #define cudaHostAllocMapped
 #define cudaHostAllocPortable
 #define cudaHostAllocWriteCombined
 #define cudaHostRegisterDefault
 #define cudaHostRegisterIoMemory
 #define cudaHostRegisterMapped
 #define cudaHostRegisterPortable
 #define cudaHostRegisterReadOnly
 #define cudaInvalidDeviceId
 #define cudaIpcMemLazyEnablePeerAccess
 #define cudaKernelNodeAttrID
 #define cudaKernelNodeAttrValue
 #define cudaMemAttachGlobal
 #define cudaMemAttachHost
 #define cudaMemAttachSingle
-#define cudaNvSciSyncAttrSignal
-#define cudaNvSciSyncAttrWait
 #define cudaOccupancyDefault
 #define cudaOccupancyDisableCachingOverride
 #define cudaPeerAccessDefault
 #define cudaStreamAttrID
 #define cudaStreamAttrValue
 #define cudaStreamDefault
 #define cudaStreamLegacy
 #define cudaStreamNonBlocking
 #define cudaStreamPerThread
 enum cudaAccessProperty
     cudaAccessPropertyNormal = 0
     cudaAccessPropertyStreaming = 1
     cudaAccessPropertyPersisting = 2
-enum cudaCGScope
 enum cudaChannelFormatKind
     cudaChannelFormatKindSigned = 0
     cudaChannelFormatKindUnsigned = 1
     cudaChannelFormatKindFloat = 2
     cudaChannelFormatKindNone = 3
     cudaChannelFormatKindNV12 = 4
     cudaChannelFormatKindUnsignedNormalized8X1 = 5
     cudaChannelFormatKindUnsignedNormalized8X2 = 6
     cudaChannelFormatKindUnsignedNormalized8X4 = 7
     cudaChannelFormatKindUnsignedNormalized16X1 = 8
     cudaChannelFormatKindUnsignedNormalized16X2 = 9
     cudaChannelFormatKindUnsignedNormalized16X4 = 10
     cudaChannelFormatKindSignedNormalized8X1 = 11
     cudaChannelFormatKindSignedNormalized8X2 = 12
     cudaChannelFormatKindSignedNormalized8X4 = 13
     cudaChannelFormatKindSignedNormalized16X1 = 14
     cudaChannelFormatKindSignedNormalized16X2 = 15
     cudaChannelFormatKindSignedNormalized16X4 = 16
     cudaChannelFormatKindUnsignedBlockCompressed1 = 17
     cudaChannelFormatKindUnsignedBlockCompressed1SRGB = 18
     cudaChannelFormatKindUnsignedBlockCompressed2 = 19
     cudaChannelFormatKindUnsignedBlockCompressed2SRGB = 20
     cudaChannelFormatKindUnsignedBlockCompressed3 = 21
     cudaChannelFormatKindUnsignedBlockCompressed3SRGB = 22
     cudaChannelFormatKindUnsignedBlockCompressed4 = 23
     cudaChannelFormatKindSignedBlockCompressed4 = 24
     cudaChannelFormatKindUnsignedBlockCompressed5 = 25
     cudaChannelFormatKindSignedBlockCompressed5 = 26
     cudaChannelFormatKindUnsignedBlockCompressed6H = 27
     cudaChannelFormatKindSignedBlockCompressed6H = 28
     cudaChannelFormatKindUnsignedBlockCompressed7 = 29
     cudaChannelFormatKindUnsignedBlockCompressed7SRGB = 30
 enum cudaClusterSchedulingPolicy
     cudaClusterSchedulingPolicyDefault = 0
     cudaClusterSchedulingPolicySpread = 1
     cudaClusterSchedulingPolicyLoadBalancing = 2
 enum cudaComputeMode
     cudaComputeModeDefault = 0
     cudaComputeModeExclusive = 1
     cudaComputeModeProhibited = 2
     cudaComputeModeExclusiveProcess = 3
 enum cudaDeviceAttr
     cudaDevAttrMaxThreadsPerBlock = 1
     cudaDevAttrMaxBlockDimX = 2
     cudaDevAttrMaxBlockDimY = 3
     cudaDevAttrMaxBlockDimZ = 4
     cudaDevAttrMaxGridDimX = 5
     cudaDevAttrMaxGridDimY = 6
     cudaDevAttrMaxGridDimZ = 7
     cudaDevAttrMaxSharedMemoryPerBlock = 8
     cudaDevAttrTotalConstantMemory = 9
     cudaDevAttrWarpSize = 10
     cudaDevAttrMaxPitch = 11
     cudaDevAttrMaxRegistersPerBlock = 12
     cudaDevAttrClockRate = 13
     cudaDevAttrTextureAlignment = 14
     cudaDevAttrGpuOverlap = 15
     cudaDevAttrMultiProcessorCount = 16
     cudaDevAttrKernelExecTimeout = 17
     cudaDevAttrIntegrated = 18
     cudaDevAttrCanMapHostMemory = 19
     cudaDevAttrComputeMode = 20
     cudaDevAttrMaxTexture1DWidth = 21
     cudaDevAttrMaxTexture2DWidth = 22
     cudaDevAttrMaxTexture2DHeight = 23
     cudaDevAttrMaxTexture3DWidth = 24
     cudaDevAttrMaxTexture3DHeight = 25
     cudaDevAttrMaxTexture3DDepth = 26
     cudaDevAttrMaxTexture2DLayeredWidth = 27
     cudaDevAttrMaxTexture2DLayeredHeight = 28
     cudaDevAttrMaxTexture2DLayeredLayers = 29
     cudaDevAttrSurfaceAlignment = 30
     cudaDevAttrConcurrentKernels = 31
     cudaDevAttrEccEnabled = 32
     cudaDevAttrPciBusId = 33
     cudaDevAttrPciDeviceId = 34
     cudaDevAttrTccDriver = 35
     cudaDevAttrMemoryClockRate = 36
     cudaDevAttrGlobalMemoryBusWidth = 37
     cudaDevAttrL2CacheSize = 38
     cudaDevAttrMaxThreadsPerMultiProcessor = 39
     cudaDevAttrAsyncEngineCount = 40
     cudaDevAttrUnifiedAddressing = 41
     cudaDevAttrMaxTexture1DLayeredWidth = 42
     cudaDevAttrMaxTexture1DLayeredLayers = 43
     cudaDevAttrMaxTexture2DGatherWidth = 45
     cudaDevAttrMaxTexture2DGatherHeight = 46
     cudaDevAttrMaxTexture3DWidthAlt = 47
     cudaDevAttrMaxTexture3DHeightAlt = 48
     cudaDevAttrMaxTexture3DDepthAlt = 49
     cudaDevAttrPciDomainId = 50
     cudaDevAttrTexturePitchAlignment = 51
     cudaDevAttrMaxTextureCubemapWidth = 52
     cudaDevAttrMaxTextureCubemapLayeredWidth = 53
     cudaDevAttrMaxTextureCubemapLayeredLayers = 54
     cudaDevAttrMaxSurface1DWidth = 55
     cudaDevAttrMaxSurface2DWidth = 56
     cudaDevAttrMaxSurface2DHeight = 57
     cudaDevAttrMaxSurface3DWidth = 58
     cudaDevAttrMaxSurface3DHeight = 59
     cudaDevAttrMaxSurface3DDepth = 60
     cudaDevAttrMaxSurface1DLayeredWidth = 61
     cudaDevAttrMaxSurface1DLayeredLayers = 62
     cudaDevAttrMaxSurface2DLayeredWidth = 63
     cudaDevAttrMaxSurface2DLayeredHeight = 64
     cudaDevAttrMaxSurface2DLayeredLayers = 65
     cudaDevAttrMaxSurfaceCubemapWidth = 66
     cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67
     cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68
     cudaDevAttrMaxTexture1DLinearWidth = 69
     cudaDevAttrMaxTexture2DLinearWidth = 70
     cudaDevAttrMaxTexture2DLinearHeight = 71
     cudaDevAttrMaxTexture2DLinearPitch = 72
     cudaDevAttrMaxTexture2DMipmappedWidth = 73
     cudaDevAttrMaxTexture2DMipmappedHeight = 74
     cudaDevAttrComputeCapabilityMajor = 75
     cudaDevAttrComputeCapabilityMinor = 76
     cudaDevAttrMaxTexture1DMipmappedWidth = 77
     cudaDevAttrStreamPrioritiesSupported = 78
     cudaDevAttrGlobalL1CacheSupported = 79
     cudaDevAttrLocalL1CacheSupported = 80
     cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81
     cudaDevAttrMaxRegistersPerMultiprocessor = 82
     cudaDevAttrManagedMemory = 83
     cudaDevAttrIsMultiGpuBoard = 84
     cudaDevAttrMultiGpuBoardGroupID = 85
     cudaDevAttrHostNativeAtomicSupported = 86
     cudaDevAttrSingleToDoublePrecisionPerfRatio = 87
     cudaDevAttrPageableMemoryAccess = 88
     cudaDevAttrConcurrentManagedAccess = 89
     cudaDevAttrComputePreemptionSupported = 90
     cudaDevAttrCanUseHostPointerForRegisteredMem = 91
     cudaDevAttrReserved92 = 92
     cudaDevAttrReserved93 = 93
     cudaDevAttrReserved94 = 94
     cudaDevAttrCooperativeLaunch = 95
     cudaDevAttrCooperativeMultiDeviceLaunch = 96
     cudaDevAttrMaxSharedMemoryPerBlockOptin = 97
     cudaDevAttrCanFlushRemoteWrites = 98
     cudaDevAttrHostRegisterSupported = 99
     cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100
     cudaDevAttrDirectManagedMemAccessFromHost = 101
     cudaDevAttrMaxBlocksPerMultiprocessor = 106
     cudaDevAttrMaxPersistingL2CacheSize = 108
     cudaDevAttrMaxAccessPolicyWindowSize = 109
     cudaDevAttrReservedSharedMemoryPerBlock = 111
     cudaDevAttrSparseCudaArraySupported = 112
     cudaDevAttrHostRegisterReadOnlySupported = 113
     cudaDevAttrTimelineSemaphoreInteropSupported = 114
     cudaDevAttrMaxTimelineSemaphoreInteropSupported = 114
     cudaDevAttrMemoryPoolsSupported = 115
     cudaDevAttrGPUDirectRDMASupported = 116
     cudaDevAttrGPUDirectRDMAFlushWritesOptions = 117
     cudaDevAttrGPUDirectRDMAWritesOrdering = 118
     cudaDevAttrMemoryPoolSupportedHandleTypes = 119
     cudaDevAttrClusterLaunch = 120
     cudaDevAttrDeferredMappingCudaArraySupported = 121
-    cudaDevAttrMax = 122
 enum cudaDeviceP2PAttr
     cudaDevP2PAttrPerformanceRank = 1
     cudaDevP2PAttrAccessSupported = 2
     cudaDevP2PAttrNativeAtomicSupported = 3
     cudaDevP2PAttrCudaArrayAccessSupported = 4
-enum cudaEglColorFormat
-enum cudaEglFrameType
-enum cudaEglResourceLocationFlags
 enum cudaError
     cudaSuccess = 0
     cudaErrorInvalidValue = 1
     cudaErrorMemoryAllocation = 2
     cudaErrorInitializationError = 3
     cudaErrorCudartUnloading = 4
     cudaErrorProfilerDisabled = 5
     cudaErrorProfilerNotInitialized = 6
     cudaErrorProfilerAlreadyStarted = 7
     cudaErrorProfilerAlreadyStopped = 8
     cudaErrorInvalidConfiguration = 9
     cudaErrorInvalidPitchValue = 12
     cudaErrorInvalidSymbol = 13
     cudaErrorInvalidHostPointer = 16
     cudaErrorInvalidDevicePointer = 17
     cudaErrorInvalidTexture = 18
     cudaErrorInvalidTextureBinding = 19
     cudaErrorInvalidChannelDescriptor = 20
     cudaErrorInvalidMemcpyDirection = 21
     cudaErrorAddressOfConstant = 22
     cudaErrorTextureFetchFailed = 23
     cudaErrorTextureNotBound = 24
     cudaErrorSynchronizationError = 25
     cudaErrorInvalidFilterSetting = 26
     cudaErrorInvalidNormSetting = 27
     cudaErrorMixedDeviceExecution = 28
     cudaErrorNotYetImplemented = 31
     cudaErrorMemoryValueTooLarge = 32
     cudaErrorStubLibrary = 34
     cudaErrorInsufficientDriver = 35
     cudaErrorCallRequiresNewerDriver = 36
     cudaErrorInvalidSurface = 37
     cudaErrorDuplicateVariableName = 43
     cudaErrorDuplicateTextureName = 44
     cudaErrorDuplicateSurfaceName = 45
     cudaErrorDevicesUnavailable = 46
     cudaErrorIncompatibleDriverContext = 49
     cudaErrorMissingConfiguration = 52
     cudaErrorPriorLaunchFailure = 53
     cudaErrorLaunchMaxDepthExceeded = 65
     cudaErrorLaunchFileScopedTex = 66
     cudaErrorLaunchFileScopedSurf = 67
     cudaErrorSyncDepthExceeded = 68
     cudaErrorLaunchPendingCountExceeded = 69
     cudaErrorInvalidDeviceFunction = 98
     cudaErrorNoDevice = 100
     cudaErrorInvalidDevice = 101
     cudaErrorDeviceNotLicensed = 102
     cudaErrorSoftwareValidityNotEstablished = 103
     cudaErrorStartupFailure = 127
     cudaErrorInvalidKernelImage = 200
     cudaErrorDeviceUninitialized = 201
     cudaErrorMapBufferObjectFailed = 205
     cudaErrorUnmapBufferObjectFailed = 206
     cudaErrorArrayIsMapped = 207
     cudaErrorAlreadyMapped = 208
     cudaErrorNoKernelImageForDevice = 209
     cudaErrorAlreadyAcquired = 210
     cudaErrorNotMapped = 211
     cudaErrorNotMappedAsArray = 212
     cudaErrorNotMappedAsPointer = 213
     cudaErrorECCUncorrectable = 214
     cudaErrorUnsupportedLimit = 215
     cudaErrorDeviceAlreadyInUse = 216
     cudaErrorPeerAccessUnsupported = 217
     cudaErrorInvalidPtx = 218
     cudaErrorInvalidGraphicsContext = 219
     cudaErrorNvlinkUncorrectable = 220
     cudaErrorJitCompilerNotFound = 221
     cudaErrorUnsupportedPtxVersion = 222
     cudaErrorJitCompilationDisabled = 223
     cudaErrorUnsupportedExecAffinity = 224
     cudaErrorInvalidSource = 300
     cudaErrorFileNotFound = 301
     cudaErrorSharedObjectSymbolNotFound = 302
     cudaErrorSharedObjectInitFailed = 303
     cudaErrorOperatingSystem = 304
     cudaErrorInvalidResourceHandle = 400
     cudaErrorIllegalState = 401
     cudaErrorSymbolNotFound = 500
     cudaErrorNotReady = 600
     cudaErrorIllegalAddress = 700
     cudaErrorLaunchOutOfResources = 701
     cudaErrorLaunchTimeout = 702
     cudaErrorLaunchIncompatibleTexturing = 703
     cudaErrorPeerAccessAlreadyEnabled = 704
     cudaErrorPeerAccessNotEnabled = 705
     cudaErrorSetOnActiveProcess = 708
     cudaErrorContextIsDestroyed = 709
     cudaErrorAssert = 710
     cudaErrorTooManyPeers = 711
     cudaErrorHostMemoryAlreadyRegistered = 712
     cudaErrorHostMemoryNotRegistered = 713
     cudaErrorHardwareStackError = 714
     cudaErrorIllegalInstruction = 715
     cudaErrorMisalignedAddress = 716
     cudaErrorInvalidAddressSpace = 717
     cudaErrorInvalidPc = 718
     cudaErrorLaunchFailure = 719
     cudaErrorCooperativeLaunchTooLarge = 720
     cudaErrorNotPermitted = 800
     cudaErrorNotSupported = 801
     cudaErrorSystemNotReady = 802
     cudaErrorSystemDriverMismatch = 803
     cudaErrorCompatNotSupportedOnDevice = 804
     cudaErrorMpsConnectionFailed = 805
     cudaErrorMpsRpcFailure = 806
     cudaErrorMpsServerNotReady = 807
     cudaErrorMpsMaxClientsReached = 808
     cudaErrorMpsMaxConnectionsReached = 809
     cudaErrorMpsClientTerminated = 810
     cudaErrorStreamCaptureUnsupported = 900
     cudaErrorStreamCaptureInvalidated = 901
     cudaErrorStreamCaptureMerge = 902
     cudaErrorStreamCaptureUnmatched = 903
     cudaErrorStreamCaptureUnjoined = 904
     cudaErrorStreamCaptureIsolation = 905
     cudaErrorStreamCaptureImplicit = 906
     cudaErrorCapturedEvent = 907
     cudaErrorStreamCaptureWrongThread = 908
     cudaErrorTimeout = 909
     cudaErrorGraphExecUpdateFailure = 910
     cudaErrorExternalDevice = 911
     cudaErrorInvalidClusterSize = 912
     cudaErrorUnknown = 999
     cudaErrorApiFailureBase = 10000
-enum cudaExternalMemoryHandleType
-enum cudaExternalSemaphoreHandleType
 enum cudaFlushGPUDirectRDMAWritesOptions
     cudaFlushGPUDirectRDMAWritesOptionHost = 1
     cudaFlushGPUDirectRDMAWritesOptionMemOps = 2
 enum cudaFlushGPUDirectRDMAWritesScope
     cudaFlushGPUDirectRDMAWritesToOwner = 100
     cudaFlushGPUDirectRDMAWritesToAllDevices = 200
 enum cudaFlushGPUDirectRDMAWritesTarget
     cudaFlushGPUDirectRDMAWritesTargetCurrentDevice = 0
 enum cudaFuncAttribute
     cudaFuncAttributeMaxDynamicSharedMemorySize = 8
     cudaFuncAttributePreferredSharedMemoryCarveout = 9
     cudaFuncAttributeClusterDimMustBeSet = 10
     cudaFuncAttributeRequiredClusterWidth = 11
     cudaFuncAttributeRequiredClusterHeight = 12
     cudaFuncAttributeRequiredClusterDepth = 13
     cudaFuncAttributeNonPortableClusterSizeAllowed = 14
     cudaFuncAttributeClusterSchedulingPolicyPreference = 15
     cudaFuncAttributeMax = 16
 enum cudaFuncCache
     cudaFuncCachePreferNone = 0
     cudaFuncCachePreferShared = 1
     cudaFuncCachePreferL1 = 2
     cudaFuncCachePreferEqual = 3
 enum cudaGPUDirectRDMAWritesOrdering
     cudaGPUDirectRDMAWritesOrderingNone = 0
     cudaGPUDirectRDMAWritesOrderingOwner = 100
     cudaGPUDirectRDMAWritesOrderingAllDevices = 200
 enum cudaGetDriverEntryPointFlags
     cudaEnableDefault = 0
     cudaEnableLegacyStream = 1
     cudaEnablePerThreadDefaultStream = 2
 enum cudaGraphDebugDotFlags
     cudaGraphDebugDotFlagsVerbose = 1
     cudaGraphDebugDotFlagsKernelNodeParams = 4
     cudaGraphDebugDotFlagsMemcpyNodeParams = 8
     cudaGraphDebugDotFlagsMemsetNodeParams = 16
     cudaGraphDebugDotFlagsHostNodeParams = 32
     cudaGraphDebugDotFlagsEventNodeParams = 64
     cudaGraphDebugDotFlagsExtSemasSignalNodeParams = 128
     cudaGraphDebugDotFlagsExtSemasWaitNodeParams = 256
     cudaGraphDebugDotFlagsKernelNodeAttributes = 512
     cudaGraphDebugDotFlagsHandles = 1024
 enum cudaGraphExecUpdateResult
     cudaGraphExecUpdateSuccess = 0
     cudaGraphExecUpdateError = 1
     cudaGraphExecUpdateErrorTopologyChanged = 2
     cudaGraphExecUpdateErrorNodeTypeChanged = 3
     cudaGraphExecUpdateErrorFunctionChanged = 4
     cudaGraphExecUpdateErrorParametersChanged = 5
     cudaGraphExecUpdateErrorNotSupported = 6
     cudaGraphExecUpdateErrorUnsupportedFunctionChange = 7
     cudaGraphExecUpdateErrorAttributesChanged = 8
 enum cudaGraphInstantiateFlags
     cudaGraphInstantiateFlagAutoFreeOnLaunch = 1
     cudaGraphInstantiateFlagUseNodePriority = 8
-enum cudaGraphMemAttributeType
 enum cudaGraphNodeType
     cudaGraphNodeTypeKernel = 0
     cudaGraphNodeTypeMemcpy = 1
     cudaGraphNodeTypeMemset = 2
     cudaGraphNodeTypeHost = 3
     cudaGraphNodeTypeGraph = 4
     cudaGraphNodeTypeEmpty = 5
     cudaGraphNodeTypeWaitEvent = 6
     cudaGraphNodeTypeEventRecord = 7
     cudaGraphNodeTypeExtSemaphoreSignal = 8
     cudaGraphNodeTypeExtSemaphoreWait = 9
     cudaGraphNodeTypeMemAlloc = 10
     cudaGraphNodeTypeMemFree = 11
-    cudaGraphNodeTypeCount = 12
 enum cudaGraphicsCubeFace
     cudaGraphicsCubeFacePositiveX = 0
     cudaGraphicsCubeFaceNegativeX = 1
     cudaGraphicsCubeFacePositiveY = 2
     cudaGraphicsCubeFaceNegativeY = 3
     cudaGraphicsCubeFacePositiveZ = 4
     cudaGraphicsCubeFaceNegativeZ = 5
 enum cudaGraphicsMapFlags
     cudaGraphicsMapFlagsNone = 0
     cudaGraphicsMapFlagsReadOnly = 1
     cudaGraphicsMapFlagsWriteDiscard = 2
 enum cudaGraphicsRegisterFlags
     cudaGraphicsRegisterFlagsNone = 0
     cudaGraphicsRegisterFlagsReadOnly = 1
     cudaGraphicsRegisterFlagsWriteDiscard = 2
     cudaGraphicsRegisterFlagsSurfaceLoadStore = 4
     cudaGraphicsRegisterFlagsTextureGather = 8
 enum cudaLaunchAttributeID
     cudaLaunchAttributeIgnore = 0
     cudaLaunchAttributeAccessPolicyWindow = 1
     cudaLaunchAttributeCooperative = 2
     cudaLaunchAttributeSynchronizationPolicy = 3
     cudaLaunchAttributeClusterDimension = 4
     cudaLaunchAttributeClusterSchedulingPolicyPreference = 5
     cudaLaunchAttributeProgrammaticStreamSerialization = 6
     cudaLaunchAttributeProgrammaticEvent = 7
     cudaLaunchAttributePriority = 8
 enum cudaLimit
     cudaLimitStackSize = 0
     cudaLimitPrintfFifoSize = 1
     cudaLimitMallocHeapSize = 2
     cudaLimitDevRuntimeSyncDepth = 3
     cudaLimitDevRuntimePendingLaunchCount = 4
     cudaLimitMaxL2FetchGranularity = 5
     cudaLimitPersistingL2CacheSize = 6
 enum cudaMemAccessFlags
     cudaMemAccessFlagsProtNone = 0
     cudaMemAccessFlagsProtRead = 1
     cudaMemAccessFlagsProtReadWrite = 3
 enum cudaMemAllocationHandleType
     cudaMemHandleTypeNone = 0
     cudaMemHandleTypePosixFileDescriptor = 1
     cudaMemHandleTypeWin32 = 2
     cudaMemHandleTypeWin32Kmt = 4
 enum cudaMemAllocationType
     cudaMemAllocationTypeInvalid = 0
     cudaMemAllocationTypePinned = 1
     cudaMemAllocationTypeMax = 2147483647
 enum cudaMemLocationType
     cudaMemLocationTypeInvalid = 0
     cudaMemLocationTypeDevice = 1
 enum cudaMemPoolAttr
     cudaMemPoolReuseFollowEventDependencies = 1
     cudaMemPoolReuseAllowOpportunistic = 2
     cudaMemPoolReuseAllowInternalDependencies = 3
     cudaMemPoolAttrReleaseThreshold = 4
     cudaMemPoolAttrReservedMemCurrent = 5
     cudaMemPoolAttrReservedMemHigh = 6
     cudaMemPoolAttrUsedMemCurrent = 7
     cudaMemPoolAttrUsedMemHigh = 8
 enum cudaMemRangeAttribute
     cudaMemRangeAttributeReadMostly = 1
     cudaMemRangeAttributePreferredLocation = 2
     cudaMemRangeAttributeAccessedBy = 3
     cudaMemRangeAttributeLastPrefetchLocation = 4
 enum cudaMemcpyKind
     cudaMemcpyHostToHost = 0
     cudaMemcpyHostToDevice = 1
     cudaMemcpyDeviceToHost = 2
     cudaMemcpyDeviceToDevice = 3
     cudaMemcpyDefault = 4
 enum cudaMemoryAdvise
     cudaMemAdviseSetReadMostly = 1
     cudaMemAdviseUnsetReadMostly = 2
     cudaMemAdviseSetPreferredLocation = 3
     cudaMemAdviseUnsetPreferredLocation = 4
     cudaMemAdviseSetAccessedBy = 5
     cudaMemAdviseUnsetAccessedBy = 6
 enum cudaMemoryType
     cudaMemoryTypeUnregistered = 0
     cudaMemoryTypeHost = 1
     cudaMemoryTypeDevice = 2
     cudaMemoryTypeManaged = 3
 enum cudaOutputMode
     cudaKeyValuePair = 0
     cudaCSV = 1
 enum cudaResourceType
     cudaResourceTypeArray = 0
     cudaResourceTypeMipmappedArray = 1
     cudaResourceTypeLinear = 2
     cudaResourceTypePitch2D = 3
 enum cudaResourceViewFormat
     cudaResViewFormatNone = 0
     cudaResViewFormatUnsignedChar1 = 1
     cudaResViewFormatUnsignedChar2 = 2
     cudaResViewFormatUnsignedChar4 = 3
     cudaResViewFormatSignedChar1 = 4
     cudaResViewFormatSignedChar2 = 5
     cudaResViewFormatSignedChar4 = 6
     cudaResViewFormatUnsignedShort1 = 7
     cudaResViewFormatUnsignedShort2 = 8
     cudaResViewFormatUnsignedShort4 = 9
     cudaResViewFormatSignedShort1 = 10
     cudaResViewFormatSignedShort2 = 11
     cudaResViewFormatSignedShort4 = 12
     cudaResViewFormatUnsignedInt1 = 13
     cudaResViewFormatUnsignedInt2 = 14
     cudaResViewFormatUnsignedInt4 = 15
     cudaResViewFormatSignedInt1 = 16
     cudaResViewFormatSignedInt2 = 17
     cudaResViewFormatSignedInt4 = 18
     cudaResViewFormatHalf1 = 19
     cudaResViewFormatHalf2 = 20
     cudaResViewFormatHalf4 = 21
     cudaResViewFormatFloat1 = 22
     cudaResViewFormatFloat2 = 23
     cudaResViewFormatFloat4 = 24
     cudaResViewFormatUnsignedBlockCompressed1 = 25
     cudaResViewFormatUnsignedBlockCompressed2 = 26
     cudaResViewFormatUnsignedBlockCompressed3 = 27
     cudaResViewFormatUnsignedBlockCompressed4 = 28
     cudaResViewFormatSignedBlockCompressed4 = 29
     cudaResViewFormatUnsignedBlockCompressed5 = 30
     cudaResViewFormatSignedBlockCompressed5 = 31
     cudaResViewFormatUnsignedBlockCompressed6H = 32
     cudaResViewFormatSignedBlockCompressed6H = 33
     cudaResViewFormatUnsignedBlockCompressed7 = 34
 enum cudaSharedCarveout
     cudaSharedmemCarveoutDefault = 18446744073709551615
     cudaSharedmemCarveoutMaxShared = 100
     cudaSharedmemCarveoutMaxL1 = 0
 enum cudaSharedMemConfig
     cudaSharedMemBankSizeDefault = 0
     cudaSharedMemBankSizeFourByte = 1
     cudaSharedMemBankSizeEightByte = 2
 enum cudaStreamCaptureMode
     cudaStreamCaptureModeGlobal = 0
     cudaStreamCaptureModeThreadLocal = 1
     cudaStreamCaptureModeRelaxed = 2
 enum cudaStreamCaptureStatus
     cudaStreamCaptureStatusNone = 0
     cudaStreamCaptureStatusActive = 1
     cudaStreamCaptureStatusInvalidated = 2
 enum cudaStreamUpdateCaptureDependenciesFlags
     cudaStreamAddCaptureDependencies = 0
     cudaStreamSetCaptureDependencies = 1
 enum cudaSurfaceBoundaryMode
     cudaBoundaryModeZero = 0
     cudaBoundaryModeClamp = 1
     cudaBoundaryModeTrap = 2
 enum cudaSurfaceFormatMode
     cudaFormatModeForced = 0
     cudaFormatModeAuto = 1
 enum cudaTextureAddressMode
     cudaAddressModeWrap = 0
     cudaAddressModeClamp = 1
     cudaAddressModeMirror = 2
     cudaAddressModeBorder = 3
 enum cudaTextureFilterMode
     cudaFilterModePoint = 0
     cudaFilterModeLinear = 1
 enum cudaTextureReadMode
     cudaReadModeElementType = 0
     cudaReadModeNormalizedFloat = 1
 enum cudaUserObjectFlags
     cudaUserObjectNoDestructorSync = 1
 enum cudaUserObjectRetainFlags
     cudaGraphUserObjectMove = 1
 struct CUuuid_st
 struct cudaAccessPolicyWindow
     base_ptr
     hitProp
     hitRatio
     missProp
     num_bytes
 struct cudaArrayMemoryRequirements
     alignment
     size
 struct cudaArraySparseProperties
     depth
     flags
     height
     miptailFirstLevel
     miptailSize
     width
 struct cudaChannelFormatDesc
     f
     w
     x
     y
     z
 struct cudaDeviceProp
     ECCEnabled
     accessPolicyMaxWindowSize
     asyncEngineCount
     canMapHostMemory
     canUseHostPointerForRegisteredMem
     clockRate
     computeMode
     computePreemptionSupported
     concurrentKernels
     concurrentManagedAccess
     cooperativeLaunch
     cooperativeMultiDeviceLaunch
     deviceOverlap
     directManagedMemAccessFromHost
     globalL1CacheSupported
     hostNativeAtomicSupported
     integrated
     isMultiGpuBoard
     kernelExecTimeoutEnabled
     l2CacheSize
     localL1CacheSupported
     luid
     luidDeviceNodeMask
     major
     managedMemory
     maxBlocksPerMultiProcessor
     maxGridSize
     maxSurface1D
     maxSurface1DLayered
     maxSurface2D
     maxSurface2DLayered
     maxSurface3D
     maxSurfaceCubemap
     maxSurfaceCubemapLayered
     maxTexture1D
     maxTexture1DLayered
     maxTexture1DLinear
     maxTexture1DMipmap
     maxTexture2D
     maxTexture2DGather
     maxTexture2DLayered
     maxTexture2DLinear
     maxTexture2DMipmap
     maxTexture3D
     maxTexture3DAlt
     maxTextureCubemap
     maxTextureCubemapLayered
     maxThreadsDim
     maxThreadsPerBlock
     maxThreadsPerMultiProcessor
     memPitch
     memoryBusWidth
     memoryClockRate
     minor
     multiGpuBoardGroupID
     multiProcessorCount
     name
     pageableMemoryAccess
     pageableMemoryAccessUsesHostPageTables
     pciBusID
     pciDeviceID
     pciDomainID
     persistingL2CacheMaxSize
     regsPerBlock
     regsPerMultiprocessor
     reservedSharedMemPerBlock
     sharedMemPerBlock
     sharedMemPerBlockOptin
     sharedMemPerMultiprocessor
     singleToDoublePrecisionPerfRatio
     streamPrioritiesSupported
     surfaceAlignment
     tccDriver
     textureAlignment
     texturePitchAlignment
     totalConstMem
     totalGlobalMem
     unifiedAddressing
     uuid
     warpSize
-struct cudaEglFrame
-struct cudaEglPlaneDesc
 struct cudaExtent
     depth
     height
     width
-struct cudaExternalMemoryBufferDesc
 struct cudaExternalMemoryHandleDesc
-struct cudaExternalMemoryMipmappedArrayDesc
 struct cudaExternalSemaphoreHandleDesc
-struct cudaExternalSemaphoreSignalNodeParams
 struct cudaExternalSemaphoreSignalParams
 struct cudaExternalSemaphoreSignalParams_v1
-struct cudaExternalSemaphoreWaitNodeParams
 struct cudaExternalSemaphoreWaitParams
 struct cudaExternalSemaphoreWaitParams_v1
 struct cudaFuncAttributes
     binaryVersion
     cacheModeCA
     constSizeBytes
     localSizeBytes
     maxDynamicSharedSizeBytes
     maxThreadsPerBlock
     numRegs
     preferredShmemCarveout
     ptxVersion
     sharedSizeBytes
 struct cudaHostNodeParams
     fn
     userData
 struct cudaIpcEventHandle_t
 struct cudaIpcMemHandle_t
 struct cudaKernelNodeParams
     blockDim
     extra
     func
     gridDim
     kernelParams
     sharedMemBytes
 struct cudaLaunchAttribute
 union cudaLaunchAttributeValue
 struct cudaLaunchConfig_t
     attrs
     blockDim
     dynamicSmemBytes
     gridDim
     numAttrs
     stream
 struct cudaLaunchParams
     args
     blockDim
     func
     gridDim
     sharedMem
     stream
 struct cudaMemAccessDesc
     flags
     location
 struct cudaMemAllocNodeParams
     accessDescCount
     accessDescs
     bytesize
     dptr
     poolProps
 struct cudaMemLocation
     id
     type
 struct cudaMemPoolProps
     allocType
     handleTypes
     location
-    reserved
     win32SecurityAttributes
 struct cudaMemPoolPtrExportData
 struct cudaMemcpy3DParms
     dstArray
     dstPos
     dstPtr
     extent
     kind
     srcArray
     srcPos
     srcPtr
 struct cudaMemcpy3DPeerParms
     dstArray
     dstDevice
     dstPos
     dstPtr
     extent
     srcArray
     srcDevice
     srcPos
     srcPtr
 struct cudaMemsetParams
     dst
     elementSize
     height
     pitch
     value
     width
 struct cudaPitchedPtr
     pitch
     ptr
     xsize
     ysize
 struct cudaPointerAttributes
     device
     devicePointer
     hostPointer
     type
 struct cudaPos
     x
     y
     z
 struct cudaResourceDesc
     array
     desc
     devPtr
     height
     mipmap
     pitchInBytes
     resType
     sizeInBytes
     width
 struct cudaResourceViewDesc
     depth
     firstLayer
     firstMipmapLevel
     format
     height
     lastLayer
     lastMipmapLevel
     width
 struct cudaTextureDesc
     addressMode
     borderColor
     disableTrilinearOptimization
     filterMode
     maxAnisotropy
     maxMipmapLevelClamp
     minMipmapLevelClamp
     mipmapFilterMode
     mipmapLevelBias
     normalizedCoords
     readMode
     sRGB
-struct surfaceReference
 struct textureReference
     addressMode
     channelDesc
-    disableTrilinearOptimization
     filterMode
     maxAnisotropy
     maxMipmapLevelClamp
     minMipmapLevelClamp
     mipmapFilterMode
     mipmapLevelBias
     normalized
     sRGB
 typedef const cudaArray * cudaArray_const_t;
 typedef cudaArray * cudaArray_t;
-typedef CUeglStreamConnection_st * cudaEglStreamConnection;
 typedef enum cudaError cudaError_t;
 typedef CUevent_st * cudaEvent_t;
-typedef CUexternalMemory_st * cudaExternalMemory_t;
-typedef CUexternalSemaphore_st * cudaExternalSemaphore_t;
 typedef CUfunc_st * cudaFunction_t;
 typedef CUgraphExec_st * cudaGraphExec_t;
 typedef CUgraphNode_st * cudaGraphNode_t;
 typedef CUgraph_st * cudaGraph_t;
 typedef cudaGraphicsResource * cudaGraphicsResource_t;
 typedef void(* cudaHostFn_t)(void* userData);
 typedef CUmemPoolHandle_st * cudaMemPool_t;
 typedef const cudaMipmappedArray * cudaMipmappedArray_const_t;
 typedef cudaMipmappedArray * cudaMipmappedArray_t;
 typedef enum cudaOutputMode cudaOutputMode_t;
 typedef CUstream_st * cudaStream_t;
 typedef unsigned long long cudaSurfaceObject_t;
 typedef unsigned long long cudaTextureObject_t;
 typedef CUuserObject_st * cudaUserObject_t;

80% (521 of 648 declarations available)

6.1. Device Management#

 cudaError_t cudaChooseDevice(int* device, const cudaDeviceProp* prop);
 cudaError_t cudaDeviceFlushGPUDirectRDMAWrites(cudaFlushGPUDirectRDMAWritesTarget target, cudaFlushGPUDirectRDMAWritesScope scope);
 cudaError_t cudaDeviceGetAttribute(int* value, cudaDeviceAttr attr, int device);
 __device__ cudaError_t cudaDeviceGetAttribute(int* value, cudaDeviceAttr attr, int device);
 cudaError_t cudaDeviceGetByPCIBusId(int* device, const char* pciBusId);
 cudaError_t cudaDeviceGetCacheConfig(cudaFuncCache* pCacheConfig);
 __device__ cudaError_t cudaDeviceGetCacheConfig(cudaFuncCache* pCacheConfig);
 cudaError_t cudaDeviceGetDefaultMemPool(cudaMemPool_t* memPool, int device);
 cudaError_t cudaDeviceGetLimit(size_t* pValue, cudaLimit limit);
 __device__ cudaError_t cudaDeviceGetLimit(size_t* pValue, cudaLimit limit);
 cudaError_t cudaDeviceGetMemPool(cudaMemPool_t* memPool, int device);
-cudaError_t cudaDeviceGetNvSciSyncAttributes(void* nvSciSyncAttrList, int device, int flags);
 cudaError_t cudaDeviceGetP2PAttribute(int* value, cudaDeviceP2PAttr attr, int srcDevice, int dstDevice);
 cudaError_t cudaDeviceGetPCIBusId(char* pciBusId, int len, int device);
 cudaError_t cudaDeviceGetStreamPriorityRange(int* leastPriority, int* greatestPriority);
 cudaError_t cudaDeviceGetTexture1DLinearMaxWidth(size_t* maxWidthInElements, const cudaChannelFormatDesc* fmtDesc, int device);
-cudaError_t cudaDeviceRegisterAsyncNotification(int device, cudaAsyncCallback callbackFunc, void* userData, cudaAsyncCallbackHandle_t* callback);
 cudaError_t cudaDeviceReset(void);
 cudaError_t cudaDeviceSetCacheConfig(cudaFuncCache cacheConfig);
 cudaError_t cudaDeviceSetLimit(cudaLimit limit, size_t value);
 cudaError_t cudaDeviceSetMemPool(int device, cudaMemPool_t memPool);
 cudaError_t cudaDeviceSynchronize(void);
-__device__ cudaError_t cudaDeviceSynchronize(void);
-cudaError_t cudaDeviceUnregisterAsyncNotification(int device, cudaAsyncCallbackHandle_t callback);
 cudaError_t cudaGetDevice(int* device);
 __device__ cudaError_t cudaGetDevice(int* device);
 cudaError_t cudaGetDeviceCount(int* count);
 __device__ cudaError_t cudaGetDeviceCount(int* count);
 cudaError_t cudaGetDeviceFlags(unsigned int* flags);
 cudaError_t cudaGetDeviceProperties(cudaDeviceProp* prop, int device);
 cudaError_t cudaInitDevice(int device, unsigned int deviceFlags, unsigned int flags);
 cudaError_t cudaIpcCloseMemHandle(void* devPtr);
 cudaError_t cudaIpcGetEventHandle(cudaIpcEventHandle_t* handle, cudaEvent_t event);
 cudaError_t cudaIpcGetMemHandle(cudaIpcMemHandle_t* handle, void* devPtr);
 cudaError_t cudaIpcOpenEventHandle(cudaEvent_t* event, cudaIpcEventHandle_t handle);
 cudaError_t cudaIpcOpenMemHandle(void** devPtr, cudaIpcMemHandle_t handle, unsigned int flags);
 cudaError_t cudaSetDevice(int device);
 cudaError_t cudaSetDeviceFlags(unsigned int flags);
 cudaError_t cudaSetValidDevices(int* device_arr, int len);

6.2. Device Management [DEPRECATED]#

 cudaError_t cudaDeviceGetSharedMemConfig(cudaSharedMemConfig ** pConfig);
 __device__ cudaError_t cudaDeviceGetSharedMemConfig(cudaSharedMemConfig ** pConfig);
 cudaError_t cudaDeviceSetSharedMemConfig(cudaSharedMemConfig config);

6.3. Thread Management [DEPRECATED]#

 cudaError_t cudaThreadExit(void);
 cudaError_t cudaThreadGetCacheConfig(cudaFuncCache ** pCacheConfig);
 cudaError_t cudaThreadGetLimit(size_t* pValue, cudaLimit limit);
 cudaError_t cudaThreadSetCacheConfig(cudaFuncCache cacheConfig);
 cudaError_t cudaThreadSetLimit(cudaLimit limit, size_t value);
 cudaError_t cudaThreadSynchronize(void);

6.4. Error Handling#

 const char* cudaGetErrorName(cudaError_t error);
 __device__ const char* cudaGetErrorName(cudaError_t error);
 const char* cudaGetErrorString(cudaError_t error);
 __device__ const char* cudaGetErrorString(cudaError_t error);
 cudaError_t cudaGetLastError(void);
-__device__ cudaError_t cudaGetLastError(void);
 cudaError_t cudaPeekAtLastError(void);
-__device__ cudaError_t cudaPeekAtLastError(void);

6.5. Stream Management#

 typedef void(* cudaStreamCallback_t)(cudaStream_t stream, cudaError_t status, void* userData);
 cudaError_t cudaCtxResetPersistingL2Cache(void);
 cudaError_t cudaStreamAddCallback(cudaStream_t stream, cudaStreamCallback_t callback, void* userData, unsigned int flags);
 cudaError_t cudaStreamAttachMemAsync(cudaStream_t stream, void* devPtr, size_t length = 0, unsigned int flags = cudaMemAttachSingle);
 cudaError_t cudaStreamBeginCapture(cudaStream_t stream, cudaStreamCaptureMode mode);
 cudaError_t cudaStreamBeginCaptureToGraph(cudaStream_t stream, cudaGraph_t graph, const cudaGraphNode_t* dependencies, const cudaGraphEdgeData* dependencyData, size_t numDependencies, cudaStreamCaptureMode mode);
 cudaError_t cudaStreamCopyAttributes(cudaStream_t dst, cudaStream_t src);
 cudaError_t cudaStreamCreate(cudaStream_t* pStream);
 cudaError_t cudaStreamCreateWithFlags(cudaStream_t* pStream, unsigned int flags);
-__device__ cudaError_t cudaStreamCreateWithFlags(cudaStream_t* pStream, unsigned int flags);
 cudaError_t cudaStreamCreateWithPriority(cudaStream_t* pStream, unsigned int flags, int priority);
 cudaError_t cudaStreamDestroy(cudaStream_t stream);
-__device__ cudaError_t cudaStreamDestroy(cudaStream_t stream);
 cudaError_t cudaStreamEndCapture(cudaStream_t stream, cudaGraph_t* pGraph);
 cudaError_t cudaStreamGetAttribute(cudaStream_t hStream, cudaStreamAttrID attr, cudaStreamAttrValue* value_out);
 cudaError_t cudaStreamGetCaptureInfo(cudaStream_t stream, cudaStreamCaptureStatus ** captureStatus_out, unsigned long long* id_out = 0, cudaGraph_t* graph_out = 0, const cudaGraphNode_t** dependencies_out = 0, size_t* numDependencies_out = 0);
 cudaError_t cudaStreamGetCaptureInfo_v3(cudaStream_t stream, cudaStreamCaptureStatus ** captureStatus_out, unsigned long long* id_out = 0, cudaGraph_t* graph_out = 0, const cudaGraphNode_t** dependencies_out = 0, const cudaGraphEdgeData** edgeData_out = 0, size_t* numDependencies_out = 0);
 cudaError_t cudaStreamGetDevice(cudaStream_t hStream, int* device);
 cudaError_t cudaStreamGetFlags(cudaStream_t hStream, unsigned int* flags);
 cudaError_t cudaStreamGetId(cudaStream_t hStream, unsigned long long* streamId);
 cudaError_t cudaStreamGetPriority(cudaStream_t hStream, int* priority);
 cudaError_t cudaStreamIsCapturing(cudaStream_t stream, cudaStreamCaptureStatus ** pCaptureStatus);
 cudaError_t cudaStreamQuery(cudaStream_t stream);
 cudaError_t cudaStreamSetAttribute(cudaStream_t hStream, cudaStreamAttrID attr, const cudaStreamAttrValue* value);
 cudaError_t cudaStreamSynchronize(cudaStream_t stream);
 cudaError_t cudaStreamUpdateCaptureDependencies(cudaStream_t stream, cudaGraphNode_t* dependencies, size_t numDependencies, unsigned int flags = 0);
 cudaError_t cudaStreamUpdateCaptureDependencies_v2(cudaStream_t stream, cudaGraphNode_t* dependencies, const cudaGraphEdgeData* dependencyData, size_t numDependencies, unsigned int flags = 0);
 cudaError_t cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags = 0);
-__device__ cudaError_t cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags = 0);
 cudaError_t cudaThreadExchangeStreamCaptureMode(cudaStreamCaptureMode ** mode);

6.6. Event Management#

 cudaError_t cudaEventCreate(cudaEvent_t* event);
 cudaError_t cudaEventCreateWithFlags(cudaEvent_t* event, unsigned int flags);
-__device__ cudaError_t cudaEventCreateWithFlags(cudaEvent_t* event, unsigned int flags);
 cudaError_t cudaEventDestroy(cudaEvent_t event);
-__device__ cudaError_t cudaEventDestroy(cudaEvent_t event);
 cudaError_t cudaEventElapsedTime(float* ms, cudaEvent_t start, cudaEvent_t end);
-cudaError_t cudaEventElapsedTime_v2(float* ms, cudaEvent_t start, cudaEvent_t end);
 cudaError_t cudaEventQuery(cudaEvent_t event);
 cudaError_t cudaEventRecord(cudaEvent_t event, cudaStream_t stream = 0);
-__device__ cudaError_t cudaEventRecord(cudaEvent_t event, cudaStream_t stream = 0);
 cudaError_t cudaEventRecordWithFlags(cudaEvent_t event, cudaStream_t stream = 0, unsigned int flags = 0);
 cudaError_t cudaEventSynchronize(cudaEvent_t event);

6.7. External Resource Interoperability#

-cudaError_t cudaDestroyExternalMemory(cudaExternalMemory_t extMem);
-cudaError_t cudaDestroyExternalSemaphore(cudaExternalSemaphore_t extSem);
-cudaError_t cudaExternalMemoryGetMappedBuffer(void** devPtr, cudaExternalMemory_t extMem, const cudaExternalMemoryBufferDesc* bufferDesc);
-cudaError_t cudaExternalMemoryGetMappedMipmappedArray(cudaMipmappedArray_t* mipmap, cudaExternalMemory_t extMem, const cudaExternalMemoryMipmappedArrayDesc* mipmapDesc);
-cudaError_t cudaImportExternalMemory(cudaExternalMemory_t* extMem_out, const cudaExternalMemoryHandleDesc* memHandleDesc);
-cudaError_t cudaImportExternalSemaphore(cudaExternalSemaphore_t* extSem_out, const cudaExternalSemaphoreHandleDesc* semHandleDesc);
-cudaError_t cudaSignalExternalSemaphoresAsync(const cudaExternalSemaphore_t* extSemArray, const cudaExternalSemaphoreSignalParams* paramsArray, unsigned int numExtSems, cudaStream_t stream = 0);
-cudaError_t cudaWaitExternalSemaphoresAsync(const cudaExternalSemaphore_t* extSemArray, const cudaExternalSemaphoreWaitParams* paramsArray, unsigned int numExtSems, cudaStream_t stream = 0);

6.8. Execution Control#

 cudaError_t cudaFuncGetAttributes(cudaFuncAttributes* attr, const void* func);
-__device__ cudaError_t cudaFuncGetAttributes(cudaFuncAttributes* attr, const void* func);
 cudaError_t cudaFuncGetName(const char** name, const void* func);
 cudaError_t cudaFuncGetParamInfo(const void* func, size_t paramIndex, size_t* paramOffset, size_t* paramSize);
 cudaError_t cudaFuncSetAttribute(const void* func, cudaFuncAttribute attr, int value);
 cudaError_t cudaFuncSetCacheConfig(const void* func, cudaFuncCache cacheConfig);
 __device__ void* cudaGetParameterBuffer(size_t alignment, size_t size);
 __device__ void cudaGridDependencySynchronize(void);
 cudaError_t cudaLaunchCooperativeKernel(const void* func, dim3 gridDim, dim3 blockDim, void** args, size_t sharedMem, cudaStream_t stream);
-cudaError_t cudaLaunchCooperativeKernelMultiDevice(cudaLaunchParams* launchParamsList, unsigned int numDevices, unsigned int flags = 0);
 __device__ cudaError_t cudaLaunchDevice(void* func, void* parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream);
 cudaError_t cudaLaunchHostFunc(cudaStream_t stream, cudaHostFn_t fn, void* userData);
 cudaError_t cudaLaunchKernel(const void* func, dim3 gridDim, dim3 blockDim, void** args, size_t sharedMem, cudaStream_t stream);
 cudaError_t cudaLaunchKernelExC(const cudaLaunchConfig_t* config, const void* func, void** args);
 cudaError_t cudaSetDoubleForDevice(double* d);
 cudaError_t cudaSetDoubleForHost(double* d);
 __device__ void cudaTriggerProgrammaticLaunchCompletion(void);

6.9. Execution Control [DEPRECATED]#

 cudaError_t cudaFuncSetSharedMemConfig(const void* func, cudaSharedMemConfig config);

6.10. Occupancy#

 cudaError_t cudaOccupancyAvailableDynamicSMemPerBlock(size_t* dynamicSmemSize, const void* func, int numBlocks, int blockSize);
 cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int* numBlocks, const void* func, int blockSize, size_t dynamicSMemSize);
-__device__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int* numBlocks, const void* func, int blockSize, size_t dynamicSMemSize);
 cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int* numBlocks, const void* func, int blockSize, size_t dynamicSMemSize, unsigned int flags);
-cudaError_t cudaOccupancyMaxActiveClusters(int* numClusters, const void* func, const cudaLaunchConfig_t* launchConfig);
-cudaError_t cudaOccupancyMaxPotentialClusterSize(int* clusterSize, const void* func, const cudaLaunchConfig_t* launchConfig);

6.11. Memory Management#

 cudaError_t cudaArrayGetInfo(cudaChannelFormatDesc* desc, cudaExtent* extent, unsigned int* flags, cudaArray_t array);
-cudaError_t cudaArrayGetMemoryRequirements(cudaArrayMemoryRequirements* memoryRequirements, cudaArray_t array, int device);
-cudaError_t cudaArrayGetPlane(cudaArray_t* pPlaneArray, cudaArray_t hArray, unsigned int planeIdx);
-cudaError_t cudaArrayGetSparseProperties(cudaArraySparseProperties* sparseProperties, cudaArray_t array);
 cudaError_t cudaFree(void* devPtr);
 __device__ cudaError_t cudaFree(void* devPtr);
 cudaError_t cudaFreeArray(cudaArray_t array);
 cudaError_t cudaFreeHost(void* ptr);
 cudaError_t cudaFreeMipmappedArray(cudaMipmappedArray_t mipmappedArray);
-cudaError_t cudaGetMipmappedArrayLevel(cudaArray_t* levelArray, cudaMipmappedArray_const_t mipmappedArray, unsigned int level);
 cudaError_t cudaGetSymbolAddress(void** devPtr, const void* symbol);
 cudaError_t cudaGetSymbolSize(size_t* size, const void* symbol);
 cudaError_t cudaHostAlloc(void** pHost, size_t size, unsigned int flags);
 cudaError_t cudaHostGetDevicePointer(void** pDevice, void* pHost, unsigned int flags);
 cudaError_t cudaHostGetFlags(unsigned int* pFlags, void* pHost);
 cudaError_t cudaHostRegister(void* ptr, size_t size, unsigned int flags);
 cudaError_t cudaHostUnregister(void* ptr);
 cudaError_t cudaMalloc(void** devPtr, size_t size);
 __device__ cudaError_t cudaMalloc(void** devPtr, size_t size);
 cudaError_t cudaMalloc3D(cudaPitchedPtr* pitchedDevPtr, cudaExtent extent);
 cudaError_t cudaMalloc3DArray(cudaArray_t* array, const cudaChannelFormatDesc* desc, cudaExtent extent, unsigned int flags = 0);
 cudaError_t cudaMallocArray(cudaArray_t* array, const cudaChannelFormatDesc* desc, size_t width, size_t height = 0, unsigned int flags = 0);
 cudaError_t cudaMallocHost(void** ptr, size_t size);
 cudaError_t cudaMallocManaged(void** devPtr, size_t size, unsigned int flags = cudaMemAttachGlobal);
 cudaError_t cudaMallocMipmappedArray(cudaMipmappedArray_t* mipmappedArray, const cudaChannelFormatDesc* desc, cudaExtent extent, unsigned int numLevels, unsigned int flags = 0);
 cudaError_t cudaMallocPitch(void** devPtr, size_t* pitch, size_t width, size_t height);
 cudaError_t cudaMemAdvise(const void* devPtr, size_t count, cudaMemoryAdvise advice, int device);
 cudaError_t cudaMemAdvise_v2(const void* devPtr, size_t count, cudaMemoryAdvise advice, cudaMemLocation location);
 cudaError_t cudaMemGetInfo(size_t* free, size_t* total);
 cudaError_t cudaMemPrefetchAsync(const void* devPtr, size_t count, int dstDevice, cudaStream_t stream = 0);
 cudaError_t cudaMemPrefetchAsync_v2(const void* devPtr, size_t count, cudaMemLocation location, unsigned int flags, cudaStream_t stream = 0);
 cudaError_t cudaMemRangeGetAttribute(void* data, size_t dataSize, cudaMemRangeAttribute attribute, const void* devPtr, size_t count);
-cudaError_t cudaMemRangeGetAttributes(void** data, size_t* dataSizes, cudaMemRangeAttribute ** attributes, size_t numAttributes, const void* devPtr, size_t count);
 cudaError_t cudaMemcpy(void* dst, const void* src, size_t count, cudaMemcpyKind kind);
 cudaError_t cudaMemcpy2D(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind);
-cudaError_t cudaMemcpy2DArrayToArray(cudaArray_t dst, size_t wOffsetDst, size_t hOffsetDst, cudaArray_const_t src, size_t wOffsetSrc, size_t hOffsetSrc, size_t width, size_t height, cudaMemcpyKind kind = cudaMemcpyDeviceToDevice);
 cudaError_t cudaMemcpy2DAsync(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemcpy2DAsync(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpy2DFromArray(void* dst, size_t dpitch, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, cudaMemcpyKind kind);
 cudaError_t cudaMemcpy2DFromArrayAsync(void* dst, size_t dpitch, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpy2DToArray(cudaArray_t dst, size_t wOffset, size_t hOffset, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind);
 cudaError_t cudaMemcpy2DToArrayAsync(cudaArray_t dst, size_t wOffset, size_t hOffset, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpy3D(const cudaMemcpy3DParms* p);
 cudaError_t cudaMemcpy3DAsync(const cudaMemcpy3DParms* p, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemcpy3DAsync(const cudaMemcpy3DParms* p, cudaStream_t stream = 0);
-cudaError_t cudaMemcpy3DBatchAsync(size_t numOps, cudaMemcpy3DBatchOp* opList, size_t* failIdx, unsigned long long flags, cudaStream_t stream);
 cudaError_t cudaMemcpy3DPeer(const cudaMemcpy3DPeerParms* p);
 cudaError_t cudaMemcpy3DPeerAsync(const cudaMemcpy3DPeerParms* p, cudaStream_t stream = 0);
 cudaError_t cudaMemcpyAsync(void* dst, const void* src, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemcpyAsync(void* dst, const void* src, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);
-cudaError_t cudaMemcpyBatchAsync(void** dsts, void** srcs, size_t* sizes, size_t count, cudaMemcpyAttributes* attrs, size_t* attrsIdxs, size_t numAttrs, size_t* failIdx, cudaStream_t stream);
 cudaError_t cudaMemcpyFromSymbol(void* dst, const void* symbol, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyDeviceToHost);
 cudaError_t cudaMemcpyFromSymbolAsync(void* dst, const void* symbol, size_t count, size_t offset, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpyPeer(void* dst, int dstDevice, const void* src, int srcDevice, size_t count);
 cudaError_t cudaMemcpyPeerAsync(void* dst, int dstDevice, const void* src, int srcDevice, size_t count, cudaStream_t stream = 0);
 cudaError_t cudaMemcpyToSymbol(const void* symbol, const void* src, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyHostToDevice);
 cudaError_t cudaMemcpyToSymbolAsync(const void* symbol, const void* src, size_t count, size_t offset, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemset(void* devPtr, int value, size_t count);
 cudaError_t cudaMemset2D(void* devPtr, size_t pitch, int value, size_t width, size_t height);
 cudaError_t cudaMemset2DAsync(void* devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemset2DAsync(void* devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream = 0);
 cudaError_t cudaMemset3D(cudaPitchedPtr pitchedDevPtr, int value, cudaExtent extent);
 cudaError_t cudaMemset3DAsync(cudaPitchedPtr pitchedDevPtr, int value, cudaExtent extent, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemset3DAsync(cudaPitchedPtr pitchedDevPtr, int value, cudaExtent extent, cudaStream_t stream = 0);
 cudaError_t cudaMemsetAsync(void* devPtr, int value, size_t count, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemsetAsync(void* devPtr, int value, size_t count, cudaStream_t stream = 0);
-cudaError_t cudaMipmappedArrayGetMemoryRequirements(cudaArrayMemoryRequirements* memoryRequirements, cudaMipmappedArray_t mipmap, int device);
-cudaError_t cudaMipmappedArrayGetSparseProperties(cudaArraySparseProperties* sparseProperties, cudaMipmappedArray_t mipmap);
 cudaExtent make_cudaExtent(size_t w, size_t h, size_t d);
 cudaPitchedPtr make_cudaPitchedPtr(void* d, size_t p, size_t xsz, size_t ysz);
 cudaPos make_cudaPos(size_t x, size_t y, size_t z);

6.12. Memory Management [DEPRECATED]#

-cudaError_t cudaMemcpyArrayToArray(cudaArray_t dst, size_t wOffsetDst, size_t hOffsetDst, cudaArray_const_t src, size_t wOffsetSrc, size_t hOffsetSrc, size_t count, cudaMemcpyKind kind = cudaMemcpyDeviceToDevice);
-cudaError_t cudaMemcpyFromArray(void* dst, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t count, cudaMemcpyKind kind);
-cudaError_t cudaMemcpyFromArrayAsync(void* dst, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpyToArray(cudaArray_t dst, size_t wOffset, size_t hOffset, const void* src, size_t count, cudaMemcpyKind kind);
 cudaError_t cudaMemcpyToArrayAsync(cudaArray_t dst, size_t wOffset, size_t hOffset, const void* src, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);

6.13. Stream Ordered Memory Allocator#

 cudaError_t cudaFreeAsync(void* devPtr, cudaStream_t hStream);
 cudaError_t cudaMallocAsync(void** devPtr, size_t size, cudaStream_t hStream);
 cudaError_t cudaMallocFromPoolAsync(void** ptr, size_t size, cudaMemPool_t memPool, cudaStream_t stream);
 cudaError_t cudaMemPoolCreate(cudaMemPool_t* memPool, const cudaMemPoolProps* poolProps);
 cudaError_t cudaMemPoolDestroy(cudaMemPool_t memPool);
 cudaError_t cudaMemPoolExportPointer(cudaMemPoolPtrExportData* exportData, void* ptr);
 cudaError_t cudaMemPoolExportToShareableHandle(void* shareableHandle, cudaMemPool_t memPool, cudaMemAllocationHandleType handleType, unsigned int flags);
 cudaError_t cudaMemPoolGetAccess(cudaMemAccessFlags ** flags, cudaMemPool_t memPool, cudaMemLocation* location);
 cudaError_t cudaMemPoolGetAttribute(cudaMemPool_t memPool, cudaMemPoolAttr attr, void* value);
 cudaError_t cudaMemPoolImportFromShareableHandle(cudaMemPool_t* memPool, void* shareableHandle, cudaMemAllocationHandleType handleType, unsigned int flags);
 cudaError_t cudaMemPoolImportPointer(void** ptr, cudaMemPool_t memPool, cudaMemPoolPtrExportData* exportData);
 cudaError_t cudaMemPoolSetAccess(cudaMemPool_t memPool, const cudaMemAccessDesc* descList, size_t count);
 cudaError_t cudaMemPoolSetAttribute(cudaMemPool_t memPool, cudaMemPoolAttr attr, void* value);
 cudaError_t cudaMemPoolTrimTo(cudaMemPool_t memPool, size_t minBytesToKeep);

6.14. Unified Addressing#

 cudaError_t cudaPointerGetAttributes(cudaPointerAttributes* attributes, const void* ptr);

6.15. Peer Device Memory Access#

 cudaError_t cudaDeviceCanAccessPeer(int* canAccessPeer, int device, int peerDevice);
 cudaError_t cudaDeviceDisablePeerAccess(int peerDevice);
 cudaError_t cudaDeviceEnablePeerAccess(int peerDevice, unsigned int flags);

6.16. OpenGL Interoperability#

 enum cudaGLDeviceList
     cudaGLDeviceListAll = 1
     cudaGLDeviceListCurrentFrame = 2
     cudaGLDeviceListNextFrame = 3
 cudaError_t cudaGLGetDevices(unsigned int* pCudaDeviceCount, int* pCudaDevices, unsigned int cudaDeviceCount, cudaGLDeviceList deviceList);
 cudaError_t cudaGraphicsGLRegisterBuffer(cudaGraphicsResource** resource, GLuint buffer, unsigned int flags);
 cudaError_t cudaGraphicsGLRegisterImage(cudaGraphicsResource** resource, GLuint image, GLenum target, unsigned int flags);
-cudaError_t cudaWGLGetDevice(int* device, HGPUNV hGpu);

6.17. OpenGL Interoperability [DEPRECATED]#

 enum cudaGLMapFlags
     cudaGLMapFlagsNone = 0
     cudaGLMapFlagsReadOnly = 1
     cudaGLMapFlagsWriteDiscard = 2
 cudaError_t cudaGLMapBufferObject(void** devPtr, GLuint bufObj);
 cudaError_t cudaGLMapBufferObjectAsync(void** devPtr, GLuint bufObj, cudaStream_t stream);
 cudaError_t cudaGLRegisterBufferObject(GLuint bufObj);
 cudaError_t cudaGLSetBufferObjectMapFlags(GLuint bufObj, unsigned int flags);
-cudaError_t cudaGLSetGLDevice(int device);
 cudaError_t cudaGLUnmapBufferObject(GLuint bufObj);
 cudaError_t cudaGLUnmapBufferObjectAsync(GLuint bufObj, cudaStream_t stream);
 cudaError_t cudaGLUnregisterBufferObject(GLuint bufObj);

6.18. Direct3D 9 Interoperability#

-Windows APIs are currently unsupported

6.19. Direct3D 9 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

6.20. Direct3D 10 Interoperability#

-Windows APIs are currently unsupported

6.21. Direct3D 10 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

6.22. Direct3D 11 Interoperability#

-Windows APIs are currently unsupported

6.23. Direct3D 11 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

6.24. VDPAU Interoperability#

-VDPAU is currently unsupported

6.25. EGL Interoperability#

-EGL is currently unsupported

6.26. Graphics Interoperability#

 cudaError_t cudaGraphicsMapResources(int count, cudaGraphicsResource_t* resources, cudaStream_t stream = 0);
-cudaError_t cudaGraphicsResourceGetMappedMipmappedArray(cudaMipmappedArray_t* mipmappedArray, cudaGraphicsResource_t resource);
 cudaError_t cudaGraphicsResourceGetMappedPointer(void** devPtr, size_t* size, cudaGraphicsResource_t resource);
 cudaError_t cudaGraphicsResourceSetMapFlags(cudaGraphicsResource_t resource, unsigned int flags);
 cudaError_t cudaGraphicsSubResourceGetMappedArray(cudaArray_t* array, cudaGraphicsResource_t resource, unsigned int arrayIndex, unsigned int mipLevel);
 cudaError_t cudaGraphicsUnmapResources(int count, cudaGraphicsResource_t* resources, cudaStream_t stream = 0);
 cudaError_t cudaGraphicsUnregisterResource(cudaGraphicsResource_t resource);

6.27. Texture Object Management#

 cudaChannelFormatDesc cudaCreateChannelDesc(int x, int y, int z, int w, cudaChannelFormatKind f);
 cudaError_t cudaCreateTextureObject(cudaTextureObject_t* pTexObject, const cudaResourceDesc* pResDesc, const cudaTextureDesc* pTexDesc, const cudaResourceViewDesc* pResViewDesc);
 cudaError_t cudaDestroyTextureObject(cudaTextureObject_t texObject);
 cudaError_t cudaGetChannelDesc(cudaChannelFormatDesc* desc, cudaArray_const_t array);
 cudaError_t cudaGetTextureObjectResourceDesc(cudaResourceDesc* pResDesc, cudaTextureObject_t texObject);
 cudaError_t cudaGetTextureObjectResourceViewDesc(cudaResourceViewDesc* pResViewDesc, cudaTextureObject_t texObject);
 cudaError_t cudaGetTextureObjectTextureDesc(cudaTextureDesc* pTexDesc, cudaTextureObject_t texObject);

6.28. Surface Object Management#

 cudaError_t cudaCreateSurfaceObject(cudaSurfaceObject_t* pSurfObject, const cudaResourceDesc* pResDesc);
 cudaError_t cudaDestroySurfaceObject(cudaSurfaceObject_t surfObject);
 cudaError_t cudaGetSurfaceObjectResourceDesc(cudaResourceDesc* pResDesc, cudaSurfaceObject_t surfObject);

6.29. Version Management#

 cudaError_t cudaDriverGetVersion(int* driverVersion);
 cudaError_t cudaRuntimeGetVersion(int* runtimeVersion);
 __device__ cudaError_t cudaRuntimeGetVersion(int* runtimeVersion);

6.30. Graph Management#

-cudaError_t cudaDeviceGetGraphMemAttribute(int device, cudaGraphMemAttributeType attr, void* value);
-cudaError_t cudaDeviceGraphMemTrim(int device);
-cudaError_t cudaDeviceSetGraphMemAttribute(int device, cudaGraphMemAttributeType attr, void* value);
 __device__ cudaGraphExec_t cudaGetCurrentGraphExec(void);
 cudaError_t cudaGraphAddChildGraphNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, cudaGraph_t childGraph);
 cudaError_t cudaGraphAddDependencies(cudaGraph_t graph, const cudaGraphNode_t* from, const cudaGraphNode_t* to, size_t numDependencies);
 cudaError_t cudaGraphAddDependencies_v2(cudaGraph_t graph, const cudaGraphNode_t* from, const cudaGraphNode_t* to, const cudaGraphEdgeData* edgeData, size_t numDependencies);
 cudaError_t cudaGraphAddEmptyNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies);
 cudaError_t cudaGraphAddEventRecordNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, cudaEvent_t event);
 cudaError_t cudaGraphAddEventWaitNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, cudaEvent_t event);
-cudaError_t cudaGraphAddExternalSemaphoresSignalNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const cudaExternalSemaphoreSignalNodeParams* nodeParams);
-cudaError_t cudaGraphAddExternalSemaphoresWaitNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const cudaExternalSemaphoreWaitNodeParams* nodeParams);
 cudaError_t cudaGraphAddHostNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const cudaHostNodeParams* pNodeParams);
 cudaError_t cudaGraphAddKernelNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const cudaKernelNodeParams* pNodeParams);
 cudaError_t cudaGraphAddMemAllocNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, cudaMemAllocNodeParams* nodeParams);
 cudaError_t cudaGraphAddMemFreeNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, void* dptr);
 cudaError_t cudaGraphAddMemcpyNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const cudaMemcpy3DParms* pCopyParams);
 cudaError_t cudaGraphAddMemcpyNode1D(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, void* dst, const void* src, size_t count, cudaMemcpyKind kind);
 cudaError_t cudaGraphAddMemcpyNodeFromSymbol(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, void* dst, const void* symbol, size_t count, size_t offset, cudaMemcpyKind kind);
 cudaError_t cudaGraphAddMemcpyNodeToSymbol(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const void* symbol, const void* src, size_t count, size_t offset, cudaMemcpyKind kind);
 cudaError_t cudaGraphAddMemsetNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const cudaMemsetParams* pMemsetParams);
 cudaError_t cudaGraphAddNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, cudaGraphNodeParams* nodeParams);
 cudaError_t cudaGraphAddNode_v2(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, const cudaGraphEdgeData* dependencyData, size_t numDependencies, cudaGraphNodeParams* nodeParams);
 cudaError_t cudaGraphChildGraphNodeGetGraph(cudaGraphNode_t node, cudaGraph_t* pGraph);
 cudaError_t cudaGraphClone(cudaGraph_t* pGraphClone, cudaGraph_t originalGraph);
-cudaError_t cudaGraphConditionalHandleCreate(cudaGraphConditionalHandle* pHandle_out, cudaGraph_t graph, unsigned int defaultLaunchValue = 0, unsigned int flags = 0);
 cudaError_t cudaGraphCreate(cudaGraph_t* pGraph, unsigned int flags);
 cudaError_t cudaGraphDebugDotPrint(cudaGraph_t graph, const char* path, unsigned int flags);
 cudaError_t cudaGraphDestroy(cudaGraph_t graph);
 cudaError_t cudaGraphDestroyNode(cudaGraphNode_t node);
 cudaError_t cudaGraphEventRecordNodeGetEvent(cudaGraphNode_t node, cudaEvent_t* event_out);
 cudaError_t cudaGraphEventRecordNodeSetEvent(cudaGraphNode_t node, cudaEvent_t event);
 cudaError_t cudaGraphEventWaitNodeGetEvent(cudaGraphNode_t node, cudaEvent_t* event_out);
 cudaError_t cudaGraphEventWaitNodeSetEvent(cudaGraphNode_t node, cudaEvent_t event);
 cudaError_t cudaGraphExecChildGraphNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, cudaGraph_t childGraph);
 cudaError_t cudaGraphExecDestroy(cudaGraphExec_t graphExec);
 cudaError_t cudaGraphExecEventRecordNodeSetEvent(cudaGraphExec_t hGraphExec, cudaGraphNode_t hNode, cudaEvent_t event);
 cudaError_t cudaGraphExecEventWaitNodeSetEvent(cudaGraphExec_t hGraphExec, cudaGraphNode_t hNode, cudaEvent_t event);
-cudaError_t cudaGraphExecExternalSemaphoresSignalNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t hNode, const cudaExternalSemaphoreSignalNodeParams* nodeParams);
-cudaError_t cudaGraphExecExternalSemaphoresWaitNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t hNode, const cudaExternalSemaphoreWaitNodeParams* nodeParams);
 cudaError_t cudaGraphExecGetFlags(cudaGraphExec_t graphExec, unsigned long long* flags);
 cudaError_t cudaGraphExecHostNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const cudaHostNodeParams* pNodeParams);
 cudaError_t cudaGraphExecKernelNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const cudaKernelNodeParams* pNodeParams);
 cudaError_t cudaGraphExecMemcpyNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const cudaMemcpy3DParms* pNodeParams);
 cudaError_t cudaGraphExecMemcpyNodeSetParams1D(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, void* dst, const void* src, size_t count, cudaMemcpyKind kind);
 cudaError_t cudaGraphExecMemcpyNodeSetParamsFromSymbol(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, void* dst, const void* symbol, size_t count, size_t offset, cudaMemcpyKind kind);
 cudaError_t cudaGraphExecMemcpyNodeSetParamsToSymbol(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const void* symbol, const void* src, size_t count, size_t offset, cudaMemcpyKind kind);
 cudaError_t cudaGraphExecMemsetNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const cudaMemsetParams* pNodeParams);
 cudaError_t cudaGraphExecNodeSetParams(cudaGraphExec_t graphExec, cudaGraphNode_t node, cudaGraphNodeParams* nodeParams);
 cudaError_t cudaGraphExecUpdate(cudaGraphExec_t hGraphExec, cudaGraph_t hGraph, cudaGraphExecUpdateResultInfo* resultInfo);
-cudaError_t cudaGraphExternalSemaphoresSignalNodeGetParams(cudaGraphNode_t hNode, cudaExternalSemaphoreSignalNodeParams* params_out);
-cudaError_t cudaGraphExternalSemaphoresSignalNodeSetParams(cudaGraphNode_t hNode, const cudaExternalSemaphoreSignalNodeParams* nodeParams);
-cudaError_t cudaGraphExternalSemaphoresWaitNodeGetParams(cudaGraphNode_t hNode, cudaExternalSemaphoreWaitNodeParams* params_out);
-cudaError_t cudaGraphExternalSemaphoresWaitNodeSetParams(cudaGraphNode_t hNode, const cudaExternalSemaphoreWaitNodeParams* nodeParams);
 cudaError_t cudaGraphGetEdges(cudaGraph_t graph, cudaGraphNode_t* from, cudaGraphNode_t* to, size_t* numEdges);
 cudaError_t cudaGraphGetEdges_v2(cudaGraph_t graph, cudaGraphNode_t* from, cudaGraphNode_t* to, cudaGraphEdgeData* edgeData, size_t* numEdges);
 cudaError_t cudaGraphGetNodes(cudaGraph_t graph, cudaGraphNode_t* nodes, size_t* numNodes);
 cudaError_t cudaGraphGetRootNodes(cudaGraph_t graph, cudaGraphNode_t* pRootNodes, size_t* pNumRootNodes);
 cudaError_t cudaGraphHostNodeGetParams(cudaGraphNode_t node, cudaHostNodeParams* pNodeParams);
 cudaError_t cudaGraphHostNodeSetParams(cudaGraphNode_t node, const cudaHostNodeParams* pNodeParams);
 cudaError_t cudaGraphInstantiate(cudaGraphExec_t* pGraphExec, cudaGraph_t graph, unsigned long long flags = 0);
 cudaError_t cudaGraphInstantiateWithFlags(cudaGraphExec_t* pGraphExec, cudaGraph_t graph, unsigned long long flags = 0);
 cudaError_t cudaGraphInstantiateWithParams(cudaGraphExec_t* pGraphExec, cudaGraph_t graph, cudaGraphInstantiateParams* instantiateParams);
 cudaError_t cudaGraphKernelNodeCopyAttributes(cudaGraphNode_t hSrc, cudaGraphNode_t hDst);
 cudaError_t cudaGraphKernelNodeGetAttribute(cudaGraphNode_t hNode, cudaKernelNodeAttrID attr, cudaKernelNodeAttrValue* value_out);
 cudaError_t cudaGraphKernelNodeGetParams(cudaGraphNode_t node, cudaKernelNodeParams* pNodeParams);
 cudaError_t cudaGraphKernelNodeSetAttribute(cudaGraphNode_t hNode, cudaKernelNodeAttrID attr, const cudaKernelNodeAttrValue* value);
-__device__ cudaError_t cudaGraphKernelNodeSetEnabled(cudaGraphDeviceNode_t node, bool enable);
-__device__ cudaError_t cudaGraphKernelNodeSetGridDim(cudaGraphDeviceNode_t node, dim3 gridDim);
-template < typename T >__device__ cudaError_t cudaGraphKernelNodeSetParam(cudaGraphDeviceNode_t node, size_t offset, const T& value);
-__device__ cudaError_t cudaGraphKernelNodeSetParam(cudaGraphDeviceNode_t node, size_t offset, const void* value, size_t size);
 cudaError_t cudaGraphKernelNodeSetParams(cudaGraphNode_t node, const cudaKernelNodeParams* pNodeParams);
-__device__ cudaError_t cudaGraphKernelNodeUpdatesApply(const cudaGraphKernelNodeUpdate* updates, size_t updateCount);
 cudaError_t cudaGraphLaunch(cudaGraphExec_t graphExec, cudaStream_t stream);
-__device__ cudaError_t cudaGraphLaunch(cudaGraphExec_t graphExec, cudaStream_t stream);
 cudaError_t cudaGraphMemAllocNodeGetParams(cudaGraphNode_t node, cudaMemAllocNodeParams* params_out);
 cudaError_t cudaGraphMemFreeNodeGetParams(cudaGraphNode_t node, void* dptr_out);
 cudaError_t cudaGraphMemcpyNodeGetParams(cudaGraphNode_t node, cudaMemcpy3DParms* pNodeParams);
 cudaError_t cudaGraphMemcpyNodeSetParams(cudaGraphNode_t node, const cudaMemcpy3DParms* pNodeParams);
 cudaError_t cudaGraphMemcpyNodeSetParams1D(cudaGraphNode_t node, void* dst, const void* src, size_t count, cudaMemcpyKind kind);
 cudaError_t cudaGraphMemcpyNodeSetParamsFromSymbol(cudaGraphNode_t node, void* dst, const void* symbol, size_t count, size_t offset, cudaMemcpyKind kind);
 cudaError_t cudaGraphMemcpyNodeSetParamsToSymbol(cudaGraphNode_t node, const void* symbol, const void* src, size_t count, size_t offset, cudaMemcpyKind kind);
 cudaError_t cudaGraphMemsetNodeGetParams(cudaGraphNode_t node, cudaMemsetParams* pNodeParams);
 cudaError_t cudaGraphMemsetNodeSetParams(cudaGraphNode_t node, const cudaMemsetParams* pNodeParams);
 cudaError_t cudaGraphNodeFindInClone(cudaGraphNode_t* pNode, cudaGraphNode_t originalNode, cudaGraph_t clonedGraph);
 cudaError_t cudaGraphNodeGetDependencies(cudaGraphNode_t node, cudaGraphNode_t* pDependencies, size_t* pNumDependencies);
 cudaError_t cudaGraphNodeGetDependencies_v2(cudaGraphNode_t node, cudaGraphNode_t* pDependencies, cudaGraphEdgeData* edgeData, size_t* pNumDependencies);
 cudaError_t cudaGraphNodeGetDependentNodes(cudaGraphNode_t node, cudaGraphNode_t* pDependentNodes, size_t* pNumDependentNodes);
 cudaError_t cudaGraphNodeGetDependentNodes_v2(cudaGraphNode_t node, cudaGraphNode_t* pDependentNodes, cudaGraphEdgeData* edgeData, size_t* pNumDependentNodes);
 cudaError_t cudaGraphNodeGetEnabled(cudaGraphExec_t hGraphExec, cudaGraphNode_t hNode, unsigned int* isEnabled);
 cudaError_t cudaGraphNodeGetType(cudaGraphNode_t node, cudaGraphNodeType ** pType);
 cudaError_t cudaGraphNodeSetEnabled(cudaGraphExec_t hGraphExec, cudaGraphNode_t hNode, unsigned int isEnabled);
 cudaError_t cudaGraphNodeSetParams(cudaGraphNode_t node, cudaGraphNodeParams* nodeParams);
 cudaError_t cudaGraphReleaseUserObject(cudaGraph_t graph, cudaUserObject_t object, unsigned int count = 1);
 cudaError_t cudaGraphRemoveDependencies(cudaGraph_t graph, const cudaGraphNode_t* from, const cudaGraphNode_t* to, size_t numDependencies);
 cudaError_t cudaGraphRemoveDependencies_v2(cudaGraph_t graph, const cudaGraphNode_t* from, const cudaGraphNode_t* to, const cudaGraphEdgeData* edgeData, size_t numDependencies);
 cudaError_t cudaGraphRetainUserObject(cudaGraph_t graph, cudaUserObject_t object, unsigned int count = 1, unsigned int flags = 0);
-__device__ void cudaGraphSetConditional(cudaGraphConditionalHandle handle, unsigned int value);
 cudaError_t cudaGraphUpload(cudaGraphExec_t graphExec, cudaStream_t stream);
 cudaError_t cudaUserObjectCreate(cudaUserObject_t* object_out, void* ptr, cudaHostFn_t destroy, unsigned int initialRefcount, unsigned int flags);
 cudaError_t cudaUserObjectRelease(cudaUserObject_t object, unsigned int count = 1);
 cudaError_t cudaUserObjectRetain(cudaUserObject_t object, unsigned int count = 1);

6.31. Driver Entry Point Access#

 cudaError_t cudaGetDriverEntryPoint(const char* symbol, void** funcPtr, unsigned long long flags, cudaDriverEntryPointQueryResult ** driverStatus = NULL);
 cudaError_t cudaGetDriverEntryPointByVersion(const char* symbol, void** funcPtr, unsigned int cudaVersion, unsigned long long flags, cudaDriverEntryPointQueryResult ** driverStatus = NULL);

6.32. Library Management#

-cudaError_t cudaKernelSetAttributeForDevice(cudaKernel_t kernel, cudaFuncAttribute attr, int value, int device);
-cudaError_t cudaLibraryEnumerateKernels(cudaKernel_t* kernels, unsigned int numKernels, cudaLibrary_t lib);
 cudaError_t cudaLibraryGetGlobal(void** dptr, size_t* bytes, cudaLibrary_t library, const char* name);
 cudaError_t cudaLibraryGetKernel(cudaKernel_t* pKernel, cudaLibrary_t library, const char* name);
-cudaError_t cudaLibraryGetKernelCount(unsigned int* count, cudaLibrary_t lib);
-cudaError_t cudaLibraryGetManaged(void** dptr, size_t* bytes, cudaLibrary_t library, const char* name);
-cudaError_t cudaLibraryGetUnifiedFunction(void** fptr, cudaLibrary_t library, const char* symbol);
-cudaError_t cudaLibraryLoadData(cudaLibrary_t* library, const void* code, cudaJitOption ** jitOptions, void** jitOptionsValues, unsigned int numJitOptions, cudaLibraryOption ** libraryOptions, void** libraryOptionValues, unsigned int numLibraryOptions);
-cudaError_t cudaLibraryLoadFromFile(cudaLibrary_t* library, const char* fileName, cudaJitOption ** jitOptions, void** jitOptionsValues, unsigned int numJitOptions, cudaLibraryOption ** libraryOptions, void** libraryOptionValues, unsigned int numLibraryOptions);
 cudaError_t cudaLibraryUnload(cudaLibrary_t library);

6.33. C++ API Routines#

-class __cudaOccupancyB2DHelper
 template < class T >__host__ cudaChannelFormatDesc cudaCreateChannelDesc(void);
 cudaError_t cudaEventCreate(cudaEvent_t* event, unsigned int flags);
 template < class T >__host__ cudaError_t cudaFuncGetAttributes(cudaFuncAttributes* attr, T* entry);
 template < class T >__host__ cudaError_t cudaFuncGetName(const char** name, T* func);
 template < class T >__host__ cudaError_t cudaFuncSetAttribute(T* func, cudaFuncAttribute attr, int value);
 template < class T >__host__ cudaError_t cudaFuncSetCacheConfig(T* func, cudaFuncCache cacheConfig);
-template < class T >__host__ cudaError_t cudaGetKernel(cudaKernel_t* kernelPtr, T* func);
 template < class T >__host__ cudaError_t cudaGetSymbolAddress(void** devPtr, const T& symbol);
 template < class T >__host__ cudaError_t cudaGetSymbolSize(size_t* size, const T& symbol);
 template < class T >__host__ cudaError_t cudaGraphAddMemcpyNodeFromSymbol(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, void* dst, const T& symbol, size_t count, size_t offset, cudaMemcpyKind kind);
 template < class T >__host__ cudaError_t cudaGraphAddMemcpyNodeToSymbol(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const T& symbol, const void* src, size_t count, size_t offset, cudaMemcpyKind kind);
 template < class T >__host__ cudaError_t cudaGraphExecMemcpyNodeSetParamsFromSymbol(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, void* dst, const T& symbol, size_t count, size_t offset, cudaMemcpyKind kind);
 template < class T >__host__ cudaError_t cudaGraphExecMemcpyNodeSetParamsToSymbol(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const T& symbol, const void* src, size_t count, size_t offset, cudaMemcpyKind kind);
 cudaError_t cudaGraphInstantiate(cudaGraphExec_t* pGraphExec, cudaGraph_t graph, cudaGraphNode_t* pErrorNode, char* pLogBuffer, size_t bufferSize);
 template < class T >__host__ cudaError_t cudaGraphMemcpyNodeSetParamsFromSymbol(cudaGraphNode_t node, void* dst, const T& symbol, size_t count, size_t offset, cudaMemcpyKind kind);
 template < class T >__host__ cudaError_t cudaGraphMemcpyNodeSetParamsToSymbol(cudaGraphNode_t node, const T& symbol, const void* src, size_t count, size_t offset, cudaMemcpyKind kind);
 template < class T >__host__ cudaError_t cudaLaunchCooperativeKernel(T* func, dim3 gridDim, dim3 blockDim, void** args, size_t sharedMem = 0, cudaStream_t stream = 0);
 template < class T >__host__ cudaError_t cudaLaunchKernel(T* func, dim3 gridDim, dim3 blockDim, void** args, size_t sharedMem = 0, cudaStream_t stream = 0);
-template < typename... ActTypes >__host__ cudaError_t cudaLaunchKernelEx(const cudaLaunchConfig_t* config, const cudaKernel_t kernel, ActTypes &&... args);
 template < typename... ExpTypes, typename... ActTypes >__host__ cudaError_t cudaLaunchKernelEx(const cudaLaunchConfig_t* config, void (*kernel)(ExpTypes...), ActTypes &&... args);
 template < class T >__host__ cudaError_t cudaLibraryGetGlobal(T** dptr, size_t* bytes, cudaLibrary_t library, const char* name);
-template < class T >__host__ cudaError_t cudaLibraryGetManaged(T** dptr, size_t* bytes, cudaLibrary_t library, const char* name);
-template < class T >__host__ cudaError_t cudaLibraryGetUnifiedFunction(T** fptr, cudaLibrary_t library, const char* symbol);
 cudaError_t cudaMallocAsync(void** ptr, size_t size, cudaMemPool_t memPool, cudaStream_t stream);
 cudaError_t cudaMallocHost(void** ptr, size_t size, unsigned int flags);
 template < class T >__host__ cudaError_t cudaMallocManaged(T** devPtr, size_t size, unsigned int flags = cudaMemAttachGlobal);
 template < class T >cudaError_t cudaMemAdvise(T* devPtr, size_t count, cudaMemoryAdvise advice, cudaMemLocation location);
-template < typename T, typename U >__host__ cudaError_t cudaMemcpyBatchAsync(T** dsts, U** srcs, size_t* sizes, size_t count, cudaMemcpyAttributes attr, size_t* failIdx, cudaStream_t hStream);
-template < typename T, typename U >__host__ cudaError_t cudaMemcpyBatchAsync(T** dsts, U** srcs, size_t* sizes, size_t count, cudaMemcpyAttributes* attrs, size_t* attrsIdxs, size_t numAttrs, size_t* failIdx, cudaStream_t hStream);
 template < class T >__host__ cudaError_t cudaMemcpyFromSymbol(void* dst, const T& symbol, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyDeviceToHost);
 template < class T >__host__ cudaError_t cudaMemcpyFromSymbolAsync(void* dst, const T& symbol, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyDeviceToHost, cudaStream_t stream = 0);
 template < class T >__host__ cudaError_t cudaMemcpyToSymbol(const T& symbol, const void* src, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyHostToDevice);
 template < class T >__host__ cudaError_t cudaMemcpyToSymbolAsync(const T& symbol, const void* src, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyHostToDevice, cudaStream_t stream = 0);
 template < class T >__host__ cudaError_t cudaOccupancyAvailableDynamicSMemPerBlock(size_t* dynamicSmemSize, T* func, int numBlocks, int blockSize);
 template < class T >__host__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int* numBlocks, T func, int blockSize, size_t dynamicSMemSize);
 template < class T >__host__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int* numBlocks, T func, int blockSize, size_t dynamicSMemSize, unsigned int flags);
-template < class T >__host__ cudaError_t cudaOccupancyMaxActiveClusters(int* numClusters, T* func, const cudaLaunchConfig_t* config);
 template < class T >__host__ cudaError_t cudaOccupancyMaxPotentialBlockSize(int* minGridSize, int* blockSize, T func, size_t dynamicSMemSize = 0, int blockSizeLimit = 0);
 template < typename UnaryFunction, class T >__host__ cudaError_t cudaOccupancyMaxPotentialBlockSizeVariableSMem(int* minGridSize, int* blockSize, T func, UnaryFunction blockSizeToDynamicSMemSize, int blockSizeLimit = 0);
 template < typename UnaryFunction, class T >__host__ cudaError_t cudaOccupancyMaxPotentialBlockSizeVariableSMemWithFlags(int* minGridSize, int* blockSize, T func, UnaryFunction blockSizeToDynamicSMemSize, int blockSizeLimit = 0, unsigned int flags = 0);
 template < class T >__host__ cudaError_t cudaOccupancyMaxPotentialBlockSizeWithFlags(int* minGridSize, int* blockSize, T func, size_t dynamicSMemSize = 0, int blockSizeLimit = 0, unsigned int flags = 0);
-template < class T >__host__ cudaError_t cudaOccupancyMaxPotentialClusterSize(int* clusterSize, T* func, const cudaLaunchConfig_t* config);
 template < class T >__host__ cudaError_t cudaStreamAttachMemAsync(cudaStream_t stream, T* devPtr, size_t length = 0, unsigned int flags = cudaMemAttachSingle);

6.34. Interactions with the CUDA Driver API#

 cudaError_t cudaGetFuncBySymbol(cudaFunction_t* functionPtr, const void* symbolPtr);
-cudaError_t cudaGetKernel(cudaKernel_t* kernelPtr, const void* entryFuncAddr);

6.35. Profiler Control#

 cudaError_t cudaProfilerStart(void);
 cudaError_t cudaProfilerStop(void);

6.36. Data types used by CUDA Runtime#

-#define CUDA_EGL_MAX_PLANES
 #define CUDA_IPC_HANDLE_SIZE
 #define cudaArrayColorAttachment
 #define cudaArrayCubemap
 #define cudaArrayDefault
 #define cudaArrayDeferredMapping
 #define cudaArrayLayered
 #define cudaArraySparse
 #define cudaArraySparsePropertiesSingleMipTail
 #define cudaArraySurfaceLoadStore
 #define cudaArrayTextureGather
 #define cudaCooperativeLaunchMultiDeviceNoPostSync
 #define cudaCooperativeLaunchMultiDeviceNoPreSync
 #define cudaCpuDeviceId
 #define cudaDeviceBlockingSync
 #define cudaDeviceLmemResizeToMax
 #define cudaDeviceMapHost
 #define cudaDeviceMask
 #define cudaDeviceScheduleAuto
 #define cudaDeviceScheduleBlockingSync
 #define cudaDeviceScheduleMask
 #define cudaDeviceScheduleSpin
 #define cudaDeviceScheduleYield
 #define cudaDeviceSyncMemops
 #define cudaEventBlockingSync
 #define cudaEventDefault
 #define cudaEventDisableTiming
 #define cudaEventInterprocess
 #define cudaEventRecordDefault
 #define cudaEventRecordExternal
 #define cudaEventWaitDefault
 #define cudaEventWaitExternal
-#define cudaExternalMemoryDedicated
-#define cudaExternalSemaphoreSignalSkipNvSciBufMemSync
-#define cudaExternalSemaphoreWaitSkipNvSciBufMemSync
 #define cudaGraphKernelNodePortDefault
 #define cudaGraphKernelNodePortLaunchCompletion
 #define cudaGraphKernelNodePortProgrammatic
 #define cudaHostAllocDefault
 #define cudaHostAllocMapped
 #define cudaHostAllocPortable
 #define cudaHostAllocWriteCombined
 #define cudaHostRegisterDefault
 #define cudaHostRegisterIoMemory
 #define cudaHostRegisterMapped
 #define cudaHostRegisterPortable
 #define cudaHostRegisterReadOnly
 #define cudaInitDeviceFlagsAreValid
 #define cudaInvalidDeviceId
 #define cudaIpcMemLazyEnablePeerAccess
 #define cudaMemAttachGlobal
 #define cudaMemAttachHost
 #define cudaMemAttachSingle
 #define cudaMemPoolCreateUsageHwDecompress
-#define cudaNvSciSyncAttrSignal
-#define cudaNvSciSyncAttrWait
 #define cudaOccupancyDefault
 #define cudaOccupancyDisableCachingOverride
 #define cudaPeerAccessDefault
 #define cudaStreamDefault
 #define cudaStreamLegacy
 #define cudaStreamNonBlocking
 #define cudaStreamPerThread
 enum cudaAccessProperty
     cudaAccessPropertyNormal = 0
     cudaAccessPropertyStreaming = 1
     cudaAccessPropertyPersisting = 2
-enum cudaAsyncNotificationType
-enum cudaCGScope
 enum cudaChannelFormatKind
     cudaChannelFormatKindSigned = 0
     cudaChannelFormatKindUnsigned = 1
     cudaChannelFormatKindFloat = 2
     cudaChannelFormatKindNone = 3
     cudaChannelFormatKindNV12 = 4
     cudaChannelFormatKindUnsignedNormalized8X1 = 5
     cudaChannelFormatKindUnsignedNormalized8X2 = 6
     cudaChannelFormatKindUnsignedNormalized8X4 = 7
     cudaChannelFormatKindUnsignedNormalized16X1 = 8
     cudaChannelFormatKindUnsignedNormalized16X2 = 9
     cudaChannelFormatKindUnsignedNormalized16X4 = 10
     cudaChannelFormatKindSignedNormalized8X1 = 11
     cudaChannelFormatKindSignedNormalized8X2 = 12
     cudaChannelFormatKindSignedNormalized8X4 = 13
     cudaChannelFormatKindSignedNormalized16X1 = 14
     cudaChannelFormatKindSignedNormalized16X2 = 15
     cudaChannelFormatKindSignedNormalized16X4 = 16
     cudaChannelFormatKindUnsignedBlockCompressed1 = 17
     cudaChannelFormatKindUnsignedBlockCompressed1SRGB = 18
     cudaChannelFormatKindUnsignedBlockCompressed2 = 19
     cudaChannelFormatKindUnsignedBlockCompressed2SRGB = 20
     cudaChannelFormatKindUnsignedBlockCompressed3 = 21
     cudaChannelFormatKindUnsignedBlockCompressed3SRGB = 22
     cudaChannelFormatKindUnsignedBlockCompressed4 = 23
     cudaChannelFormatKindSignedBlockCompressed4 = 24
     cudaChannelFormatKindUnsignedBlockCompressed5 = 25
     cudaChannelFormatKindSignedBlockCompressed5 = 26
     cudaChannelFormatKindUnsignedBlockCompressed6H = 27
     cudaChannelFormatKindSignedBlockCompressed6H = 28
     cudaChannelFormatKindUnsignedBlockCompressed7 = 29
     cudaChannelFormatKindUnsignedBlockCompressed7SRGB = 30
     cudaChannelFormatKindUnsignedNormalized1010102 = 31
 enum cudaClusterSchedulingPolicy
     cudaClusterSchedulingPolicyDefault = 0
     cudaClusterSchedulingPolicySpread = 1
     cudaClusterSchedulingPolicyLoadBalancing = 2
 enum cudaComputeMode
     cudaComputeModeDefault = 0
     cudaComputeModeExclusive = 1
     cudaComputeModeProhibited = 2
     cudaComputeModeExclusiveProcess = 3
 enum cudaDeviceAttr
     cudaDevAttrMaxThreadsPerBlock = 1
     cudaDevAttrMaxBlockDimX = 2
     cudaDevAttrMaxBlockDimY = 3
     cudaDevAttrMaxBlockDimZ = 4
     cudaDevAttrMaxGridDimX = 5
     cudaDevAttrMaxGridDimY = 6
     cudaDevAttrMaxGridDimZ = 7
     cudaDevAttrMaxSharedMemoryPerBlock = 8
     cudaDevAttrTotalConstantMemory = 9
     cudaDevAttrWarpSize = 10
     cudaDevAttrMaxPitch = 11
     cudaDevAttrMaxRegistersPerBlock = 12
     cudaDevAttrClockRate = 13
     cudaDevAttrTextureAlignment = 14
     cudaDevAttrGpuOverlap = 15
     cudaDevAttrMultiProcessorCount = 16
     cudaDevAttrKernelExecTimeout = 17
     cudaDevAttrIntegrated = 18
     cudaDevAttrCanMapHostMemory = 19
     cudaDevAttrComputeMode = 20
     cudaDevAttrMaxTexture1DWidth = 21
     cudaDevAttrMaxTexture2DWidth = 22
     cudaDevAttrMaxTexture2DHeight = 23
     cudaDevAttrMaxTexture3DWidth = 24
     cudaDevAttrMaxTexture3DHeight = 25
     cudaDevAttrMaxTexture3DDepth = 26
     cudaDevAttrMaxTexture2DLayeredWidth = 27
     cudaDevAttrMaxTexture2DLayeredHeight = 28
     cudaDevAttrMaxTexture2DLayeredLayers = 29
     cudaDevAttrSurfaceAlignment = 30
     cudaDevAttrConcurrentKernels = 31
     cudaDevAttrEccEnabled = 32
     cudaDevAttrPciBusId = 33
     cudaDevAttrPciDeviceId = 34
     cudaDevAttrTccDriver = 35
     cudaDevAttrMemoryClockRate = 36
     cudaDevAttrGlobalMemoryBusWidth = 37
     cudaDevAttrL2CacheSize = 38
     cudaDevAttrMaxThreadsPerMultiProcessor = 39
     cudaDevAttrAsyncEngineCount = 40
     cudaDevAttrUnifiedAddressing = 41
     cudaDevAttrMaxTexture1DLayeredWidth = 42
     cudaDevAttrMaxTexture1DLayeredLayers = 43
     cudaDevAttrMaxTexture2DGatherWidth = 45
     cudaDevAttrMaxTexture2DGatherHeight = 46
     cudaDevAttrMaxTexture3DWidthAlt = 47
     cudaDevAttrMaxTexture3DHeightAlt = 48
     cudaDevAttrMaxTexture3DDepthAlt = 49
     cudaDevAttrPciDomainId = 50
     cudaDevAttrTexturePitchAlignment = 51
     cudaDevAttrMaxTextureCubemapWidth = 52
     cudaDevAttrMaxTextureCubemapLayeredWidth = 53
     cudaDevAttrMaxTextureCubemapLayeredLayers = 54
     cudaDevAttrMaxSurface1DWidth = 55
     cudaDevAttrMaxSurface2DWidth = 56
     cudaDevAttrMaxSurface2DHeight = 57
     cudaDevAttrMaxSurface3DWidth = 58
     cudaDevAttrMaxSurface3DHeight = 59
     cudaDevAttrMaxSurface3DDepth = 60
     cudaDevAttrMaxSurface1DLayeredWidth = 61
     cudaDevAttrMaxSurface1DLayeredLayers = 62
     cudaDevAttrMaxSurface2DLayeredWidth = 63
     cudaDevAttrMaxSurface2DLayeredHeight = 64
     cudaDevAttrMaxSurface2DLayeredLayers = 65
     cudaDevAttrMaxSurfaceCubemapWidth = 66
     cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67
     cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68
     cudaDevAttrMaxTexture1DLinearWidth = 69
     cudaDevAttrMaxTexture2DLinearWidth = 70
     cudaDevAttrMaxTexture2DLinearHeight = 71
     cudaDevAttrMaxTexture2DLinearPitch = 72
     cudaDevAttrMaxTexture2DMipmappedWidth = 73
     cudaDevAttrMaxTexture2DMipmappedHeight = 74
     cudaDevAttrComputeCapabilityMajor = 75
     cudaDevAttrComputeCapabilityMinor = 76
     cudaDevAttrMaxTexture1DMipmappedWidth = 77
     cudaDevAttrStreamPrioritiesSupported = 78
     cudaDevAttrGlobalL1CacheSupported = 79
     cudaDevAttrLocalL1CacheSupported = 80
     cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81
     cudaDevAttrMaxRegistersPerMultiprocessor = 82
     cudaDevAttrManagedMemory = 83
     cudaDevAttrIsMultiGpuBoard = 84
     cudaDevAttrMultiGpuBoardGroupID = 85
     cudaDevAttrHostNativeAtomicSupported = 86
     cudaDevAttrSingleToDoublePrecisionPerfRatio = 87
     cudaDevAttrPageableMemoryAccess = 88
     cudaDevAttrConcurrentManagedAccess = 89
     cudaDevAttrComputePreemptionSupported = 90
     cudaDevAttrCanUseHostPointerForRegisteredMem = 91
     cudaDevAttrReserved92 = 92
     cudaDevAttrReserved93 = 93
     cudaDevAttrReserved94 = 94
     cudaDevAttrCooperativeLaunch = 95
     cudaDevAttrCooperativeMultiDeviceLaunch = 96
     cudaDevAttrMaxSharedMemoryPerBlockOptin = 97
     cudaDevAttrCanFlushRemoteWrites = 98
     cudaDevAttrHostRegisterSupported = 99
     cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100
     cudaDevAttrDirectManagedMemAccessFromHost = 101
     cudaDevAttrMaxBlocksPerMultiprocessor = 106
     cudaDevAttrMaxPersistingL2CacheSize = 108
     cudaDevAttrMaxAccessPolicyWindowSize = 109
     cudaDevAttrReservedSharedMemoryPerBlock = 111
     cudaDevAttrSparseCudaArraySupported = 112
     cudaDevAttrHostRegisterReadOnlySupported = 113
     cudaDevAttrTimelineSemaphoreInteropSupported = 114
     cudaDevAttrMaxTimelineSemaphoreInteropSupported = 114
     cudaDevAttrMemoryPoolsSupported = 115
     cudaDevAttrGPUDirectRDMASupported = 116
     cudaDevAttrGPUDirectRDMAFlushWritesOptions = 117
     cudaDevAttrGPUDirectRDMAWritesOrdering = 118
     cudaDevAttrMemoryPoolSupportedHandleTypes = 119
     cudaDevAttrClusterLaunch = 120
     cudaDevAttrDeferredMappingCudaArraySupported = 121
     cudaDevAttrReserved122 = 122
     cudaDevAttrReserved123 = 123
     cudaDevAttrReserved124 = 124
     cudaDevAttrIpcEventSupport = 125
     cudaDevAttrMemSyncDomainCount = 126
     cudaDevAttrReserved127 = 127
     cudaDevAttrReserved128 = 128
     cudaDevAttrReserved129 = 129
     cudaDevAttrNumaConfig = 130
     cudaDevAttrNumaId = 131
     cudaDevAttrReserved132 = 132
     cudaDevAttrMpsEnabled = 133
     cudaDevAttrHostNumaId = 134
     cudaDevAttrD3D12CigSupported = 135
     cudaDevAttrVulkanCigSupported = 138
     cudaDevAttrGpuPciDeviceId = 139
     cudaDevAttrGpuPciSubsystemId = 140
     cudaDevAttrReserved141 = 141
     cudaDevAttrHostNumaMemoryPoolsSupported = 142
     cudaDevAttrHostNumaMultinodeIpcSupported = 143
-    cudaDevAttrMax = 144
 enum cudaDeviceNumaConfig
     cudaDeviceNumaConfigNone = 0
     cudaDeviceNumaConfigNumaNode = 1
 enum cudaDeviceP2PAttr
     cudaDevP2PAttrPerformanceRank = 1
     cudaDevP2PAttrAccessSupported = 2
     cudaDevP2PAttrNativeAtomicSupported = 3
     cudaDevP2PAttrCudaArrayAccessSupported = 4
 enum cudaDriverEntryPointQueryResult
     cudaDriverEntryPointSuccess = 0
     cudaDriverEntryPointSymbolNotFound = 1
     cudaDriverEntryPointVersionNotSufficent = 2
-enum cudaEglColorFormat
-enum cudaEglFrameType
-enum cudaEglResourceLocationFlags
 enum cudaError
     cudaSuccess = 0
     cudaErrorInvalidValue = 1
     cudaErrorMemoryAllocation = 2
     cudaErrorInitializationError = 3
     cudaErrorCudartUnloading = 4
     cudaErrorProfilerDisabled = 5
     cudaErrorProfilerNotInitialized = 6
     cudaErrorProfilerAlreadyStarted = 7
     cudaErrorProfilerAlreadyStopped = 8
     cudaErrorInvalidConfiguration = 9
     cudaErrorInvalidPitchValue = 12
     cudaErrorInvalidSymbol = 13
     cudaErrorInvalidHostPointer = 16
     cudaErrorInvalidDevicePointer = 17
     cudaErrorInvalidTexture = 18
     cudaErrorInvalidTextureBinding = 19
     cudaErrorInvalidChannelDescriptor = 20
     cudaErrorInvalidMemcpyDirection = 21
     cudaErrorAddressOfConstant = 22
     cudaErrorTextureFetchFailed = 23
     cudaErrorTextureNotBound = 24
     cudaErrorSynchronizationError = 25
     cudaErrorInvalidFilterSetting = 26
     cudaErrorInvalidNormSetting = 27
     cudaErrorMixedDeviceExecution = 28
     cudaErrorNotYetImplemented = 31
     cudaErrorMemoryValueTooLarge = 32
     cudaErrorStubLibrary = 34
     cudaErrorInsufficientDriver = 35
     cudaErrorCallRequiresNewerDriver = 36
     cudaErrorInvalidSurface = 37
     cudaErrorDuplicateVariableName = 43
     cudaErrorDuplicateTextureName = 44
     cudaErrorDuplicateSurfaceName = 45
     cudaErrorDevicesUnavailable = 46
     cudaErrorIncompatibleDriverContext = 49
     cudaErrorMissingConfiguration = 52
     cudaErrorPriorLaunchFailure = 53
     cudaErrorLaunchMaxDepthExceeded = 65
     cudaErrorLaunchFileScopedTex = 66
     cudaErrorLaunchFileScopedSurf = 67
     cudaErrorSyncDepthExceeded = 68
     cudaErrorLaunchPendingCountExceeded = 69
     cudaErrorInvalidDeviceFunction = 98
     cudaErrorNoDevice = 100
     cudaErrorInvalidDevice = 101
     cudaErrorDeviceNotLicensed = 102
     cudaErrorSoftwareValidityNotEstablished = 103
     cudaErrorStartupFailure = 127
     cudaErrorInvalidKernelImage = 200
     cudaErrorDeviceUninitialized = 201
     cudaErrorMapBufferObjectFailed = 205
     cudaErrorUnmapBufferObjectFailed = 206
     cudaErrorArrayIsMapped = 207
     cudaErrorAlreadyMapped = 208
     cudaErrorNoKernelImageForDevice = 209
     cudaErrorAlreadyAcquired = 210
     cudaErrorNotMapped = 211
     cudaErrorNotMappedAsArray = 212
     cudaErrorNotMappedAsPointer = 213
     cudaErrorECCUncorrectable = 214
     cudaErrorUnsupportedLimit = 215
     cudaErrorDeviceAlreadyInUse = 216
     cudaErrorPeerAccessUnsupported = 217
     cudaErrorInvalidPtx = 218
     cudaErrorInvalidGraphicsContext = 219
     cudaErrorNvlinkUncorrectable = 220
     cudaErrorJitCompilerNotFound = 221
     cudaErrorUnsupportedPtxVersion = 222
     cudaErrorJitCompilationDisabled = 223
     cudaErrorUnsupportedExecAffinity = 224
     cudaErrorUnsupportedDevSideSync = 225
     cudaErrorContained = 226
     cudaErrorInvalidSource = 300
     cudaErrorFileNotFound = 301
     cudaErrorSharedObjectSymbolNotFound = 302
     cudaErrorSharedObjectInitFailed = 303
     cudaErrorOperatingSystem = 304
     cudaErrorInvalidResourceHandle = 400
     cudaErrorIllegalState = 401
     cudaErrorLossyQuery = 402
     cudaErrorSymbolNotFound = 500
     cudaErrorNotReady = 600
     cudaErrorIllegalAddress = 700
     cudaErrorLaunchOutOfResources = 701
     cudaErrorLaunchTimeout = 702
     cudaErrorLaunchIncompatibleTexturing = 703
     cudaErrorPeerAccessAlreadyEnabled = 704
     cudaErrorPeerAccessNotEnabled = 705
     cudaErrorSetOnActiveProcess = 708
     cudaErrorContextIsDestroyed = 709
     cudaErrorAssert = 710
     cudaErrorTooManyPeers = 711
     cudaErrorHostMemoryAlreadyRegistered = 712
     cudaErrorHostMemoryNotRegistered = 713
     cudaErrorHardwareStackError = 714
     cudaErrorIllegalInstruction = 715
     cudaErrorMisalignedAddress = 716
     cudaErrorInvalidAddressSpace = 717
     cudaErrorInvalidPc = 718
     cudaErrorLaunchFailure = 719
     cudaErrorCooperativeLaunchTooLarge = 720
     cudaErrorTensorMemoryLeak = 721
     cudaErrorNotPermitted = 800
     cudaErrorNotSupported = 801
     cudaErrorSystemNotReady = 802
     cudaErrorSystemDriverMismatch = 803
     cudaErrorCompatNotSupportedOnDevice = 804
     cudaErrorMpsConnectionFailed = 805
     cudaErrorMpsRpcFailure = 806
     cudaErrorMpsServerNotReady = 807
     cudaErrorMpsMaxClientsReached = 808
     cudaErrorMpsMaxConnectionsReached = 809
     cudaErrorMpsClientTerminated = 810
     cudaErrorCdpNotSupported = 811
     cudaErrorCdpVersionMismatch = 812
     cudaErrorStreamCaptureUnsupported = 900
     cudaErrorStreamCaptureInvalidated = 901
     cudaErrorStreamCaptureMerge = 902
     cudaErrorStreamCaptureUnmatched = 903
     cudaErrorStreamCaptureUnjoined = 904
     cudaErrorStreamCaptureIsolation = 905
     cudaErrorStreamCaptureImplicit = 906
     cudaErrorCapturedEvent = 907
     cudaErrorStreamCaptureWrongThread = 908
     cudaErrorTimeout = 909
     cudaErrorGraphExecUpdateFailure = 910
     cudaErrorExternalDevice = 911
     cudaErrorInvalidClusterSize = 912
     cudaErrorFunctionNotLoaded = 913
     cudaErrorInvalidResourceType = 914
     cudaErrorInvalidResourceConfiguration = 915
     cudaErrorUnknown = 999
     cudaErrorApiFailureBase = 10000
-enum cudaExternalMemoryHandleType
-enum cudaExternalSemaphoreHandleType
 enum cudaFlushGPUDirectRDMAWritesOptions
     cudaFlushGPUDirectRDMAWritesOptionHost = 1
     cudaFlushGPUDirectRDMAWritesOptionMemOps = 2
 enum cudaFlushGPUDirectRDMAWritesScope
     cudaFlushGPUDirectRDMAWritesToOwner = 100
     cudaFlushGPUDirectRDMAWritesToAllDevices = 200
 enum cudaFlushGPUDirectRDMAWritesTarget
     cudaFlushGPUDirectRDMAWritesTargetCurrentDevice = 0
 enum cudaFuncAttribute
     cudaFuncAttributeMaxDynamicSharedMemorySize = 8
     cudaFuncAttributePreferredSharedMemoryCarveout = 9
     cudaFuncAttributeClusterDimMustBeSet = 10
     cudaFuncAttributeRequiredClusterWidth = 11
     cudaFuncAttributeRequiredClusterHeight = 12
     cudaFuncAttributeRequiredClusterDepth = 13
     cudaFuncAttributeNonPortableClusterSizeAllowed = 14
     cudaFuncAttributeClusterSchedulingPolicyPreference = 15
     cudaFuncAttributeMax = 16
 enum cudaFuncCache
     cudaFuncCachePreferNone = 0
     cudaFuncCachePreferShared = 1
     cudaFuncCachePreferL1 = 2
     cudaFuncCachePreferEqual = 3
 enum cudaGPUDirectRDMAWritesOrdering
     cudaGPUDirectRDMAWritesOrderingNone = 0
     cudaGPUDirectRDMAWritesOrderingOwner = 100
     cudaGPUDirectRDMAWritesOrderingAllDevices = 200
 enum cudaGetDriverEntryPointFlags
     cudaEnableDefault = 0
     cudaEnableLegacyStream = 1
     cudaEnablePerThreadDefaultStream = 2
 enum cudaGraphChildGraphNodeOwnership
     cudaGraphChildGraphOwnershipClone = 0
     cudaGraphChildGraphOwnershipMove = 1
-enum cudaGraphConditionalNodeType
 enum cudaGraphDebugDotFlags
     cudaGraphDebugDotFlagsVerbose = 1
     cudaGraphDebugDotFlagsKernelNodeParams = 4
     cudaGraphDebugDotFlagsMemcpyNodeParams = 8
     cudaGraphDebugDotFlagsMemsetNodeParams = 16
     cudaGraphDebugDotFlagsHostNodeParams = 32
     cudaGraphDebugDotFlagsEventNodeParams = 64
     cudaGraphDebugDotFlagsExtSemasSignalNodeParams = 128
     cudaGraphDebugDotFlagsExtSemasWaitNodeParams = 256
     cudaGraphDebugDotFlagsKernelNodeAttributes = 512
     cudaGraphDebugDotFlagsHandles = 1024
     cudaGraphDebugDotFlagsConditionalNodeParams = 32768
 enum cudaGraphDependencyType
     cudaGraphDependencyTypeDefault = 0
     cudaGraphDependencyTypeProgrammatic = 1
 enum cudaGraphExecUpdateResult
     cudaGraphExecUpdateSuccess = 0
     cudaGraphExecUpdateError = 1
     cudaGraphExecUpdateErrorTopologyChanged = 2
     cudaGraphExecUpdateErrorNodeTypeChanged = 3
     cudaGraphExecUpdateErrorFunctionChanged = 4
     cudaGraphExecUpdateErrorParametersChanged = 5
     cudaGraphExecUpdateErrorNotSupported = 6
     cudaGraphExecUpdateErrorUnsupportedFunctionChange = 7
     cudaGraphExecUpdateErrorAttributesChanged = 8
 enum cudaGraphInstantiateFlags
     cudaGraphInstantiateFlagAutoFreeOnLaunch = 1
     cudaGraphInstantiateFlagUpload = 2
     cudaGraphInstantiateFlagDeviceLaunch = 4
     cudaGraphInstantiateFlagUseNodePriority = 8
 enum cudaGraphInstantiateResult
     cudaGraphInstantiateSuccess = 0
     cudaGraphInstantiateError = 1
     cudaGraphInstantiateInvalidStructure = 2
     cudaGraphInstantiateNodeOperationNotSupported = 3
     cudaGraphInstantiateMultipleDevicesNotSupported = 4
     cudaGraphInstantiateConditionalHandleUnused = 5
-enum cudaGraphKernelNodeField
-enum cudaGraphMemAttributeType
 enum cudaGraphNodeType
     cudaGraphNodeTypeKernel = 0
     cudaGraphNodeTypeMemcpy = 1
     cudaGraphNodeTypeMemset = 2
     cudaGraphNodeTypeHost = 3
     cudaGraphNodeTypeGraph = 4
     cudaGraphNodeTypeEmpty = 5
     cudaGraphNodeTypeWaitEvent = 6
     cudaGraphNodeTypeEventRecord = 7
     cudaGraphNodeTypeExtSemaphoreSignal = 8
     cudaGraphNodeTypeExtSemaphoreWait = 9
     cudaGraphNodeTypeMemAlloc = 10
     cudaGraphNodeTypeMemFree = 11
     cudaGraphNodeTypeConditional = 13
     cudaGraphNodeTypeCount = 14
 enum cudaGraphicsCubeFace
     cudaGraphicsCubeFacePositiveX = 0
     cudaGraphicsCubeFaceNegativeX = 1
     cudaGraphicsCubeFacePositiveY = 2
     cudaGraphicsCubeFaceNegativeY = 3
     cudaGraphicsCubeFacePositiveZ = 4
     cudaGraphicsCubeFaceNegativeZ = 5
 enum cudaGraphicsMapFlags
     cudaGraphicsMapFlagsNone = 0
     cudaGraphicsMapFlagsReadOnly = 1
     cudaGraphicsMapFlagsWriteDiscard = 2
 enum cudaGraphicsRegisterFlags
     cudaGraphicsRegisterFlagsNone = 0
     cudaGraphicsRegisterFlagsReadOnly = 1
     cudaGraphicsRegisterFlagsWriteDiscard = 2
     cudaGraphicsRegisterFlagsSurfaceLoadStore = 4
     cudaGraphicsRegisterFlagsTextureGather = 8
-enum cudaJitOption
-enum cudaJit_CacheMode
-enum cudaJit_Fallback
 enum cudaLaunchAttributeID
     cudaLaunchAttributeIgnore = 0
     cudaLaunchAttributeAccessPolicyWindow = 1
     cudaLaunchAttributeCooperative = 2
     cudaLaunchAttributeSynchronizationPolicy = 3
     cudaLaunchAttributeClusterDimension = 4
     cudaLaunchAttributeClusterSchedulingPolicyPreference = 5
     cudaLaunchAttributeProgrammaticStreamSerialization = 6
     cudaLaunchAttributeProgrammaticEvent = 7
     cudaLaunchAttributePriority = 8
     cudaLaunchAttributeMemSyncDomainMap = 9
     cudaLaunchAttributeMemSyncDomain = 10
     cudaLaunchAttributePreferredClusterDimension = 11
     cudaLaunchAttributeLaunchCompletionEvent = 12
     cudaLaunchAttributeDeviceUpdatableKernelNode = 13
     cudaLaunchAttributePreferredSharedMemoryCarveout = 14
 enum cudaLaunchMemSyncDomain
     cudaLaunchMemSyncDomainDefault = 0
     cudaLaunchMemSyncDomainRemote = 1
-enum cudaLibraryOption
 enum cudaLimit
     cudaLimitStackSize = 0
     cudaLimitPrintfFifoSize = 1
     cudaLimitMallocHeapSize = 2
     cudaLimitDevRuntimeSyncDepth = 3
     cudaLimitDevRuntimePendingLaunchCount = 4
     cudaLimitMaxL2FetchGranularity = 5
     cudaLimitPersistingL2CacheSize = 6
 enum cudaMemAccessFlags
     cudaMemAccessFlagsProtNone = 0
     cudaMemAccessFlagsProtRead = 1
     cudaMemAccessFlagsProtReadWrite = 3
 enum cudaMemAllocationHandleType
     cudaMemHandleTypeNone = 0
     cudaMemHandleTypePosixFileDescriptor = 1
     cudaMemHandleTypeWin32 = 2
     cudaMemHandleTypeWin32Kmt = 4
     cudaMemHandleTypeFabric = 8
 enum cudaMemAllocationType
     cudaMemAllocationTypeInvalid = 0
     cudaMemAllocationTypePinned = 1
     cudaMemAllocationTypeMax = 2147483647
 enum cudaMemLocationType
     cudaMemLocationTypeInvalid = 0
     cudaMemLocationTypeDevice = 1
     cudaMemLocationTypeHost = 2
     cudaMemLocationTypeHostNuma = 3
     cudaMemLocationTypeHostNumaCurrent = 4
 enum cudaMemPoolAttr
     cudaMemPoolReuseFollowEventDependencies = 1
     cudaMemPoolReuseAllowOpportunistic = 2
     cudaMemPoolReuseAllowInternalDependencies = 3
     cudaMemPoolAttrReleaseThreshold = 4
     cudaMemPoolAttrReservedMemCurrent = 5
     cudaMemPoolAttrReservedMemHigh = 6
     cudaMemPoolAttrUsedMemCurrent = 7
     cudaMemPoolAttrUsedMemHigh = 8
 enum cudaMemRangeAttribute
     cudaMemRangeAttributeReadMostly = 1
     cudaMemRangeAttributePreferredLocation = 2
     cudaMemRangeAttributeAccessedBy = 3
     cudaMemRangeAttributeLastPrefetchLocation = 4
     cudaMemRangeAttributePreferredLocationType = 5
     cudaMemRangeAttributePreferredLocationId = 6
     cudaMemRangeAttributeLastPrefetchLocationType = 7
     cudaMemRangeAttributeLastPrefetchLocationId = 8
 enum cudaMemcpy3DOperandType
     cudaMemcpyOperandTypePointer = 1
     cudaMemcpyOperandTypeArray = 2
     cudaMemcpyOperandTypeMax = 2147483647
 enum cudaMemcpyFlags
     cudaMemcpyFlagDefault = 0
     cudaMemcpyFlagPreferOverlapWithCompute = 1
 enum cudaMemcpyKind
     cudaMemcpyHostToHost = 0
     cudaMemcpyHostToDevice = 1
     cudaMemcpyDeviceToHost = 2
     cudaMemcpyDeviceToDevice = 3
     cudaMemcpyDefault = 4
 enum cudaMemoryAdvise
     cudaMemAdviseSetReadMostly = 1
     cudaMemAdviseUnsetReadMostly = 2
     cudaMemAdviseSetPreferredLocation = 3
     cudaMemAdviseUnsetPreferredLocation = 4
     cudaMemAdviseSetAccessedBy = 5
     cudaMemAdviseUnsetAccessedBy = 6
 enum cudaMemoryType
     cudaMemoryTypeUnregistered = 0
     cudaMemoryTypeHost = 1
     cudaMemoryTypeDevice = 2
     cudaMemoryTypeManaged = 3
 enum cudaResourceType
     cudaResourceTypeArray = 0
     cudaResourceTypeMipmappedArray = 1
     cudaResourceTypeLinear = 2
     cudaResourceTypePitch2D = 3
 enum cudaResourceViewFormat
     cudaResViewFormatNone = 0
     cudaResViewFormatUnsignedChar1 = 1
     cudaResViewFormatUnsignedChar2 = 2
     cudaResViewFormatUnsignedChar4 = 3
     cudaResViewFormatSignedChar1 = 4
     cudaResViewFormatSignedChar2 = 5
     cudaResViewFormatSignedChar4 = 6
     cudaResViewFormatUnsignedShort1 = 7
     cudaResViewFormatUnsignedShort2 = 8
     cudaResViewFormatUnsignedShort4 = 9
     cudaResViewFormatSignedShort1 = 10
     cudaResViewFormatSignedShort2 = 11
     cudaResViewFormatSignedShort4 = 12
     cudaResViewFormatUnsignedInt1 = 13
     cudaResViewFormatUnsignedInt2 = 14
     cudaResViewFormatUnsignedInt4 = 15
     cudaResViewFormatSignedInt1 = 16
     cudaResViewFormatSignedInt2 = 17
     cudaResViewFormatSignedInt4 = 18
     cudaResViewFormatHalf1 = 19
     cudaResViewFormatHalf2 = 20
     cudaResViewFormatHalf4 = 21
     cudaResViewFormatFloat1 = 22
     cudaResViewFormatFloat2 = 23
     cudaResViewFormatFloat4 = 24
     cudaResViewFormatUnsignedBlockCompressed1 = 25
     cudaResViewFormatUnsignedBlockCompressed2 = 26
     cudaResViewFormatUnsignedBlockCompressed3 = 27
     cudaResViewFormatUnsignedBlockCompressed4 = 28
     cudaResViewFormatSignedBlockCompressed4 = 29
     cudaResViewFormatUnsignedBlockCompressed5 = 30
     cudaResViewFormatSignedBlockCompressed5 = 31
     cudaResViewFormatUnsignedBlockCompressed6H = 32
     cudaResViewFormatSignedBlockCompressed6H = 33
     cudaResViewFormatUnsignedBlockCompressed7 = 34
 enum cudaSharedCarveout
     cudaSharedmemCarveoutDefault = 18446744073709551615
     cudaSharedmemCarveoutMaxShared = 100
     cudaSharedmemCarveoutMaxL1 = 0
 enum cudaSharedMemConfig
     cudaSharedMemBankSizeDefault = 0
     cudaSharedMemBankSizeFourByte = 1
     cudaSharedMemBankSizeEightByte = 2
 enum cudaStreamCaptureMode
     cudaStreamCaptureModeGlobal = 0
     cudaStreamCaptureModeThreadLocal = 1
     cudaStreamCaptureModeRelaxed = 2
 enum cudaStreamCaptureStatus
     cudaStreamCaptureStatusNone = 0
     cudaStreamCaptureStatusActive = 1
     cudaStreamCaptureStatusInvalidated = 2
 enum cudaStreamUpdateCaptureDependenciesFlags
     cudaStreamAddCaptureDependencies = 0
     cudaStreamSetCaptureDependencies = 1
 enum cudaSurfaceBoundaryMode
     cudaBoundaryModeZero = 0
     cudaBoundaryModeClamp = 1
     cudaBoundaryModeTrap = 2
 enum cudaSurfaceFormatMode
     cudaFormatModeForced = 0
     cudaFormatModeAuto = 1
 enum cudaTextureAddressMode
     cudaAddressModeWrap = 0
     cudaAddressModeClamp = 1
     cudaAddressModeMirror = 2
     cudaAddressModeBorder = 3
 enum cudaTextureFilterMode
     cudaFilterModePoint = 0
     cudaFilterModeLinear = 1
 enum cudaTextureReadMode
     cudaReadModeElementType = 0
     cudaReadModeNormalizedFloat = 1
 enum cudaUserObjectFlags
     cudaUserObjectNoDestructorSync = 1
 enum cudaUserObjectRetainFlags
     cudaGraphUserObjectMove = 1
 struct CUuuid_st
 struct cudaAccessPolicyWindow
     base_ptr
     hitProp
     hitRatio
     missProp
     num_bytes
 struct cudaArrayMemoryRequirements
     alignment
     size
 struct cudaArraySparseProperties
     depth
     flags
     height
     miptailFirstLevel
     miptailSize
     width
-struct cudaAsyncNotificationInfo_t
 struct cudaChannelFormatDesc
     f
     w
     x
     y
     z
 struct cudaChildGraphNodeParams
     graph
     ownership
-struct cudaConditionalNodeParams
 struct cudaDeviceProp
     ECCEnabled
     accessPolicyMaxWindowSize
     asyncEngineCount
     canMapHostMemory
     canUseHostPointerForRegisteredMem
     clockRate
     clusterLaunch
     computeMode
     computePreemptionSupported
     concurrentKernels
     concurrentManagedAccess
     cooperativeLaunch
     cooperativeMultiDeviceLaunch
     deferredMappingCudaArraySupported
     deviceOverlap
     directManagedMemAccessFromHost
     globalL1CacheSupported
     gpuDirectRDMAFlushWritesOptions
     gpuDirectRDMASupported
     gpuDirectRDMAWritesOrdering
     hostNativeAtomicSupported
     hostRegisterReadOnlySupported
     hostRegisterSupported
     integrated
     ipcEventSupported
     isMultiGpuBoard
     kernelExecTimeoutEnabled
     l2CacheSize
     localL1CacheSupported
     luid
     luidDeviceNodeMask
     major
     managedMemory
     maxBlocksPerMultiProcessor
     maxGridSize
     maxSurface1D
     maxSurface1DLayered
     maxSurface2D
     maxSurface2DLayered
     maxSurface3D
     maxSurfaceCubemap
     maxSurfaceCubemapLayered
     maxTexture1D
     maxTexture1DLayered
     maxTexture1DLinear
     maxTexture1DMipmap
     maxTexture2D
     maxTexture2DGather
     maxTexture2DLayered
     maxTexture2DLinear
     maxTexture2DMipmap
     maxTexture3D
     maxTexture3DAlt
     maxTextureCubemap
     maxTextureCubemapLayered
     maxThreadsDim
     maxThreadsPerBlock
     maxThreadsPerMultiProcessor
     memPitch
     memoryBusWidth
     memoryClockRate
     memoryPoolSupportedHandleTypes
     memoryPoolsSupported
     minor
     multiGpuBoardGroupID
     multiProcessorCount
     name
     pageableMemoryAccess
     pageableMemoryAccessUsesHostPageTables
     pciBusID
     pciDeviceID
     pciDomainID
     persistingL2CacheMaxSize
     regsPerBlock
     regsPerMultiprocessor
-    reserved
     reservedSharedMemPerBlock
     sharedMemPerBlock
     sharedMemPerBlockOptin
     sharedMemPerMultiprocessor
     singleToDoublePrecisionPerfRatio
     sparseCudaArraySupported
     streamPrioritiesSupported
     surfaceAlignment
     tccDriver
     textureAlignment
     texturePitchAlignment
     timelineSemaphoreInteropSupported
     totalConstMem
     totalGlobalMem
     unifiedAddressing
     unifiedFunctionPointers
     uuid
     warpSize
-struct cudaEglFrame
-struct cudaEglPlaneDesc
 struct cudaEventRecordNodeParams
     event
 struct cudaEventWaitNodeParams
     event
 struct cudaExtent
     depth
     height
     width
-struct cudaExternalMemoryBufferDesc
 struct cudaExternalMemoryHandleDesc
-struct cudaExternalMemoryMipmappedArrayDesc
 struct cudaExternalSemaphoreHandleDesc
-struct cudaExternalSemaphoreSignalNodeParams
-struct cudaExternalSemaphoreSignalNodeParamsV2
 struct cudaExternalSemaphoreSignalParams
 struct cudaExternalSemaphoreSignalParams_v1
-struct cudaExternalSemaphoreWaitNodeParams
-struct cudaExternalSemaphoreWaitNodeParamsV2
 struct cudaExternalSemaphoreWaitParams
 struct cudaExternalSemaphoreWaitParams_v1
 struct cudaFuncAttributes
     binaryVersion
     cacheModeCA
     clusterDimMustBeSet
     clusterSchedulingPolicyPreference
     constSizeBytes
     localSizeBytes
     maxDynamicSharedSizeBytes
     maxThreadsPerBlock
     nonPortableClusterSizeAllowed
     numRegs
     preferredShmemCarveout
     ptxVersion
     requiredClusterWidth
     reserved
     sharedSizeBytes
 struct cudaGraphEdgeData
     from_port
     reserved
     to_port
     type
 struct cudaGraphExecUpdateResultInfo
     errorFromNode
     errorNode
     result
 struct cudaGraphInstantiateParams
     errNode_out
     flags
     result_out
     uploadStream
 struct cudaGraphKernelNodeUpdate
 struct cudaGraphNodeParams
     alloc
-    conditional
     eventRecord
     eventWait
-    extSemSignal
-    extSemWait
     free
     graph
     host
     kernel
     memcpy
-    memset
     reserved0
     reserved1
     reserved2
     type
 struct cudaHostNodeParams
     fn
     userData
 struct cudaHostNodeParamsV2
     fn
     userData
 struct cudaIpcEventHandle_t
 struct cudaIpcMemHandle_t
 struct cudaKernelNodeParams
     blockDim
     extra
     func
     gridDim
     kernelParams
     sharedMemBytes
 struct cudaKernelNodeParamsV2
     blockDim
     extra
     func
     gridDim
     kernelParams
     sharedMemBytes
 struct cudaLaunchAttribute
     id
     val
 union cudaLaunchAttributeValue
 struct cudaLaunchConfig_t
     attrs
     blockDim
     dynamicSmemBytes
     gridDim
     numAttrs
     stream
 struct cudaLaunchMemSyncDomainMap
     default_
     remote
 struct cudaLaunchParams
     args
     blockDim
     func
     gridDim
     sharedMem
     stream
 struct cudaMemAccessDesc
     flags
     location
 struct cudaMemAllocNodeParams
     accessDescCount
     accessDescs
     bytesize
     dptr
     poolProps
 struct cudaMemAllocNodeParamsV2
     accessDescCount
     accessDescs
     bytesize
     dptr
     poolProps
 struct cudaMemFreeNodeParams
     dptr
 struct cudaMemLocation
     id
     type
 struct cudaMemPoolProps
     allocType
     handleTypes
     location
     maxSize
     reserved
     usage
     win32SecurityAttributes
 struct cudaMemPoolPtrExportData
 struct cudaMemcpy3DOperand
 struct cudaMemcpy3DParms
     dstArray
     dstPos
     dstPtr
     extent
     kind
     srcArray
     srcPos
     srcPtr
 struct cudaMemcpy3DPeerParms
     dstArray
     dstDevice
     dstPos
     dstPtr
     extent
     srcArray
     srcDevice
     srcPos
     srcPtr
 struct cudaMemcpyAttributes
     dstLocHint
     flags
     srcAccessOrder
     srcLocHint
 struct cudaMemcpyNodeParams
     copyParams
     flags
     reserved
 struct cudaMemsetParams
     dst
     elementSize
     height
     pitch
     value
     width
 struct cudaMemsetParamsV2
     dst
     elementSize
     height
     pitch
     value
     width
 struct cudaOffset3D
 struct cudaPitchedPtr
     pitch
     ptr
     xsize
     ysize
 struct cudaPointerAttributes
     device
     devicePointer
     hostPointer
     type
 struct cudaPos
     x
     y
     z
 struct cudaResourceDesc
     array
     desc
     devPtr
     height
     mipmap
     pitchInBytes
     resType
     sizeInBytes
     width
 struct cudaResourceViewDesc
     depth
     firstLayer
     firstMipmapLevel
     format
     height
     lastLayer
     lastMipmapLevel
     width
 struct cudaTextureDesc
     addressMode
     borderColor
     disableTrilinearOptimization
     filterMode
     maxAnisotropy
     maxMipmapLevelClamp
     minMipmapLevelClamp
     mipmapFilterMode
     mipmapLevelBias
     normalizedCoords
     readMode
     sRGB
     seamlessCubemap
 typedef const cudaArray * cudaArray_const_t;
 typedef cudaArray * cudaArray_t;
-typedef cudaAsyncCallbackEntry * cudaAsyncCallbackHandle_t;
-typedef CUeglStreamConnection_st * cudaEglStreamConnection;
 typedef enum cudaError cudaError_t;
 typedef CUevent_st * cudaEvent_t;
-typedef CUexternalMemory_st * cudaExternalMemory_t;
-typedef CUexternalSemaphore_st * cudaExternalSemaphore_t;
 typedef CUfunc_st * cudaFunction_t;
-typedef unsigned long long cudaGraphConditionalHandle;
 typedef CUgraphDeviceUpdatableNode_st * cudaGraphDeviceNode_t;
 typedef CUgraphExec_st * cudaGraphExec_t;
 typedef CUgraphNode_st * cudaGraphNode_t;
 typedef CUgraph_st * cudaGraph_t;
 typedef cudaGraphicsResource * cudaGraphicsResource_t;
 typedef void(* cudaHostFn_t)(void* userData);
 typedef CUkern_st * cudaKernel_t;
 typedef CUlib_st * cudaLibrary_t;
 typedef CUmemPoolHandle_st * cudaMemPool_t;
 typedef const cudaMipmappedArray * cudaMipmappedArray_const_t;
 typedef cudaMipmappedArray * cudaMipmappedArray_t;
 typedef CUstream_st * cudaStream_t;
 typedef unsigned long long cudaSurfaceObject_t;
 typedef unsigned long long cudaTextureObject_t;
 typedef CUuserObject_st * cudaUserObject_t;

76% (527 of 691 declarations available)

6.1. Device Management#

 cudaError_t cudaChooseDevice(int* device, const cudaDeviceProp* prop);
 cudaError_t cudaDeviceFlushGPUDirectRDMAWrites(cudaFlushGPUDirectRDMAWritesTarget target, cudaFlushGPUDirectRDMAWritesScope scope);
 cudaError_t cudaDeviceGetAttribute(int* value, cudaDeviceAttr attr, int device);
 __device__ cudaError_t cudaDeviceGetAttribute(int* value, cudaDeviceAttr attr, int device);
 cudaError_t cudaDeviceGetByPCIBusId(int* device, const char* pciBusId);
 cudaError_t cudaDeviceGetCacheConfig(cudaFuncCache ** pCacheConfig);
 __device__ cudaError_t cudaDeviceGetCacheConfig(cudaFuncCache ** pCacheConfig);
 cudaError_t cudaDeviceGetDefaultMemPool(cudaMemPool_t* memPool, int device);
-cudaError_t cudaDeviceGetHostAtomicCapabilities(unsigned int* capabilities, const cudaAtomicOperation ** operations, unsigned int count, int device);
 cudaError_t cudaDeviceGetLimit(size_t* pValue, cudaLimit limit);
 __device__ cudaError_t cudaDeviceGetLimit(size_t* pValue, cudaLimit limit);
 cudaError_t cudaDeviceGetMemPool(cudaMemPool_t* memPool, int device);
-cudaError_t cudaDeviceGetNvSciSyncAttributes(void* nvSciSyncAttrList, int device, int flags);
-cudaError_t cudaDeviceGetP2PAtomicCapabilities(unsigned int* capabilities, const cudaAtomicOperation ** operations, unsigned int count, int srcDevice, int dstDevice);
 cudaError_t cudaDeviceGetP2PAttribute(int* value, cudaDeviceP2PAttr attr, int srcDevice, int dstDevice);
 cudaError_t cudaDeviceGetPCIBusId(char* pciBusId, int len, int device);
 cudaError_t cudaDeviceGetStreamPriorityRange(int* leastPriority, int* greatestPriority);
 cudaError_t cudaDeviceGetTexture1DLinearMaxWidth(size_t* maxWidthInElements, const cudaChannelFormatDesc* fmtDesc, int device);
-cudaError_t cudaDeviceRegisterAsyncNotification(int device, cudaAsyncCallback callbackFunc, void* userData, cudaAsyncCallbackHandle_t* callback);
 cudaError_t cudaDeviceReset(void);
 cudaError_t cudaDeviceSetCacheConfig(cudaFuncCache cacheConfig);
 cudaError_t cudaDeviceSetLimit(cudaLimit limit, size_t value);
 cudaError_t cudaDeviceSetMemPool(int device, cudaMemPool_t memPool);
 cudaError_t cudaDeviceSynchronize(void);
-__device__ cudaError_t cudaDeviceSynchronize(void);
-cudaError_t cudaDeviceUnregisterAsyncNotification(int device, cudaAsyncCallbackHandle_t callback);
 cudaError_t cudaGetDevice(int* device);
 __device__ cudaError_t cudaGetDevice(int* device);
 cudaError_t cudaGetDeviceCount(int* count);
 __device__ cudaError_t cudaGetDeviceCount(int* count);
 cudaError_t cudaGetDeviceFlags(unsigned int* flags);
 cudaError_t cudaGetDeviceProperties(cudaDeviceProp* prop, int device);
 cudaError_t cudaInitDevice(int device, unsigned int deviceFlags, unsigned int flags);
 cudaError_t cudaIpcCloseMemHandle(void* devPtr);
 cudaError_t cudaIpcGetEventHandle(cudaIpcEventHandle_t* handle, cudaEvent_t event);
 cudaError_t cudaIpcGetMemHandle(cudaIpcMemHandle_t* handle, void* devPtr);
 cudaError_t cudaIpcOpenEventHandle(cudaEvent_t* event, cudaIpcEventHandle_t handle);
 cudaError_t cudaIpcOpenMemHandle(void** devPtr, cudaIpcMemHandle_t handle, unsigned int flags);
 cudaError_t cudaSetDevice(int device);
 cudaError_t cudaSetDeviceFlags(unsigned int flags);
 cudaError_t cudaSetValidDevices(int* device_arr, int len);

6.2. Device Management [DEPRECATED]#

 cudaError_t cudaDeviceGetSharedMemConfig(cudaSharedMemConfig ** pConfig);
 __device__ cudaError_t cudaDeviceGetSharedMemConfig(cudaSharedMemConfig ** pConfig);
 cudaError_t cudaDeviceSetSharedMemConfig(cudaSharedMemConfig config);

6.3. Error Handling#

 const char* cudaGetErrorName(cudaError_t error);
 __device__ const char* cudaGetErrorName(cudaError_t error);
 const char* cudaGetErrorString(cudaError_t error);
 __device__ const char* cudaGetErrorString(cudaError_t error);
 cudaError_t cudaGetLastError(void);
-__device__ cudaError_t cudaGetLastError(void);
 cudaError_t cudaPeekAtLastError(void);
-__device__ cudaError_t cudaPeekAtLastError(void);

6.4. Stream Management#

-struct cudaGraphRecaptureCallbackData
-typedef cudaError_t* (*cudaGraphRecaptureCallback_t)(void* data, cudaGraphNode_t node, const cudaGraphNodeParams* originalParams, const cudaGraphNodeParams* recaptureParams, enum cudaGraphRecaptureStatus status);
 typedef void(* cudaStreamCallback_t)(cudaStream_t stream, cudaError_t status, void* userData);
 cudaError_t cudaCtxResetPersistingL2Cache(void);
 cudaError_t cudaStreamAddCallback(cudaStream_t stream, cudaStreamCallback_t callback, void* userData, unsigned int flags);
 cudaError_t cudaStreamAttachMemAsync(cudaStream_t stream, void* devPtr, size_t length = 0, unsigned int flags = cudaMemAttachSingle);
 cudaError_t cudaStreamBeginCapture(cudaStream_t stream, cudaStreamCaptureMode mode);
 cudaError_t cudaStreamBeginCaptureToGraph(cudaStream_t stream, cudaGraph_t graph, const cudaGraphNode_t* dependencies, const cudaGraphEdgeData* dependencyData, size_t numDependencies, cudaStreamCaptureMode mode);
-cudaError_t cudaStreamBeginRecaptureToGraph(cudaStream_t stream, cudaStreamCaptureMode mode, cudaGraph_t graph, cudaGraphRecaptureCallbackData* callbackData = 0);
 cudaError_t cudaStreamCopyAttributes(cudaStream_t dst, cudaStream_t src);
 cudaError_t cudaStreamCreate(cudaStream_t* pStream);
 cudaError_t cudaStreamCreateWithFlags(cudaStream_t* pStream, unsigned int flags);
-__device__ cudaError_t cudaStreamCreateWithFlags(cudaStream_t* pStream, unsigned int flags);
 cudaError_t cudaStreamCreateWithPriority(cudaStream_t* pStream, unsigned int flags, int priority);
 cudaError_t cudaStreamDestroy(cudaStream_t stream);
-__device__ cudaError_t cudaStreamDestroy(cudaStream_t stream);
 cudaError_t cudaStreamEndCapture(cudaStream_t stream, cudaGraph_t* pGraph);
 cudaError_t cudaStreamGetAttribute(cudaStream_t hStream, cudaStreamAttrID attr, cudaStreamAttrValue* value_out);
 cudaError_t cudaStreamGetCaptureInfo(cudaStream_t stream, cudaStreamCaptureStatus ** captureStatus_out, unsigned long long* id_out = 0, cudaGraph_t* graph_out = 0, const cudaGraphNode_t** dependencies_out = 0, const cudaGraphEdgeData** edgeData_out = 0, size_t* numDependencies_out = 0);
 cudaError_t cudaStreamGetDevice(cudaStream_t hStream, int* device);
 cudaError_t cudaStreamGetFlags(cudaStream_t hStream, unsigned int* flags);
 cudaError_t cudaStreamGetId(cudaStream_t hStream, unsigned long long* streamId);
 cudaError_t cudaStreamGetPriority(cudaStream_t hStream, int* priority);
 cudaError_t cudaStreamIsCapturing(cudaStream_t stream, cudaStreamCaptureStatus ** pCaptureStatus);
 cudaError_t cudaStreamQuery(cudaStream_t stream);
 cudaError_t cudaStreamSetAttribute(cudaStream_t hStream, cudaStreamAttrID attr, const cudaStreamAttrValue* value);
 cudaError_t cudaStreamSynchronize(cudaStream_t stream);
 cudaError_t cudaStreamUpdateCaptureDependencies(cudaStream_t stream, cudaGraphNode_t* dependencies, const cudaGraphEdgeData* dependencyData, size_t numDependencies, unsigned int flags = 0);
 cudaError_t cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags = 0);
-__device__ cudaError_t cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags = 0);
 cudaError_t cudaThreadExchangeStreamCaptureMode(cudaStreamCaptureMode ** mode);

6.5. Event Management#

 cudaError_t cudaEventCreate(cudaEvent_t* event);
 cudaError_t cudaEventCreateWithFlags(cudaEvent_t* event, unsigned int flags);
-__device__ cudaError_t cudaEventCreateWithFlags(cudaEvent_t* event, unsigned int flags);
 cudaError_t cudaEventDestroy(cudaEvent_t event);
-__device__ cudaError_t cudaEventDestroy(cudaEvent_t event);
 cudaError_t cudaEventElapsedTime(float* ms, cudaEvent_t start, cudaEvent_t end);
 cudaError_t cudaEventQuery(cudaEvent_t event);
 cudaError_t cudaEventRecord(cudaEvent_t event, cudaStream_t stream = 0);
-__device__ cudaError_t cudaEventRecord(cudaEvent_t event, cudaStream_t stream = 0);
 cudaError_t cudaEventRecordWithFlags(cudaEvent_t event, cudaStream_t stream = 0, unsigned int flags = 0);
 cudaError_t cudaEventSynchronize(cudaEvent_t event);

6.6. External Resource Interoperability#

-cudaError_t cudaDestroyExternalMemory(cudaExternalMemory_t extMem);
-cudaError_t cudaDestroyExternalSemaphore(cudaExternalSemaphore_t extSem);
-cudaError_t cudaExternalMemoryGetMappedBuffer(void** devPtr, cudaExternalMemory_t extMem, const cudaExternalMemoryBufferDesc* bufferDesc);
-cudaError_t cudaExternalMemoryGetMappedMipmappedArray(cudaMipmappedArray_t* mipmap, cudaExternalMemory_t extMem, const cudaExternalMemoryMipmappedArrayDesc* mipmapDesc);
-cudaError_t cudaImportExternalMemory(cudaExternalMemory_t* extMem_out, const cudaExternalMemoryHandleDesc* memHandleDesc);
-cudaError_t cudaImportExternalSemaphore(cudaExternalSemaphore_t* extSem_out, const cudaExternalSemaphoreHandleDesc* semHandleDesc);
-cudaError_t cudaSignalExternalSemaphoresAsync(const cudaExternalSemaphore_t* extSemArray, const cudaExternalSemaphoreSignalParams* paramsArray, unsigned int numExtSems, cudaStream_t stream = 0);
-cudaError_t cudaWaitExternalSemaphoresAsync(const cudaExternalSemaphore_t* extSemArray, const cudaExternalSemaphoreWaitParams* paramsArray, unsigned int numExtSems, cudaStream_t stream = 0);

6.7. Execution Control#

 cudaError_t cudaFuncGetAttributes(cudaFuncAttributes* attr, const void* func);
-__device__ cudaError_t cudaFuncGetAttributes(cudaFuncAttributes* attr, const void* func);
 cudaError_t cudaFuncGetName(const char** name, const void* func);
-cudaError_t cudaFuncGetParamCount(const void* func, size_t* paramCount);
 cudaError_t cudaFuncGetParamInfo(const void* func, size_t paramIndex, size_t* paramOffset, size_t* paramSize);
 cudaError_t cudaFuncSetAttribute(const void* func, cudaFuncAttribute attr, int value);
 cudaError_t cudaFuncSetCacheConfig(const void* func, cudaFuncCache cacheConfig);
 __device__ void* cudaGetParameterBuffer(size_t alignment, size_t size);
 __device__ void cudaGridDependencySynchronize(void);
 cudaError_t cudaLaunchCooperativeKernel(const void* func, dim3 gridDim, dim3 blockDim, void** args, size_t sharedMem, cudaStream_t stream);
 __device__ cudaError_t cudaLaunchDevice(void* func, void* parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream);
 cudaError_t cudaLaunchHostFunc(cudaStream_t stream, cudaHostFn_t fn, void* userData);
-cudaError_t cudaLaunchHostFunc_v2(cudaStream_t stream, cudaHostFn_t fn, void* userData, unsigned int syncMode);
 cudaError_t cudaLaunchKernel(const void* func, dim3 gridDim, dim3 blockDim, void** args, size_t sharedMem, cudaStream_t stream);
 cudaError_t cudaLaunchKernelExC(const cudaLaunchConfig_t* config, const void* func, void** args);
 __device__ void cudaTriggerProgrammaticLaunchCompletion(void);

6.8. Execution Control [DEPRECATED]#

 cudaError_t cudaFuncSetSharedMemConfig(const void* func, cudaSharedMemConfig config);

6.9. Occupancy#

 cudaError_t cudaOccupancyAvailableDynamicSMemPerBlock(size_t* dynamicSmemSize, const void* func, int numBlocks, int blockSize);
 cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int* numBlocks, const void* func, int blockSize, size_t dynamicSMemSize);
-__device__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int* numBlocks, const void* func, int blockSize, size_t dynamicSMemSize);
 cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int* numBlocks, const void* func, int blockSize, size_t dynamicSMemSize, unsigned int flags);
-cudaError_t cudaOccupancyMaxActiveClusters(int* numClusters, const void* func, const cudaLaunchConfig_t* launchConfig);
-cudaError_t cudaOccupancyMaxPotentialClusterSize(int* clusterSize, const void* func, const cudaLaunchConfig_t* launchConfig);

6.10. Memory Management#

 cudaError_t cudaArrayGetInfo(cudaChannelFormatDesc* desc, cudaExtent* extent, unsigned int* flags, cudaArray_t array);
-cudaError_t cudaArrayGetMemoryRequirements(cudaArrayMemoryRequirements* memoryRequirements, cudaArray_t array, int device);
-cudaError_t cudaArrayGetPlane(cudaArray_t* pPlaneArray, cudaArray_t hArray, unsigned int planeIdx);
-cudaError_t cudaArrayGetSparseProperties(cudaArraySparseProperties* sparseProperties, cudaArray_t array);
 cudaError_t cudaFree(void* devPtr);
 __device__ cudaError_t cudaFree(void* devPtr);
 cudaError_t cudaFreeArray(cudaArray_t array);
 cudaError_t cudaFreeHost(void* ptr);
 cudaError_t cudaFreeMipmappedArray(cudaMipmappedArray_t mipmappedArray);
-cudaError_t cudaGetMipmappedArrayLevel(cudaArray_t* levelArray, cudaMipmappedArray_const_t mipmappedArray, unsigned int level);
 cudaError_t cudaGetSymbolAddress(void** devPtr, const void* symbol);
 cudaError_t cudaGetSymbolSize(size_t* size, const void* symbol);
 cudaError_t cudaHostAlloc(void** pHost, size_t size, unsigned int flags);
 cudaError_t cudaHostGetDevicePointer(void** pDevice, void* pHost, unsigned int flags);
 cudaError_t cudaHostGetFlags(unsigned int* pFlags, void* pHost);
 cudaError_t cudaHostRegister(void* ptr, size_t size, unsigned int flags);
 cudaError_t cudaHostUnregister(void* ptr);
 cudaError_t cudaMalloc(void** devPtr, size_t size);
 __device__ cudaError_t cudaMalloc(void** devPtr, size_t size);
 cudaError_t cudaMalloc3D(cudaPitchedPtr* pitchedDevPtr, cudaExtent extent);
 cudaError_t cudaMalloc3DArray(cudaArray_t* array, const cudaChannelFormatDesc* desc, cudaExtent extent, unsigned int flags = 0);
 cudaError_t cudaMallocArray(cudaArray_t* array, const cudaChannelFormatDesc* desc, size_t width, size_t height = 0, unsigned int flags = 0);
 cudaError_t cudaMallocHost(void** ptr, size_t size);
 cudaError_t cudaMallocManaged(void** devPtr, size_t size, unsigned int flags = cudaMemAttachGlobal);
 cudaError_t cudaMallocMipmappedArray(cudaMipmappedArray_t* mipmappedArray, const cudaChannelFormatDesc* desc, cudaExtent extent, unsigned int numLevels, unsigned int flags = 0);
 cudaError_t cudaMallocPitch(void** devPtr, size_t* pitch, size_t width, size_t height);
 cudaError_t cudaMemAdvise(const void* devPtr, size_t count, cudaMemoryAdvise advice, cudaMemLocation location);
-cudaError_t cudaMemDiscardAndPrefetchBatchAsync(void** dptrs, size_t* sizes, size_t count, cudaMemLocation* prefetchLocs, size_t* prefetchLocIdxs, size_t numPrefetchLocs, unsigned long long flags, cudaStream_t stream);
 cudaError_t cudaMemDiscardBatchAsync(void** dptrs, size_t* sizes, size_t count, unsigned long long flags, cudaStream_t stream);
 cudaError_t cudaMemGetInfo(size_t* free, size_t* total);
 cudaError_t cudaMemPrefetchAsync(const void* devPtr, size_t count, cudaMemLocation location, unsigned int flags, cudaStream_t stream = 0);
 cudaError_t cudaMemPrefetchBatchAsync(void** dptrs, size_t* sizes, size_t count, cudaMemLocation* prefetchLocs, size_t* prefetchLocIdxs, size_t numPrefetchLocs, unsigned long long flags, cudaStream_t stream);
 cudaError_t cudaMemRangeGetAttribute(void* data, size_t dataSize, cudaMemRangeAttribute attribute, const void* devPtr, size_t count);
-cudaError_t cudaMemRangeGetAttributes(void** data, size_t* dataSizes, cudaMemRangeAttribute ** attributes, size_t numAttributes, const void* devPtr, size_t count);
 cudaError_t cudaMemcpy(void* dst, const void* src, size_t count, cudaMemcpyKind kind);
 cudaError_t cudaMemcpy2D(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind);
-cudaError_t cudaMemcpy2DArrayToArray(cudaArray_t dst, size_t wOffsetDst, size_t hOffsetDst, cudaArray_const_t src, size_t wOffsetSrc, size_t hOffsetSrc, size_t width, size_t height, cudaMemcpyKind kind = cudaMemcpyDeviceToDevice);
 cudaError_t cudaMemcpy2DAsync(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemcpy2DAsync(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpy2DFromArray(void* dst, size_t dpitch, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, cudaMemcpyKind kind);
 cudaError_t cudaMemcpy2DFromArrayAsync(void* dst, size_t dpitch, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpy2DToArray(cudaArray_t dst, size_t wOffset, size_t hOffset, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind);
 cudaError_t cudaMemcpy2DToArrayAsync(cudaArray_t dst, size_t wOffset, size_t hOffset, const void* src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpy3D(const cudaMemcpy3DParms* p);
 cudaError_t cudaMemcpy3DAsync(const cudaMemcpy3DParms* p, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemcpy3DAsync(const cudaMemcpy3DParms* p, cudaStream_t stream = 0);
-cudaError_t cudaMemcpy3DBatchAsync(size_t numOps, cudaMemcpy3DBatchOp* opList, unsigned long long flags, cudaStream_t stream);
 cudaError_t cudaMemcpy3DPeer(const cudaMemcpy3DPeerParms* p);
 cudaError_t cudaMemcpy3DPeerAsync(const cudaMemcpy3DPeerParms* p, cudaStream_t stream = 0);
-cudaError_t cudaMemcpy3DWithAttributesAsync(cudaMemcpy3DBatchOp* op, unsigned long long flags, cudaStream_t stream);
 cudaError_t cudaMemcpyAsync(void* dst, const void* src, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemcpyAsync(void* dst, const void* src, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);
-cudaError_t cudaMemcpyBatchAsync(const void** dsts, const void** srcs, const size_t* sizes, size_t count, cudaMemcpyAttributes* attrs, size_t* attrsIdxs, size_t numAttrs, cudaStream_t stream);
 cudaError_t cudaMemcpyFromSymbol(void* dst, const void* symbol, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyDeviceToHost);
 cudaError_t cudaMemcpyFromSymbolAsync(void* dst, const void* symbol, size_t count, size_t offset, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpyPeer(void* dst, int dstDevice, const void* src, int srcDevice, size_t count);
 cudaError_t cudaMemcpyPeerAsync(void* dst, int dstDevice, const void* src, int srcDevice, size_t count, cudaStream_t stream = 0);
 cudaError_t cudaMemcpyToSymbol(const void* symbol, const void* src, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyHostToDevice);
 cudaError_t cudaMemcpyToSymbolAsync(const void* symbol, const void* src, size_t count, size_t offset, cudaMemcpyKind kind, cudaStream_t stream = 0);
-cudaError_t cudaMemcpyWithAttributesAsync(void* dst, const void* src, size_t size, cudaMemcpyAttributes* attr, cudaStream_t stream);
 cudaError_t cudaMemset(void* devPtr, int value, size_t count);
 cudaError_t cudaMemset2D(void* devPtr, size_t pitch, int value, size_t width, size_t height);
 cudaError_t cudaMemset2DAsync(void* devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemset2DAsync(void* devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream = 0);
 cudaError_t cudaMemset3D(cudaPitchedPtr pitchedDevPtr, int value, cudaExtent extent);
 cudaError_t cudaMemset3DAsync(cudaPitchedPtr pitchedDevPtr, int value, cudaExtent extent, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemset3DAsync(cudaPitchedPtr pitchedDevPtr, int value, cudaExtent extent, cudaStream_t stream = 0);
 cudaError_t cudaMemsetAsync(void* devPtr, int value, size_t count, cudaStream_t stream = 0);
-__device__ cudaError_t cudaMemsetAsync(void* devPtr, int value, size_t count, cudaStream_t stream = 0);
-cudaError_t cudaMipmappedArrayGetMemoryRequirements(cudaArrayMemoryRequirements* memoryRequirements, cudaMipmappedArray_t mipmap, int device);
-cudaError_t cudaMipmappedArrayGetSparseProperties(cudaArraySparseProperties* sparseProperties, cudaMipmappedArray_t mipmap);
 cudaExtent make_cudaExtent(size_t w, size_t h, size_t d);
 cudaPitchedPtr make_cudaPitchedPtr(void* d, size_t p, size_t xsz, size_t ysz);
 cudaPos make_cudaPos(size_t x, size_t y, size_t z);

6.11. Memory Management [DEPRECATED]#

-cudaError_t cudaMemcpyArrayToArray(cudaArray_t dst, size_t wOffsetDst, size_t hOffsetDst, cudaArray_const_t src, size_t wOffsetSrc, size_t hOffsetSrc, size_t count, cudaMemcpyKind kind = cudaMemcpyDeviceToDevice);
-cudaError_t cudaMemcpyFromArray(void* dst, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t count, cudaMemcpyKind kind);
-cudaError_t cudaMemcpyFromArrayAsync(void* dst, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);
 cudaError_t cudaMemcpyToArray(cudaArray_t dst, size_t wOffset, size_t hOffset, const void* src, size_t count, cudaMemcpyKind kind);
 cudaError_t cudaMemcpyToArrayAsync(cudaArray_t dst, size_t wOffset, size_t hOffset, const void* src, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);

6.12. Stream Ordered Memory Allocator#

 cudaError_t cudaFreeAsync(void* devPtr, cudaStream_t hStream);
 cudaError_t cudaMallocAsync(void** devPtr, size_t size, cudaStream_t hStream);
 cudaError_t cudaMallocFromPoolAsync(void** ptr, size_t size, cudaMemPool_t memPool, cudaStream_t stream);
 cudaError_t cudaMemGetDefaultMemPool(cudaMemPool_t* memPool, cudaMemLocation* location, cudaMemAllocationType type);
 cudaError_t cudaMemGetMemPool(cudaMemPool_t* memPool, cudaMemLocation* location, cudaMemAllocationType type);
 cudaError_t cudaMemPoolCreate(cudaMemPool_t* memPool, const cudaMemPoolProps* poolProps);
 cudaError_t cudaMemPoolDestroy(cudaMemPool_t memPool);
 cudaError_t cudaMemPoolExportPointer(cudaMemPoolPtrExportData* exportData, void* ptr);
 cudaError_t cudaMemPoolExportToShareableHandle(void* shareableHandle, cudaMemPool_t memPool, cudaMemAllocationHandleType handleType, unsigned int flags);
 cudaError_t cudaMemPoolGetAccess(cudaMemAccessFlags ** flags, cudaMemPool_t memPool, cudaMemLocation* location);
 cudaError_t cudaMemPoolGetAttribute(cudaMemPool_t memPool, cudaMemPoolAttr attr, void* value);
 cudaError_t cudaMemPoolImportFromShareableHandle(cudaMemPool_t* memPool, void* shareableHandle, cudaMemAllocationHandleType handleType, unsigned int flags);
 cudaError_t cudaMemPoolImportPointer(void** ptr, cudaMemPool_t memPool, cudaMemPoolPtrExportData* exportData);
 cudaError_t cudaMemPoolSetAccess(cudaMemPool_t memPool, const cudaMemAccessDesc* descList, size_t count);
 cudaError_t cudaMemPoolSetAttribute(cudaMemPool_t memPool, cudaMemPoolAttr attr, void* value);
 cudaError_t cudaMemPoolTrimTo(cudaMemPool_t memPool, size_t minBytesToKeep);
 cudaError_t cudaMemSetMemPool(cudaMemLocation* location, cudaMemAllocationType type, cudaMemPool_t memPool);

6.13. Unified Addressing#

 cudaError_t cudaPointerGetAttributes(cudaPointerAttributes* attributes, const void* ptr);

6.14. Peer Device Memory Access#

 cudaError_t cudaDeviceCanAccessPeer(int* canAccessPeer, int device, int peerDevice);
 cudaError_t cudaDeviceDisablePeerAccess(int peerDevice);
 cudaError_t cudaDeviceEnablePeerAccess(int peerDevice, unsigned int flags);

6.15. OpenGL Interoperability#

 enum cudaGLDeviceList
     cudaGLDeviceListAll = 1
     cudaGLDeviceListCurrentFrame = 2
     cudaGLDeviceListNextFrame = 3
 cudaError_t cudaGLGetDevices(unsigned int* pCudaDeviceCount, int* pCudaDevices, unsigned int cudaDeviceCount, cudaGLDeviceList deviceList);
 cudaError_t cudaGraphicsGLRegisterBuffer(cudaGraphicsResource** resource, GLuint buffer, unsigned int flags);
 cudaError_t cudaGraphicsGLRegisterImage(cudaGraphicsResource** resource, GLuint image, GLenum target, unsigned int flags);
-cudaError_t cudaWGLGetDevice(int* device, HGPUNV hGpu);

6.16. OpenGL Interoperability [DEPRECATED]#

 enum cudaGLMapFlags
     cudaGLMapFlagsNone = 0
     cudaGLMapFlagsReadOnly = 1
     cudaGLMapFlagsWriteDiscard = 2
 cudaError_t cudaGLMapBufferObject(void** devPtr, GLuint bufObj);
 cudaError_t cudaGLMapBufferObjectAsync(void** devPtr, GLuint bufObj, cudaStream_t stream);
 cudaError_t cudaGLRegisterBufferObject(GLuint bufObj);
 cudaError_t cudaGLSetBufferObjectMapFlags(GLuint bufObj, unsigned int flags);
-cudaError_t cudaGLSetGLDevice(int device);
 cudaError_t cudaGLUnmapBufferObject(GLuint bufObj);
 cudaError_t cudaGLUnmapBufferObjectAsync(GLuint bufObj, cudaStream_t stream);
 cudaError_t cudaGLUnregisterBufferObject(GLuint bufObj);

6.17. Direct3D 9 Interoperability#

-Windows APIs are currently unsupported

6.18. Direct3D 9 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

6.19. Direct3D 10 Interoperability#

-Windows APIs are currently unsupported

6.20. Direct3D 10 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

6.21. Direct3D 11 Interoperability#

-Windows APIs are currently unsupported

6.22. Direct3D 11 Interoperability [DEPRECATED]#

-Windows APIs are currently unsupported

6.23. VDPAU Interoperability#

-VDPAU is currently unsupported

6.24. EGL Interoperability#

-EGL is currently unsupported

6.25. Graphics Interoperability#

 cudaError_t cudaGraphicsMapResources(int count, cudaGraphicsResource_t* resources, cudaStream_t stream = 0);
-cudaError_t cudaGraphicsResourceGetMappedMipmappedArray(cudaMipmappedArray_t* mipmappedArray, cudaGraphicsResource_t resource);
 cudaError_t cudaGraphicsResourceGetMappedPointer(void** devPtr, size_t* size, cudaGraphicsResource_t resource);
 cudaError_t cudaGraphicsResourceSetMapFlags(cudaGraphicsResource_t resource, unsigned int flags);
 cudaError_t cudaGraphicsSubResourceGetMappedArray(cudaArray_t* array, cudaGraphicsResource_t resource, unsigned int arrayIndex, unsigned int mipLevel);
 cudaError_t cudaGraphicsUnmapResources(int count, cudaGraphicsResource_t* resources, cudaStream_t stream = 0);
 cudaError_t cudaGraphicsUnregisterResource(cudaGraphicsResource_t resource);

6.26. Texture Object Management#

 cudaChannelFormatDesc cudaCreateChannelDesc(int x, int y, int z, int w, cudaChannelFormatKind f);
 cudaError_t cudaCreateTextureObject(cudaTextureObject_t* pTexObject, const cudaResourceDesc* pResDesc, const cudaTextureDesc* pTexDesc, const cudaResourceViewDesc* pResViewDesc);
 cudaError_t cudaDestroyTextureObject(cudaTextureObject_t texObject);
 cudaError_t cudaGetChannelDesc(cudaChannelFormatDesc* desc, cudaArray_const_t array);
 cudaError_t cudaGetTextureObjectResourceDesc(cudaResourceDesc* pResDesc, cudaTextureObject_t texObject);
 cudaError_t cudaGetTextureObjectResourceViewDesc(cudaResourceViewDesc* pResViewDesc, cudaTextureObject_t texObject);
 cudaError_t cudaGetTextureObjectTextureDesc(cudaTextureDesc* pTexDesc, cudaTextureObject_t texObject);

6.27. Surface Object Management#

 cudaError_t cudaCreateSurfaceObject(cudaSurfaceObject_t* pSurfObject, const cudaResourceDesc* pResDesc);
 cudaError_t cudaDestroySurfaceObject(cudaSurfaceObject_t surfObject);
 cudaError_t cudaGetSurfaceObjectResourceDesc(cudaResourceDesc* pResDesc, cudaSurfaceObject_t surfObject);

6.28. Version Management#

 cudaError_t cudaDriverGetVersion(int* driverVersion);
 cudaError_t cudaRuntimeGetVersion(int* runtimeVersion);
 __device__ cudaError_t cudaRuntimeGetVersion(int* runtimeVersion);

6.29. Error Log Management Functions#

 typedef void(* cudaLogsCallback_t)(void* data, cudaLogLevel logLevel, char* message, size_t length);
 cudaError_t cudaLogsCurrent(cudaLogIterator* iterator_out, unsigned int flags);
 cudaError_t cudaLogsDumpToFile(cudaLogIterator* iterator, const char* pathToFile, unsigned int flags);
 cudaError_t cudaLogsDumpToMemory(cudaLogIterator* iterator, char* buffer, size_t* size, unsigned int flags);
 cudaError_t cudaLogsRegisterCallback(cudaLogsCallback_t callbackFunc, void* userData, cudaLogsCallbackHandle* callback_out);
 cudaError_t cudaLogsUnregisterCallback(cudaLogsCallbackHandle callback);

6.30. Graph Management#

-cudaError_t cudaDeviceGetGraphMemAttribute(int device, cudaGraphMemAttributeType attr, void* value);
-cudaError_t cudaDeviceGraphMemTrim(int device);
-cudaError_t cudaDeviceSetGraphMemAttribute(int device, cudaGraphMemAttributeType attr, void* value);
 __device__ cudaGraphExec_t cudaGetCurrentGraphExec(void);
 cudaError_t cudaGraphAddChildGraphNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, cudaGraph_t childGraph);
 cudaError_t cudaGraphAddDependencies(cudaGraph_t graph, const cudaGraphNode_t* from, const cudaGraphNode_t* to, const cudaGraphEdgeData* edgeData, size_t numDependencies);
 cudaError_t cudaGraphAddEmptyNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies);
 cudaError_t cudaGraphAddEventRecordNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, cudaEvent_t event);
 cudaError_t cudaGraphAddEventWaitNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, cudaEvent_t event);
-cudaError_t cudaGraphAddExternalSemaphoresSignalNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const cudaExternalSemaphoreSignalNodeParams* nodeParams);
-cudaError_t cudaGraphAddExternalSemaphoresWaitNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const cudaExternalSemaphoreWaitNodeParams* nodeParams);
 cudaError_t cudaGraphAddHostNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const cudaHostNodeParams* pNodeParams);
 cudaError_t cudaGraphAddKernelNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const cudaKernelNodeParams* pNodeParams);
 cudaError_t cudaGraphAddMemAllocNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, cudaMemAllocNodeParams* nodeParams);
 cudaError_t cudaGraphAddMemFreeNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, void* dptr);
 cudaError_t cudaGraphAddMemcpyNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const cudaMemcpy3DParms* pCopyParams);
 cudaError_t cudaGraphAddMemcpyNode1D(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, void* dst, const void* src, size_t count, cudaMemcpyKind kind);
 cudaError_t cudaGraphAddMemcpyNodeFromSymbol(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, void* dst, const void* symbol, size_t count, size_t offset, cudaMemcpyKind kind);
 cudaError_t cudaGraphAddMemcpyNodeToSymbol(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const void* symbol, const void* src, size_t count, size_t offset, cudaMemcpyKind kind);
 cudaError_t cudaGraphAddMemsetNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const cudaMemsetParams* pMemsetParams);
 cudaError_t cudaGraphAddNode(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, const cudaGraphEdgeData* dependencyData, size_t numDependencies, cudaGraphNodeParams* nodeParams);
 cudaError_t cudaGraphChildGraphNodeGetGraph(cudaGraphNode_t node, cudaGraph_t* pGraph);
 cudaError_t cudaGraphClone(cudaGraph_t* pGraphClone, cudaGraph_t originalGraph);
-cudaError_t cudaGraphConditionalHandleCreate(cudaGraphConditionalHandle* pHandle_out, cudaGraph_t graph, unsigned int defaultLaunchValue = 0, unsigned int flags = 0);
-cudaError_t cudaGraphConditionalHandleCreate_v2(cudaGraphConditionalHandle* pHandle_out, cudaGraph_t graph, cudaExecutionContext_t ctx = NULL, unsigned int defaultLaunchValue = 0, unsigned int flags = 0);
-cudaError_t cudaGraphCreate(cudaGraph_t* pGraph, unsigned int flags = 0);
 cudaError_t cudaGraphDebugDotPrint(cudaGraph_t graph, const char* path, unsigned int flags);
 cudaError_t cudaGraphDestroy(cudaGraph_t graph);
 cudaError_t cudaGraphDestroyNode(cudaGraphNode_t node);
 cudaError_t cudaGraphEventRecordNodeGetEvent(cudaGraphNode_t node, cudaEvent_t* event_out);
 cudaError_t cudaGraphEventRecordNodeSetEvent(cudaGraphNode_t node, cudaEvent_t event);
 cudaError_t cudaGraphEventWaitNodeGetEvent(cudaGraphNode_t node, cudaEvent_t* event_out);
 cudaError_t cudaGraphEventWaitNodeSetEvent(cudaGraphNode_t node, cudaEvent_t event);
 cudaError_t cudaGraphExecChildGraphNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, cudaGraph_t childGraph);
 cudaError_t cudaGraphExecDestroy(cudaGraphExec_t graphExec);
 cudaError_t cudaGraphExecEventRecordNodeSetEvent(cudaGraphExec_t hGraphExec, cudaGraphNode_t hNode, cudaEvent_t event);
 cudaError_t cudaGraphExecEventWaitNodeSetEvent(cudaGraphExec_t hGraphExec, cudaGraphNode_t hNode, cudaEvent_t event);
-cudaError_t cudaGraphExecExternalSemaphoresSignalNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t hNode, const cudaExternalSemaphoreSignalNodeParams* nodeParams);
-cudaError_t cudaGraphExecExternalSemaphoresWaitNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t hNode, const cudaExternalSemaphoreWaitNodeParams* nodeParams);
 cudaError_t cudaGraphExecGetFlags(cudaGraphExec_t graphExec, unsigned long long* flags);
-cudaError_t cudaGraphExecGetId(cudaGraphExec_t hGraphExec, unsigned int* graphID);
 cudaError_t cudaGraphExecHostNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const cudaHostNodeParams* pNodeParams);
 cudaError_t cudaGraphExecKernelNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const cudaKernelNodeParams* pNodeParams);
 cudaError_t cudaGraphExecMemcpyNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const cudaMemcpy3DParms* pNodeParams);
 cudaError_t cudaGraphExecMemcpyNodeSetParams1D(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, void* dst, const void* src, size_t count, cudaMemcpyKind kind);
 cudaError_t cudaGraphExecMemcpyNodeSetParamsFromSymbol(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, void* dst, const void* symbol, size_t count, size_t offset, cudaMemcpyKind kind);
 cudaError_t cudaGraphExecMemcpyNodeSetParamsToSymbol(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const void* symbol, const void* src, size_t count, size_t offset, cudaMemcpyKind kind);
 cudaError_t cudaGraphExecMemsetNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const cudaMemsetParams* pNodeParams);
 cudaError_t cudaGraphExecNodeSetParams(cudaGraphExec_t graphExec, cudaGraphNode_t node, cudaGraphNodeParams* nodeParams);
 cudaError_t cudaGraphExecUpdate(cudaGraphExec_t hGraphExec, cudaGraph_t hGraph, cudaGraphExecUpdateResultInfo* resultInfo);
-cudaError_t cudaGraphExternalSemaphoresSignalNodeGetParams(cudaGraphNode_t hNode, cudaExternalSemaphoreSignalNodeParams* params_out);
-cudaError_t cudaGraphExternalSemaphoresSignalNodeSetParams(cudaGraphNode_t hNode, const cudaExternalSemaphoreSignalNodeParams* nodeParams);
-cudaError_t cudaGraphExternalSemaphoresWaitNodeGetParams(cudaGraphNode_t hNode, cudaExternalSemaphoreWaitNodeParams* params_out);
-cudaError_t cudaGraphExternalSemaphoresWaitNodeSetParams(cudaGraphNode_t hNode, const cudaExternalSemaphoreWaitNodeParams* nodeParams);
 cudaError_t cudaGraphGetEdges(cudaGraph_t graph, cudaGraphNode_t* from, cudaGraphNode_t* to, cudaGraphEdgeData* edgeData, size_t* numEdges);
 cudaError_t cudaGraphGetId(cudaGraph_t hGraph, unsigned int* graphID);
 cudaError_t cudaGraphGetNodes(cudaGraph_t graph, cudaGraphNode_t* nodes, size_t* numNodes);
 cudaError_t cudaGraphGetRootNodes(cudaGraph_t graph, cudaGraphNode_t* pRootNodes, size_t* pNumRootNodes);
 cudaError_t cudaGraphHostNodeGetParams(cudaGraphNode_t node, cudaHostNodeParams* pNodeParams);
 cudaError_t cudaGraphHostNodeSetParams(cudaGraphNode_t node, const cudaHostNodeParams* pNodeParams);
 cudaError_t cudaGraphInstantiate(cudaGraphExec_t* pGraphExec, cudaGraph_t graph, unsigned long long flags = 0);
 cudaError_t cudaGraphInstantiateWithFlags(cudaGraphExec_t* pGraphExec, cudaGraph_t graph, unsigned long long flags = 0);
 cudaError_t cudaGraphInstantiateWithParams(cudaGraphExec_t* pGraphExec, cudaGraph_t graph, cudaGraphInstantiateParams* instantiateParams);
 cudaError_t cudaGraphKernelNodeCopyAttributes(cudaGraphNode_t hDst, cudaGraphNode_t hSrc);
 cudaError_t cudaGraphKernelNodeGetAttribute(cudaGraphNode_t hNode, cudaKernelNodeAttrID attr, cudaKernelNodeAttrValue* value_out);
 cudaError_t cudaGraphKernelNodeGetParams(cudaGraphNode_t node, cudaKernelNodeParams* pNodeParams);
 cudaError_t cudaGraphKernelNodeSetAttribute(cudaGraphNode_t hNode, cudaKernelNodeAttrID attr, const cudaKernelNodeAttrValue* value);
-__device__ cudaError_t cudaGraphKernelNodeSetEnabled(cudaGraphDeviceNode_t node, bool enable);
-__device__ cudaError_t cudaGraphKernelNodeSetGridDim(cudaGraphDeviceNode_t node, dim3 gridDim);
-template < typename T >__device__ cudaError_t cudaGraphKernelNodeSetParam(cudaGraphDeviceNode_t node, size_t offset, const T& value);
-__device__ cudaError_t cudaGraphKernelNodeSetParam(cudaGraphDeviceNode_t node, size_t offset, const void* value, size_t size);
 cudaError_t cudaGraphKernelNodeSetParams(cudaGraphNode_t node, const cudaKernelNodeParams* pNodeParams);
-__device__ cudaError_t cudaGraphKernelNodeUpdatesApply(const cudaGraphKernelNodeUpdate* updates, size_t updateCount);
 cudaError_t cudaGraphLaunch(cudaGraphExec_t graphExec, cudaStream_t stream);
-__device__ cudaError_t cudaGraphLaunch(cudaGraphExec_t graphExec, cudaStream_t stream);
 cudaError_t cudaGraphMemAllocNodeGetParams(cudaGraphNode_t node, cudaMemAllocNodeParams* params_out);
 cudaError_t cudaGraphMemFreeNodeGetParams(cudaGraphNode_t node, void* dptr_out);
 cudaError_t cudaGraphMemcpyNodeGetParams(cudaGraphNode_t node, cudaMemcpy3DParms* pNodeParams);
 cudaError_t cudaGraphMemcpyNodeSetParams(cudaGraphNode_t node, const cudaMemcpy3DParms* pNodeParams);
 cudaError_t cudaGraphMemcpyNodeSetParams1D(cudaGraphNode_t node, void* dst, const void* src, size_t count, cudaMemcpyKind kind);
 cudaError_t cudaGraphMemcpyNodeSetParamsFromSymbol(cudaGraphNode_t node, void* dst, const void* symbol, size_t count, size_t offset, cudaMemcpyKind kind);
 cudaError_t cudaGraphMemcpyNodeSetParamsToSymbol(cudaGraphNode_t node, const void* symbol, const void* src, size_t count, size_t offset, cudaMemcpyKind kind);
 cudaError_t cudaGraphMemsetNodeGetParams(cudaGraphNode_t node, cudaMemsetParams* pNodeParams);
 cudaError_t cudaGraphMemsetNodeSetParams(cudaGraphNode_t node, const cudaMemsetParams* pNodeParams);
 cudaError_t cudaGraphNodeFindInClone(cudaGraphNode_t* pNode, cudaGraphNode_t originalNode, cudaGraph_t clonedGraph);
-cudaError_t cudaGraphNodeGetContainingGraph(cudaGraphNode_t hNode, cudaGraph_t* phGraph);
 cudaError_t cudaGraphNodeGetDependencies(cudaGraphNode_t node, cudaGraphNode_t* pDependencies, cudaGraphEdgeData* edgeData, size_t* pNumDependencies);
 cudaError_t cudaGraphNodeGetDependentNodes(cudaGraphNode_t node, cudaGraphNode_t* pDependentNodes, cudaGraphEdgeData* edgeData, size_t* pNumDependentNodes);
 cudaError_t cudaGraphNodeGetEnabled(cudaGraphExec_t hGraphExec, cudaGraphNode_t hNode, unsigned int* isEnabled);
 cudaError_t cudaGraphNodeGetLocalId(cudaGraphNode_t hNode, unsigned int* nodeId);
-cudaError_t cudaGraphNodeGetParams(cudaGraphNode_t node, cudaGraphNodeParams* nodeParams);
 cudaError_t cudaGraphNodeGetToolsId(cudaGraphNode_t hNode, unsigned long long* toolsNodeId);
 cudaError_t cudaGraphNodeGetType(cudaGraphNode_t node, cudaGraphNodeType ** pType);
 cudaError_t cudaGraphNodeSetEnabled(cudaGraphExec_t hGraphExec, cudaGraphNode_t hNode, unsigned int isEnabled);
 cudaError_t cudaGraphNodeSetParams(cudaGraphNode_t node, cudaGraphNodeParams* nodeParams);
 cudaError_t cudaGraphReleaseUserObject(cudaGraph_t graph, cudaUserObject_t object, unsigned int count = 1);
 cudaError_t cudaGraphRemoveDependencies(cudaGraph_t graph, const cudaGraphNode_t* from, const cudaGraphNode_t* to, const cudaGraphEdgeData* edgeData, size_t numDependencies);
 cudaError_t cudaGraphRetainUserObject(cudaGraph_t graph, cudaUserObject_t object, unsigned int count = 1, unsigned int flags = 0);
-__device__ void cudaGraphSetConditional(cudaGraphConditionalHandle handle, unsigned int value);
 cudaError_t cudaGraphUpload(cudaGraphExec_t graphExec, cudaStream_t stream);
 cudaError_t cudaUserObjectCreate(cudaUserObject_t* object_out, void* ptr, cudaHostFn_t destroy, unsigned int initialRefcount, unsigned int flags);
 cudaError_t cudaUserObjectRelease(cudaUserObject_t object, unsigned int count = 1);
 cudaError_t cudaUserObjectRetain(cudaUserObject_t object, unsigned int count = 1);

6.31. Driver Entry Point Access#

 cudaError_t cudaGetDriverEntryPoint(const char* symbol, void** funcPtr, unsigned long long flags, cudaDriverEntryPointQueryResult ** driverStatus = NULL);
 cudaError_t cudaGetDriverEntryPointByVersion(const char* symbol, void** funcPtr, unsigned int cudaVersion, unsigned long long flags, cudaDriverEntryPointQueryResult ** driverStatus = NULL);

6.32. Library Management#

-cudaError_t cudaKernelSetAttributeForDevice(cudaKernel_t kernel, cudaFuncAttribute attr, int value, int device);
-cudaError_t cudaLibraryEnumerateKernels(cudaKernel_t* kernels, unsigned int numKernels, cudaLibrary_t lib);
 cudaError_t cudaLibraryGetGlobal(void** dptr, size_t* bytes, cudaLibrary_t library, const char* name);
 cudaError_t cudaLibraryGetKernel(cudaKernel_t* pKernel, cudaLibrary_t library, const char* name);
-cudaError_t cudaLibraryGetKernelCount(unsigned int* count, cudaLibrary_t lib);
-cudaError_t cudaLibraryGetManaged(void** dptr, size_t* bytes, cudaLibrary_t library, const char* name);
-cudaError_t cudaLibraryGetUnifiedFunction(void** fptr, cudaLibrary_t library, const char* symbol);
-cudaError_t cudaLibraryLoadData(cudaLibrary_t* library, const void* code, cudaJitOption ** jitOptions, void** jitOptionsValues, unsigned int numJitOptions, cudaLibraryOption ** libraryOptions, void** libraryOptionValues, unsigned int numLibraryOptions);
-cudaError_t cudaLibraryLoadFromFile(cudaLibrary_t* library, const char* fileName, cudaJitOption ** jitOptions, void** jitOptionsValues, unsigned int numJitOptions, cudaLibraryOption ** libraryOptions, void** libraryOptionValues, unsigned int numLibraryOptions);
 cudaError_t cudaLibraryUnload(cudaLibrary_t library);

6.33. Execution Context Management#

 cudaError_t cudaDevResourceGenerateDesc(cudaDevResourceDesc_t* phDesc, cudaDevResource* resources, unsigned int nbResources);
-cudaError_t cudaDevSmResourceSplit(cudaDevResource* result, unsigned int nbGroups, const cudaDevResource* input, cudaDevResource* remainder, unsigned int flags, cudaDevSmResourceGroupParams* groupParams);
 cudaError_t cudaDevSmResourceSplitByCount(cudaDevResource* result, unsigned int* nbGroups, const cudaDevResource* input, cudaDevResource* remaining, unsigned int flags, unsigned int minCount);
 cudaError_t cudaDeviceGetDevResource(int device, cudaDevResource* resource, cudaDevResourceType type);
 cudaError_t cudaDeviceGetExecutionCtx(cudaExecutionContext_t* ctx, int device);
 cudaError_t cudaExecutionCtxDestroy(cudaExecutionContext_t ctx);
 cudaError_t cudaExecutionCtxGetDevResource(cudaExecutionContext_t ctx, cudaDevResource* resource, cudaDevResourceType type);
 cudaError_t cudaExecutionCtxGetDevice(int* device, cudaExecutionContext_t ctx);
 cudaError_t cudaExecutionCtxGetId(cudaExecutionContext_t ctx, unsigned long long* ctxId);
 cudaError_t cudaExecutionCtxRecordEvent(cudaExecutionContext_t ctx, cudaEvent_t event);
 cudaError_t cudaExecutionCtxStreamCreate(cudaStream_t* phStream, cudaExecutionContext_t ctx, unsigned int flags, int priority);
 cudaError_t cudaExecutionCtxSynchronize(cudaExecutionContext_t ctx);
 cudaError_t cudaExecutionCtxWaitEvent(cudaExecutionContext_t ctx, cudaEvent_t event);
 cudaError_t cudaGreenCtxCreate(cudaExecutionContext_t* phCtx, cudaDevResourceDesc_t desc, int device, unsigned int flags);
 cudaError_t cudaStreamGetDevResource(cudaStream_t hStream, cudaDevResource* resource, cudaDevResourceType type);

6.34. C++ API Routines#

-class __cudaOccupancyB2DHelper
 template < class T >__host__ cudaChannelFormatDesc cudaCreateChannelDesc(void);
 cudaError_t cudaEventCreate(cudaEvent_t* event, unsigned int flags);
 template < class T >__host__ cudaError_t cudaFuncGetAttributes(cudaFuncAttributes* attr, T* entry);
 template < class T >__host__ cudaError_t cudaFuncGetName(const char** name, T* func);
 template < class T >__host__ cudaError_t cudaFuncSetAttribute(T* func, cudaFuncAttribute attr, int value);
 template < class T >__host__ cudaError_t cudaFuncSetCacheConfig(T* func, cudaFuncCache cacheConfig);
-template < class T >__host__ cudaError_t cudaGetKernel(cudaKernel_t* kernelPtr, T* func);
 template < class T >__host__ cudaError_t cudaGetSymbolAddress(void** devPtr, const T& symbol);
 template < class T >__host__ cudaError_t cudaGetSymbolSize(size_t* size, const T& symbol);
 template < class T >__host__ cudaError_t cudaGraphAddMemcpyNodeFromSymbol(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, void* dst, const T& symbol, size_t count, size_t offset, cudaMemcpyKind kind);
 template < class T >__host__ cudaError_t cudaGraphAddMemcpyNodeToSymbol(cudaGraphNode_t* pGraphNode, cudaGraph_t graph, const cudaGraphNode_t* pDependencies, size_t numDependencies, const T& symbol, const void* src, size_t count, size_t offset, cudaMemcpyKind kind);
 template < class T >__host__ cudaError_t cudaGraphExecMemcpyNodeSetParamsFromSymbol(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, void* dst, const T& symbol, size_t count, size_t offset, cudaMemcpyKind kind);
 template < class T >__host__ cudaError_t cudaGraphExecMemcpyNodeSetParamsToSymbol(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const T& symbol, const void* src, size_t count, size_t offset, cudaMemcpyKind kind);
 cudaError_t cudaGraphInstantiate(cudaGraphExec_t* pGraphExec, cudaGraph_t graph, cudaGraphNode_t* pErrorNode, char* pLogBuffer, size_t bufferSize);
 template < class T >__host__ cudaError_t cudaGraphMemcpyNodeSetParamsFromSymbol(cudaGraphNode_t node, void* dst, const T& symbol, size_t count, size_t offset, cudaMemcpyKind kind);
 template < class T >__host__ cudaError_t cudaGraphMemcpyNodeSetParamsToSymbol(cudaGraphNode_t node, const T& symbol, const void* src, size_t count, size_t offset, cudaMemcpyKind kind);
 template < class T >__host__ cudaError_t cudaLaunchCooperativeKernel(T* func, dim3 gridDim, dim3 blockDim, void** args, size_t sharedMem = 0, cudaStream_t stream = 0);
 template < class T >__host__ cudaError_t cudaLaunchKernel(T* func, dim3 gridDim, dim3 blockDim, void** args, size_t sharedMem = 0, cudaStream_t stream = 0);
-template < typename... ActTypes >__host__ cudaError_t cudaLaunchKernelEx(const cudaLaunchConfig_t* config, const cudaKernel_t kernel, ActTypes &&... args);
 template < typename... ExpTypes, typename... ActTypes >__host__ cudaError_t cudaLaunchKernelEx(const cudaLaunchConfig_t* config, void (*kernel)(ExpTypes...), ActTypes &&... args);
 template < class T >__host__ cudaError_t cudaLibraryGetGlobal(T** dptr, size_t* bytes, cudaLibrary_t library, const char* name);
-template < class T >__host__ cudaError_t cudaLibraryGetManaged(T** dptr, size_t* bytes, cudaLibrary_t library, const char* name);
-template < class T >__host__ cudaError_t cudaLibraryGetUnifiedFunction(T** fptr, cudaLibrary_t library, const char* symbol);
 cudaError_t cudaMallocAsync(void** ptr, size_t size, cudaMemPool_t memPool, cudaStream_t stream);
 cudaError_t cudaMallocHost(void** ptr, size_t size, unsigned int flags);
 template < class T >__host__ cudaError_t cudaMallocManaged(T** devPtr, size_t size, unsigned int flags = cudaMemAttachGlobal);
-template < typename T >__host__ cudaError_t cudaMemDiscardAndPrefetchBatchAsync(T** dptrs, size_t* sizes, size_t count, cudaMemLocation prefetchLocs, unsigned long long flags, cudaStream_t stream);
-template < typename T >__host__ cudaError_t cudaMemDiscardAndPrefetchBatchAsync(T** dptrs, size_t* sizes, size_t count, cudaMemLocation* prefetchLocs, size_t* prefetchLocIdxs, size_t numPrefetchLocs, unsigned long long flags, cudaStream_t stream);
-template < typename T >__host__ cudaError_t cudaMemPrefetchBatchAsync(T** dptrs, size_t* sizes, size_t count, cudaMemLocation prefetchLocs, unsigned long long flags, cudaStream_t stream);
-template < typename T >__host__ cudaError_t cudaMemPrefetchBatchAsync(T** dptrs, size_t* sizes, size_t count, cudaMemLocation* prefetchLocs, size_t* prefetchLocIdxs, size_t numPrefetchLocs, unsigned long long flags, cudaStream_t stream);
-template < typename T, typename U >__host__ cudaError_t cudaMemcpyAsync(T dst, U src, const size_t size, cudaMemcpyAttributes* attr, cudaStream_t hStream);
-template < typename T, typename U >__host__ cudaError_t cudaMemcpyBatchAsync(const T** dsts, const U** srcs, const size_t* sizes, size_t count, cudaMemcpyAttributes attr, cudaStream_t hStream);
-template < typename T, typename U >__host__ cudaError_t cudaMemcpyBatchAsync(const T** dsts, const U** srcs, const size_t* sizes, size_t count, cudaMemcpyAttributes* attrs, size_t* attrsIdxs, size_t numAttrs, cudaStream_t hStream);
 template < class T >__host__ cudaError_t cudaMemcpyFromSymbol(void* dst, const T& symbol, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyDeviceToHost);
 template < class T >__host__ cudaError_t cudaMemcpyFromSymbolAsync(void* dst, const T& symbol, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyDeviceToHost, cudaStream_t stream = 0);
 template < class T >__host__ cudaError_t cudaMemcpyToSymbol(const T& symbol, const void* src, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyHostToDevice);
 template < class T >__host__ cudaError_t cudaMemcpyToSymbolAsync(const T& symbol, const void* src, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyHostToDevice, cudaStream_t stream = 0);
 template < class T >__host__ cudaError_t cudaOccupancyAvailableDynamicSMemPerBlock(size_t* dynamicSmemSize, T* func, int numBlocks, int blockSize);
 template < class T >__host__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int* numBlocks, T func, int blockSize, size_t dynamicSMemSize);
 template < class T >__host__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int* numBlocks, T func, int blockSize, size_t dynamicSMemSize, unsigned int flags);
-template < class T >__host__ cudaError_t cudaOccupancyMaxActiveClusters(int* numClusters, T* func, const cudaLaunchConfig_t* config);
 template < class T >__host__ cudaError_t cudaOccupancyMaxPotentialBlockSize(int* minGridSize, int* blockSize, T func, size_t dynamicSMemSize = 0, int blockSizeLimit = 0);
 template < typename UnaryFunction, class T >__host__ cudaError_t cudaOccupancyMaxPotentialBlockSizeVariableSMem(int* minGridSize, int* blockSize, T func, UnaryFunction blockSizeToDynamicSMemSize, int blockSizeLimit = 0);
 template < typename UnaryFunction, class T >__host__ cudaError_t cudaOccupancyMaxPotentialBlockSizeVariableSMemWithFlags(int* minGridSize, int* blockSize, T func, UnaryFunction blockSizeToDynamicSMemSize, int blockSizeLimit = 0, unsigned int flags = 0);
 template < class T >__host__ cudaError_t cudaOccupancyMaxPotentialBlockSizeWithFlags(int* minGridSize, int* blockSize, T func, size_t dynamicSMemSize = 0, int blockSizeLimit = 0, unsigned int flags = 0);
-template < class T >__host__ cudaError_t cudaOccupancyMaxPotentialClusterSize(int* clusterSize, T* func, const cudaLaunchConfig_t* config);
 template < class T >__host__ cudaError_t cudaStreamAttachMemAsync(cudaStream_t stream, T* devPtr, size_t length = 0, unsigned int flags = cudaMemAttachSingle);

6.35. Interactions with the CUDA Driver API#

 cudaError_t cudaGetFuncBySymbol(cudaFunction_t* functionPtr, const void* symbolPtr);
-cudaError_t cudaGetKernel(cudaKernel_t* kernelPtr, const void* entryFuncAddr);

6.36. Logical Endpoint#

-__device__ cudaError_t cudaFabricOpErrorStatusCount(void* status, cudaFabricOpStatusSource statusSource, unsigned int* count);
-__device__ cudaError_t cudaFabricOpErrorStatusGet(void* status, cudaFabricOpStatusSource statusSource, unsigned int statusIndex, cudaFabricOpStatusInfo* statusInfo);

6.37. Profiler Control#

 cudaError_t cudaProfilerStart(void);
 cudaError_t cudaProfilerStop(void);

6.38. Data types used by CUDA Runtime#

-#define CUDA_EGL_MAX_PLANES
 #define CUDA_IPC_HANDLE_SIZE
 #define cudaArrayColorAttachment
 #define cudaArrayCubemap
 #define cudaArrayDefault
 #define cudaArrayDeferredMapping
 #define cudaArrayLayered
 #define cudaArraySparse
 #define cudaArraySparsePropertiesSingleMipTail
 #define cudaArraySurfaceLoadStore
 #define cudaArrayTextureGather
 #define cudaCpuDeviceId
 #define cudaDeviceBlockingSync
 #define cudaDeviceLmemResizeToMax
 #define cudaDeviceMapHost
 #define cudaDeviceMask
 #define cudaDeviceScheduleAuto
 #define cudaDeviceScheduleBlockingSync
 #define cudaDeviceScheduleMask
 #define cudaDeviceScheduleSpin
 #define cudaDeviceScheduleYield
 #define cudaDeviceSyncMemops
 #define cudaEventBlockingSync
 #define cudaEventDefault
 #define cudaEventDisableTiming
 #define cudaEventInterprocess
 #define cudaEventRecordDefault
 #define cudaEventRecordExternal
 #define cudaEventWaitDefault
 #define cudaEventWaitExternal
-#define cudaExternalMemoryDedicated
-#define cudaExternalSemaphoreSignalSkipNvSciBufMemSync
-#define cudaExternalSemaphoreWaitSkipNvSciBufMemSync
 #define cudaGraphKernelNodePortDefault
 #define cudaGraphKernelNodePortLaunchCompletion
 #define cudaGraphKernelNodePortProgrammatic
 #define cudaHostAllocDefault
 #define cudaHostAllocMapped
 #define cudaHostAllocPortable
 #define cudaHostAllocWriteCombined
 #define cudaHostRegisterDefault
 #define cudaHostRegisterIoMemory
 #define cudaHostRegisterMapped
 #define cudaHostRegisterPortable
 #define cudaHostRegisterReadOnly
 #define cudaInitDeviceFlagsAreValid
 #define cudaInvalidDeviceId
 #define cudaIpcMemLazyEnablePeerAccess
 #define cudaMemAttachGlobal
 #define cudaMemAttachHost
 #define cudaMemAttachSingle
 #define cudaMemPoolCreateUsageHwDecompress
-#define cudaNvSciSyncAttrSignal
-#define cudaNvSciSyncAttrWait
 #define cudaOccupancyDefault
 #define cudaOccupancyDisableCachingOverride
 #define cudaPeerAccessDefault
 #define cudaStreamDefault
 #define cudaStreamLegacy
 #define cudaStreamNonBlocking
 #define cudaStreamPerThread
 enum cudaAccessProperty
     cudaAccessPropertyNormal = 0
     cudaAccessPropertyStreaming = 1
     cudaAccessPropertyPersisting = 2
-enum cudaAsyncNotificationType
 enum cudaAtomicOperation
     cudaAtomicOperationIntegerAdd = 0
     cudaAtomicOperationIntegerMin = 1
     cudaAtomicOperationIntegerMax = 2
     cudaAtomicOperationIntegerIncrement = 3
     cudaAtomicOperationIntegerDecrement = 4
     cudaAtomicOperationAnd = 5
     cudaAtomicOperationOr = 6
     cudaAtomicOperationXOR = 7
     cudaAtomicOperationExchange = 8
     cudaAtomicOperationCAS = 9
     cudaAtomicOperationFloatAdd = 10
     cudaAtomicOperationFloatMin = 11
     cudaAtomicOperationFloatMax = 12
 enum cudaAtomicOperationCapability
-    cudaAtomicCapabilitySigned = 1
     cudaAtomicCapabilityUnsigned = 2
     cudaAtomicCapabilityReduction = 4
     cudaAtomicCapabilityScalar32 = 8
     cudaAtomicCapabilityScalar64 = 16
     cudaAtomicCapabilityScalar128 = 32
     cudaAtomicCapabilityVector32x4 = 64
-enum cudaCGScope
 enum cudaChannelFormatKind
     cudaChannelFormatKindSigned = 0
     cudaChannelFormatKindUnsigned = 1
     cudaChannelFormatKindFloat = 2
     cudaChannelFormatKindNone = 3
     cudaChannelFormatKindNV12 = 4
     cudaChannelFormatKindUnsignedNormalized8X1 = 5
     cudaChannelFormatKindUnsignedNormalized8X2 = 6
     cudaChannelFormatKindUnsignedNormalized8X4 = 7
     cudaChannelFormatKindUnsignedNormalized16X1 = 8
     cudaChannelFormatKindUnsignedNormalized16X2 = 9
     cudaChannelFormatKindUnsignedNormalized16X4 = 10
     cudaChannelFormatKindSignedNormalized8X1 = 11
     cudaChannelFormatKindSignedNormalized8X2 = 12
     cudaChannelFormatKindSignedNormalized8X4 = 13
     cudaChannelFormatKindSignedNormalized16X1 = 14
     cudaChannelFormatKindSignedNormalized16X2 = 15
     cudaChannelFormatKindSignedNormalized16X4 = 16
     cudaChannelFormatKindUnsignedBlockCompressed1 = 17
     cudaChannelFormatKindUnsignedBlockCompressed1SRGB = 18
     cudaChannelFormatKindUnsignedBlockCompressed2 = 19
     cudaChannelFormatKindUnsignedBlockCompressed2SRGB = 20
     cudaChannelFormatKindUnsignedBlockCompressed3 = 21
     cudaChannelFormatKindUnsignedBlockCompressed3SRGB = 22
     cudaChannelFormatKindUnsignedBlockCompressed4 = 23
     cudaChannelFormatKindSignedBlockCompressed4 = 24
     cudaChannelFormatKindUnsignedBlockCompressed5 = 25
     cudaChannelFormatKindSignedBlockCompressed5 = 26
     cudaChannelFormatKindUnsignedBlockCompressed6H = 27
     cudaChannelFormatKindSignedBlockCompressed6H = 28
     cudaChannelFormatKindUnsignedBlockCompressed7 = 29
     cudaChannelFormatKindUnsignedBlockCompressed7SRGB = 30
     cudaChannelFormatKindUnsignedNormalized1010102 = 31
-    cudaChannelFormatKindUnsigned8Packed422 = 32
-    cudaChannelFormatKindUnsigned8Packed444 = 33
-    cudaChannelFormatKindUnsigned8SemiPlanar420 = 34
-    cudaChannelFormatKindUnsigned16SemiPlanar420 = 35
-    cudaChannelFormatKindUnsigned8SemiPlanar422 = 36
-    cudaChannelFormatKindUnsigned16SemiPlanar422 = 37
-    cudaChannelFormatKindUnsigned8SemiPlanar444 = 38
-    cudaChannelFormatKindUnsigned16SemiPlanar444 = 39
-    cudaChannelFormatKindUnsigned8Planar420 = 40
-    cudaChannelFormatKindUnsigned16Planar420 = 41
-    cudaChannelFormatKindUnsigned8Planar422 = 42
-    cudaChannelFormatKindUnsigned16Planar422 = 43
-    cudaChannelFormatKindUnsigned8Planar444 = 44
-    cudaChannelFormatKindUnsigned16Planar444 = 45
 enum cudaClusterSchedulingPolicy
     cudaClusterSchedulingPolicyDefault = 0
     cudaClusterSchedulingPolicySpread = 1
     cudaClusterSchedulingPolicyLoadBalancing = 2
 enum cudaComputeMode
     cudaComputeModeDefault = 0
     cudaComputeModeExclusive = 1
     cudaComputeModeProhibited = 2
     cudaComputeModeExclusiveProcess = 3
-enum cudaDevResourceType
-enum cudaDevSmResourceGroup_flags
-enum cudaDevWorkqueueConfigScope
 enum cudaDeviceAttr
     cudaDevAttrMaxThreadsPerBlock = 1
     cudaDevAttrMaxBlockDimX = 2
     cudaDevAttrMaxBlockDimY = 3
     cudaDevAttrMaxBlockDimZ = 4
     cudaDevAttrMaxGridDimX = 5
     cudaDevAttrMaxGridDimY = 6
     cudaDevAttrMaxGridDimZ = 7
     cudaDevAttrMaxSharedMemoryPerBlock = 8
     cudaDevAttrTotalConstantMemory = 9
     cudaDevAttrWarpSize = 10
     cudaDevAttrMaxPitch = 11
     cudaDevAttrMaxRegistersPerBlock = 12
     cudaDevAttrClockRate = 13
     cudaDevAttrTextureAlignment = 14
     cudaDevAttrGpuOverlap = 15
     cudaDevAttrMultiProcessorCount = 16
     cudaDevAttrKernelExecTimeout = 17
     cudaDevAttrIntegrated = 18
     cudaDevAttrCanMapHostMemory = 19
     cudaDevAttrComputeMode = 20
     cudaDevAttrMaxTexture1DWidth = 21
     cudaDevAttrMaxTexture2DWidth = 22
     cudaDevAttrMaxTexture2DHeight = 23
     cudaDevAttrMaxTexture3DWidth = 24
     cudaDevAttrMaxTexture3DHeight = 25
     cudaDevAttrMaxTexture3DDepth = 26
     cudaDevAttrMaxTexture2DLayeredWidth = 27
     cudaDevAttrMaxTexture2DLayeredHeight = 28
     cudaDevAttrMaxTexture2DLayeredLayers = 29
     cudaDevAttrSurfaceAlignment = 30
     cudaDevAttrConcurrentKernels = 31
     cudaDevAttrEccEnabled = 32
     cudaDevAttrPciBusId = 33
     cudaDevAttrPciDeviceId = 34
     cudaDevAttrTccDriver = 35
     cudaDevAttrMemoryClockRate = 36
     cudaDevAttrGlobalMemoryBusWidth = 37
     cudaDevAttrL2CacheSize = 38
     cudaDevAttrMaxThreadsPerMultiProcessor = 39
     cudaDevAttrAsyncEngineCount = 40
     cudaDevAttrUnifiedAddressing = 41
     cudaDevAttrMaxTexture1DLayeredWidth = 42
     cudaDevAttrMaxTexture1DLayeredLayers = 43
     cudaDevAttrMaxTexture2DGatherWidth = 45
     cudaDevAttrMaxTexture2DGatherHeight = 46
     cudaDevAttrMaxTexture3DWidthAlt = 47
     cudaDevAttrMaxTexture3DHeightAlt = 48
     cudaDevAttrMaxTexture3DDepthAlt = 49
     cudaDevAttrPciDomainId = 50
     cudaDevAttrTexturePitchAlignment = 51
     cudaDevAttrMaxTextureCubemapWidth = 52
     cudaDevAttrMaxTextureCubemapLayeredWidth = 53
     cudaDevAttrMaxTextureCubemapLayeredLayers = 54
     cudaDevAttrMaxSurface1DWidth = 55
     cudaDevAttrMaxSurface2DWidth = 56
     cudaDevAttrMaxSurface2DHeight = 57
     cudaDevAttrMaxSurface3DWidth = 58
     cudaDevAttrMaxSurface3DHeight = 59
     cudaDevAttrMaxSurface3DDepth = 60
     cudaDevAttrMaxSurface1DLayeredWidth = 61
     cudaDevAttrMaxSurface1DLayeredLayers = 62
     cudaDevAttrMaxSurface2DLayeredWidth = 63
     cudaDevAttrMaxSurface2DLayeredHeight = 64
     cudaDevAttrMaxSurface2DLayeredLayers = 65
     cudaDevAttrMaxSurfaceCubemapWidth = 66
     cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67
     cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68
     cudaDevAttrMaxTexture1DLinearWidth = 69
     cudaDevAttrMaxTexture2DLinearWidth = 70
     cudaDevAttrMaxTexture2DLinearHeight = 71
     cudaDevAttrMaxTexture2DLinearPitch = 72
     cudaDevAttrMaxTexture2DMipmappedWidth = 73
     cudaDevAttrMaxTexture2DMipmappedHeight = 74
     cudaDevAttrComputeCapabilityMajor = 75
     cudaDevAttrComputeCapabilityMinor = 76
     cudaDevAttrMaxTexture1DMipmappedWidth = 77
     cudaDevAttrStreamPrioritiesSupported = 78
     cudaDevAttrGlobalL1CacheSupported = 79
     cudaDevAttrLocalL1CacheSupported = 80
     cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81
     cudaDevAttrMaxRegistersPerMultiprocessor = 82
     cudaDevAttrManagedMemory = 83
     cudaDevAttrIsMultiGpuBoard = 84
     cudaDevAttrMultiGpuBoardGroupID = 85
     cudaDevAttrHostNativeAtomicSupported = 86
     cudaDevAttrSingleToDoublePrecisionPerfRatio = 87
     cudaDevAttrPageableMemoryAccess = 88
     cudaDevAttrConcurrentManagedAccess = 89
     cudaDevAttrComputePreemptionSupported = 90
     cudaDevAttrCanUseHostPointerForRegisteredMem = 91
     cudaDevAttrReserved92 = 92
     cudaDevAttrReserved93 = 93
     cudaDevAttrReserved94 = 94
     cudaDevAttrCooperativeLaunch = 95
-    cudaDevAttrReserved96 = 96
     cudaDevAttrMaxSharedMemoryPerBlockOptin = 97
     cudaDevAttrCanFlushRemoteWrites = 98
     cudaDevAttrHostRegisterSupported = 99
     cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100
     cudaDevAttrDirectManagedMemAccessFromHost = 101
     cudaDevAttrMaxBlocksPerMultiprocessor = 106
     cudaDevAttrMaxPersistingL2CacheSize = 108
     cudaDevAttrMaxAccessPolicyWindowSize = 109
     cudaDevAttrReservedSharedMemoryPerBlock = 111
     cudaDevAttrSparseCudaArraySupported = 112
     cudaDevAttrHostRegisterReadOnlySupported = 113
     cudaDevAttrTimelineSemaphoreInteropSupported = 114
     cudaDevAttrMemoryPoolsSupported = 115
     cudaDevAttrGPUDirectRDMASupported = 116
     cudaDevAttrGPUDirectRDMAFlushWritesOptions = 117
     cudaDevAttrGPUDirectRDMAWritesOrdering = 118
     cudaDevAttrMemoryPoolSupportedHandleTypes = 119
     cudaDevAttrClusterLaunch = 120
     cudaDevAttrDeferredMappingCudaArraySupported = 121
     cudaDevAttrReserved122 = 122
     cudaDevAttrReserved123 = 123
     cudaDevAttrReserved124 = 124
     cudaDevAttrIpcEventSupport = 125
     cudaDevAttrMemSyncDomainCount = 126
     cudaDevAttrReserved127 = 127
     cudaDevAttrReserved128 = 128
     cudaDevAttrReserved129 = 129
     cudaDevAttrNumaConfig = 130
     cudaDevAttrNumaId = 131
     cudaDevAttrReserved132 = 132
     cudaDevAttrMpsEnabled = 133
     cudaDevAttrHostNumaId = 134
     cudaDevAttrD3D12CigSupported = 135
     cudaDevAttrVulkanCigSupported = 138
     cudaDevAttrGpuPciDeviceId = 139
     cudaDevAttrGpuPciSubsystemId = 140
     cudaDevAttrReserved141 = 141
     cudaDevAttrHostNumaMemoryPoolsSupported = 142
     cudaDevAttrHostNumaMultinodeIpcSupported = 143
     cudaDevAttrHostMemoryPoolsSupported = 144
     cudaDevAttrReserved145 = 145
     cudaDevAttrOnlyPartialHostNativeAtomicSupported = 147
-    cudaDevAttrAtomicReductionSupported = 148
-    cudaDevAttrCigStreamsSupported = 151
-    cudaDevAttrMax = 152
 enum cudaDeviceNumaConfig
     cudaDeviceNumaConfigNone = 0
     cudaDeviceNumaConfigNumaNode = 1
 enum cudaDeviceP2PAttr
     cudaDevP2PAttrPerformanceRank = 1
     cudaDevP2PAttrAccessSupported = 2
     cudaDevP2PAttrNativeAtomicSupported = 3
     cudaDevP2PAttrCudaArrayAccessSupported = 4
-    cudaDevP2PAttrOnlyPartialNativeAtomicSupported = 5
 enum cudaDriverEntryPointQueryResult
     cudaDriverEntryPointSuccess = 0
     cudaDriverEntryPointSymbolNotFound = 1
     cudaDriverEntryPointVersionNotSufficent = 2
-enum cudaEglColorFormat
-enum cudaEglFrameType
-enum cudaEglResourceLocationFlags
 enum cudaError
     cudaSuccess = 0
     cudaErrorInvalidValue = 1
     cudaErrorMemoryAllocation = 2
     cudaErrorInitializationError = 3
     cudaErrorCudartUnloading = 4
     cudaErrorProfilerDisabled = 5
     cudaErrorProfilerNotInitialized = 6
     cudaErrorProfilerAlreadyStarted = 7
     cudaErrorProfilerAlreadyStopped = 8
     cudaErrorInvalidConfiguration = 9
-    cudaErrorVersionTranslation = 10
     cudaErrorInvalidPitchValue = 12
     cudaErrorInvalidSymbol = 13
     cudaErrorInvalidHostPointer = 16
     cudaErrorInvalidDevicePointer = 17
     cudaErrorInvalidTexture = 18
     cudaErrorInvalidTextureBinding = 19
     cudaErrorInvalidChannelDescriptor = 20
     cudaErrorInvalidMemcpyDirection = 21
     cudaErrorAddressOfConstant = 22
     cudaErrorTextureFetchFailed = 23
     cudaErrorTextureNotBound = 24
     cudaErrorSynchronizationError = 25
     cudaErrorInvalidFilterSetting = 26
     cudaErrorInvalidNormSetting = 27
     cudaErrorMixedDeviceExecution = 28
     cudaErrorNotYetImplemented = 31
     cudaErrorMemoryValueTooLarge = 32
     cudaErrorStubLibrary = 34
     cudaErrorInsufficientDriver = 35
     cudaErrorCallRequiresNewerDriver = 36
     cudaErrorInvalidSurface = 37
     cudaErrorDuplicateVariableName = 43
     cudaErrorDuplicateTextureName = 44
     cudaErrorDuplicateSurfaceName = 45
     cudaErrorDevicesUnavailable = 46
     cudaErrorIncompatibleDriverContext = 49
     cudaErrorMissingConfiguration = 52
     cudaErrorPriorLaunchFailure = 53
     cudaErrorLaunchMaxDepthExceeded = 65
     cudaErrorLaunchFileScopedTex = 66
     cudaErrorLaunchFileScopedSurf = 67
     cudaErrorSyncDepthExceeded = 68
     cudaErrorLaunchPendingCountExceeded = 69
     cudaErrorInvalidDeviceFunction = 98
     cudaErrorNoDevice = 100
     cudaErrorInvalidDevice = 101
     cudaErrorDeviceNotLicensed = 102
     cudaErrorSoftwareValidityNotEstablished = 103
     cudaErrorStartupFailure = 127
     cudaErrorInvalidKernelImage = 200
     cudaErrorDeviceUninitialized = 201
     cudaErrorMapBufferObjectFailed = 205
     cudaErrorUnmapBufferObjectFailed = 206
     cudaErrorArrayIsMapped = 207
     cudaErrorAlreadyMapped = 208
     cudaErrorNoKernelImageForDevice = 209
     cudaErrorAlreadyAcquired = 210
     cudaErrorNotMapped = 211
     cudaErrorNotMappedAsArray = 212
     cudaErrorNotMappedAsPointer = 213
     cudaErrorECCUncorrectable = 214
     cudaErrorUnsupportedLimit = 215
     cudaErrorDeviceAlreadyInUse = 216
     cudaErrorPeerAccessUnsupported = 217
     cudaErrorInvalidPtx = 218
     cudaErrorInvalidGraphicsContext = 219
     cudaErrorNvlinkUncorrectable = 220
     cudaErrorJitCompilerNotFound = 221
     cudaErrorUnsupportedPtxVersion = 222
     cudaErrorJitCompilationDisabled = 223
     cudaErrorUnsupportedExecAffinity = 224
     cudaErrorUnsupportedDevSideSync = 225
     cudaErrorContained = 226
     cudaErrorInvalidSource = 300
     cudaErrorFileNotFound = 301
     cudaErrorSharedObjectSymbolNotFound = 302
     cudaErrorSharedObjectInitFailed = 303
     cudaErrorOperatingSystem = 304
     cudaErrorInvalidResourceHandle = 400
     cudaErrorIllegalState = 401
     cudaErrorLossyQuery = 402
     cudaErrorSymbolNotFound = 500
     cudaErrorNotReady = 600
     cudaErrorIllegalAddress = 700
     cudaErrorLaunchOutOfResources = 701
     cudaErrorLaunchTimeout = 702
     cudaErrorLaunchIncompatibleTexturing = 703
     cudaErrorPeerAccessAlreadyEnabled = 704
     cudaErrorPeerAccessNotEnabled = 705
     cudaErrorSetOnActiveProcess = 708
     cudaErrorContextIsDestroyed = 709
     cudaErrorAssert = 710
     cudaErrorTooManyPeers = 711
     cudaErrorHostMemoryAlreadyRegistered = 712
     cudaErrorHostMemoryNotRegistered = 713
     cudaErrorHardwareStackError = 714
     cudaErrorIllegalInstruction = 715
     cudaErrorMisalignedAddress = 716
     cudaErrorInvalidAddressSpace = 717
     cudaErrorInvalidPc = 718
     cudaErrorLaunchFailure = 719
     cudaErrorCooperativeLaunchTooLarge = 720
     cudaErrorTensorMemoryLeak = 721
     cudaErrorNotPermitted = 800
     cudaErrorNotSupported = 801
     cudaErrorSystemNotReady = 802
     cudaErrorSystemDriverMismatch = 803
     cudaErrorCompatNotSupportedOnDevice = 804
     cudaErrorMpsConnectionFailed = 805
     cudaErrorMpsRpcFailure = 806
     cudaErrorMpsServerNotReady = 807
     cudaErrorMpsMaxClientsReached = 808
     cudaErrorMpsMaxConnectionsReached = 809
     cudaErrorMpsClientTerminated = 810
     cudaErrorCdpNotSupported = 811
     cudaErrorCdpVersionMismatch = 812
     cudaErrorStreamCaptureUnsupported = 900
     cudaErrorStreamCaptureInvalidated = 901
     cudaErrorStreamCaptureMerge = 902
     cudaErrorStreamCaptureUnmatched = 903
     cudaErrorStreamCaptureUnjoined = 904
     cudaErrorStreamCaptureIsolation = 905
     cudaErrorStreamCaptureImplicit = 906
     cudaErrorCapturedEvent = 907
     cudaErrorStreamCaptureWrongThread = 908
     cudaErrorTimeout = 909
     cudaErrorGraphExecUpdateFailure = 910
     cudaErrorExternalDevice = 911
     cudaErrorInvalidClusterSize = 912
     cudaErrorFunctionNotLoaded = 913
     cudaErrorInvalidResourceType = 914
     cudaErrorInvalidResourceConfiguration = 915
     cudaErrorStreamDetached = 917
-    cudaErrorGraphRecaptureFailure = 918
     cudaErrorUnknown = 999
     cudaErrorApiFailureBase = 10000
-enum cudaExternalMemoryHandleType
-enum cudaExternalSemaphoreHandleType
-enum cudaFabricOpStatusInfo
-enum cudaFabricOpStatusSource
 enum cudaFlushGPUDirectRDMAWritesOptions
     cudaFlushGPUDirectRDMAWritesOptionHost = 1
     cudaFlushGPUDirectRDMAWritesOptionMemOps = 2
 enum cudaFlushGPUDirectRDMAWritesScope
     cudaFlushGPUDirectRDMAWritesToOwner = 100
     cudaFlushGPUDirectRDMAWritesToAllDevices = 200
 enum cudaFlushGPUDirectRDMAWritesTarget
     cudaFlushGPUDirectRDMAWritesTargetCurrentDevice = 0
 enum cudaFuncAttribute
     cudaFuncAttributeMaxDynamicSharedMemorySize = 8
     cudaFuncAttributePreferredSharedMemoryCarveout = 9
     cudaFuncAttributeClusterDimMustBeSet = 10
     cudaFuncAttributeRequiredClusterWidth = 11
     cudaFuncAttributeRequiredClusterHeight = 12
     cudaFuncAttributeRequiredClusterDepth = 13
     cudaFuncAttributeNonPortableClusterSizeAllowed = 14
     cudaFuncAttributeClusterSchedulingPolicyPreference = 15
     cudaFuncAttributeMax = 16
 enum cudaFuncCache
     cudaFuncCachePreferNone = 0
     cudaFuncCachePreferShared = 1
     cudaFuncCachePreferL1 = 2
     cudaFuncCachePreferEqual = 3
 enum cudaGPUDirectRDMAWritesOrdering
     cudaGPUDirectRDMAWritesOrderingNone = 0
     cudaGPUDirectRDMAWritesOrderingOwner = 100
     cudaGPUDirectRDMAWritesOrderingAllDevices = 200
 enum cudaGetDriverEntryPointFlags
     cudaEnableDefault = 0
     cudaEnableLegacyStream = 1
     cudaEnablePerThreadDefaultStream = 2
-enum cudaGraphChildGraphNodeOwnership
     cudaGraphChildGraphOwnershipClone = 0
     cudaGraphChildGraphOwnershipMove = 1
-    cudaGraphChildGraphOwnershipInvalid = 18446744073709551615
-enum cudaGraphConditionalNodeType
 enum cudaGraphDebugDotFlags
     cudaGraphDebugDotFlagsVerbose = 1
     cudaGraphDebugDotFlagsKernelNodeParams = 4
     cudaGraphDebugDotFlagsMemcpyNodeParams = 8
     cudaGraphDebugDotFlagsMemsetNodeParams = 16
     cudaGraphDebugDotFlagsHostNodeParams = 32
     cudaGraphDebugDotFlagsEventNodeParams = 64
     cudaGraphDebugDotFlagsExtSemasSignalNodeParams = 128
     cudaGraphDebugDotFlagsExtSemasWaitNodeParams = 256
     cudaGraphDebugDotFlagsKernelNodeAttributes = 512
     cudaGraphDebugDotFlagsHandles = 1024
     cudaGraphDebugDotFlagsConditionalNodeParams = 32768
 enum cudaGraphDependencyType
     cudaGraphDependencyTypeDefault = 0
     cudaGraphDependencyTypeProgrammatic = 1
 enum cudaGraphExecUpdateResult
     cudaGraphExecUpdateSuccess = 0
     cudaGraphExecUpdateError = 1
     cudaGraphExecUpdateErrorTopologyChanged = 2
     cudaGraphExecUpdateErrorNodeTypeChanged = 3
     cudaGraphExecUpdateErrorFunctionChanged = 4
     cudaGraphExecUpdateErrorParametersChanged = 5
     cudaGraphExecUpdateErrorNotSupported = 6
     cudaGraphExecUpdateErrorUnsupportedFunctionChange = 7
     cudaGraphExecUpdateErrorAttributesChanged = 8
 enum cudaGraphInstantiateFlags
     cudaGraphInstantiateFlagAutoFreeOnLaunch = 1
     cudaGraphInstantiateFlagUpload = 2
     cudaGraphInstantiateFlagDeviceLaunch = 4
     cudaGraphInstantiateFlagUseNodePriority = 8
 enum cudaGraphInstantiateResult
     cudaGraphInstantiateSuccess = 0
     cudaGraphInstantiateError = 1
     cudaGraphInstantiateInvalidStructure = 2
     cudaGraphInstantiateNodeOperationNotSupported = 3
     cudaGraphInstantiateMultipleDevicesNotSupported = 4
     cudaGraphInstantiateConditionalHandleUnused = 5
-enum cudaGraphKernelNodeField
-enum cudaGraphMemAttributeType
 enum cudaGraphNodeType
     cudaGraphNodeTypeKernel = 0
     cudaGraphNodeTypeMemcpy = 1
     cudaGraphNodeTypeMemset = 2
     cudaGraphNodeTypeHost = 3
     cudaGraphNodeTypeGraph = 4
     cudaGraphNodeTypeEmpty = 5
     cudaGraphNodeTypeWaitEvent = 6
     cudaGraphNodeTypeEventRecord = 7
     cudaGraphNodeTypeExtSemaphoreSignal = 8
     cudaGraphNodeTypeExtSemaphoreWait = 9
     cudaGraphNodeTypeMemAlloc = 10
     cudaGraphNodeTypeMemFree = 11
     cudaGraphNodeTypeConditional = 13
-    cudaGraphNodeTypeReserved16 = 16
-    cudaGraphNodeTypeCount = 17
-enum cudaGraphRecaptureStatus
 enum cudaGraphicsCubeFace
     cudaGraphicsCubeFacePositiveX = 0
     cudaGraphicsCubeFaceNegativeX = 1
     cudaGraphicsCubeFacePositiveY = 2
     cudaGraphicsCubeFaceNegativeY = 3
     cudaGraphicsCubeFacePositiveZ = 4
     cudaGraphicsCubeFaceNegativeZ = 5
 enum cudaGraphicsMapFlags
     cudaGraphicsMapFlagsNone = 0
     cudaGraphicsMapFlagsReadOnly = 1
     cudaGraphicsMapFlagsWriteDiscard = 2
 enum cudaGraphicsRegisterFlags
     cudaGraphicsRegisterFlagsNone = 0
     cudaGraphicsRegisterFlagsReadOnly = 1
     cudaGraphicsRegisterFlagsWriteDiscard = 2
     cudaGraphicsRegisterFlagsSurfaceLoadStore = 4
     cudaGraphicsRegisterFlagsTextureGather = 8
-enum cudaHostTaskSyncMode
-enum cudaJitOption
-enum cudaJit_CacheMode
-enum cudaJit_Fallback
-enum cudaKernelFunctionType
 enum cudaLaunchAttributeID
     cudaLaunchAttributeIgnore = 0
     cudaLaunchAttributeAccessPolicyWindow = 1
     cudaLaunchAttributeCooperative = 2
     cudaLaunchAttributeSynchronizationPolicy = 3
     cudaLaunchAttributeClusterDimension = 4
     cudaLaunchAttributeClusterSchedulingPolicyPreference = 5
     cudaLaunchAttributeProgrammaticStreamSerialization = 6
     cudaLaunchAttributeProgrammaticEvent = 7
     cudaLaunchAttributePriority = 8
     cudaLaunchAttributeMemSyncDomainMap = 9
     cudaLaunchAttributeMemSyncDomain = 10
     cudaLaunchAttributePreferredClusterDimension = 11
     cudaLaunchAttributeLaunchCompletionEvent = 12
     cudaLaunchAttributeDeviceUpdatableKernelNode = 13
     cudaLaunchAttributePreferredSharedMemoryCarveout = 14
     cudaLaunchAttributeNvlinkUtilCentricScheduling = 16
-    cudaLaunchAttributePortableClusterSizeMode = 17
-    cudaLaunchAttributeSharedMemoryMode = 18
-enum cudaLaunchAttributePortableClusterMode
 enum cudaLaunchMemSyncDomain
     cudaLaunchMemSyncDomainDefault = 0
     cudaLaunchMemSyncDomainRemote = 1
-enum cudaLibraryOption
 enum cudaLimit
     cudaLimitStackSize = 0
     cudaLimitPrintfFifoSize = 1
     cudaLimitMallocHeapSize = 2
     cudaLimitDevRuntimeSyncDepth = 3
     cudaLimitDevRuntimePendingLaunchCount = 4
     cudaLimitMaxL2FetchGranularity = 5
     cudaLimitPersistingL2CacheSize = 6
 enum cudaMemAccessFlags
     cudaMemAccessFlagsProtNone = 0
     cudaMemAccessFlagsProtRead = 1
     cudaMemAccessFlagsProtReadWrite = 3
 enum cudaMemAllocationHandleType
     cudaMemHandleTypeNone = 0
     cudaMemHandleTypePosixFileDescriptor = 1
     cudaMemHandleTypeWin32 = 2
     cudaMemHandleTypeWin32Kmt = 4
     cudaMemHandleTypeFabric = 8
 enum cudaMemAllocationType
     cudaMemAllocationTypeInvalid = 0
     cudaMemAllocationTypePinned = 1
     cudaMemAllocationTypeManaged = 2
     cudaMemAllocationTypeMax = 2147483647
 enum cudaMemLocationType
     cudaMemLocationTypeInvalid = 0
     cudaMemLocationTypeNone = 0
     cudaMemLocationTypeDevice = 1
     cudaMemLocationTypeHost = 2
     cudaMemLocationTypeHostNuma = 3
     cudaMemLocationTypeHostNumaCurrent = 4
-    cudaMemLocationTypeInvisible = 5
 enum cudaMemPoolAttr
     cudaMemPoolReuseFollowEventDependencies = 1
     cudaMemPoolReuseAllowOpportunistic = 2
     cudaMemPoolReuseAllowInternalDependencies = 3
     cudaMemPoolAttrReleaseThreshold = 4
     cudaMemPoolAttrReservedMemCurrent = 5
     cudaMemPoolAttrReservedMemHigh = 6
     cudaMemPoolAttrUsedMemCurrent = 7
     cudaMemPoolAttrUsedMemHigh = 8
     cudaMemPoolAttrAllocationType = 9
     cudaMemPoolAttrExportHandleTypes = 10
     cudaMemPoolAttrLocationId = 11
     cudaMemPoolAttrLocationType = 12
     cudaMemPoolAttrMaxPoolSize = 13
     cudaMemPoolAttrHwDecompressEnabled = 14
 enum cudaMemRangeAttribute
     cudaMemRangeAttributeReadMostly = 1
     cudaMemRangeAttributePreferredLocation = 2
     cudaMemRangeAttributeAccessedBy = 3
     cudaMemRangeAttributeLastPrefetchLocation = 4
     cudaMemRangeAttributePreferredLocationType = 5
     cudaMemRangeAttributePreferredLocationId = 6
     cudaMemRangeAttributeLastPrefetchLocationType = 7
     cudaMemRangeAttributeLastPrefetchLocationId = 8
 enum cudaMemcpy3DOperandType
     cudaMemcpyOperandTypePointer = 1
     cudaMemcpyOperandTypeArray = 2
     cudaMemcpyOperandTypeMax = 2147483647
 enum cudaMemcpyFlags
     cudaMemcpyFlagDefault = 0
     cudaMemcpyFlagPreferOverlapWithCompute = 1
 enum cudaMemcpyKind
     cudaMemcpyHostToHost = 0
     cudaMemcpyHostToDevice = 1
     cudaMemcpyDeviceToHost = 2
     cudaMemcpyDeviceToDevice = 3
     cudaMemcpyDefault = 4
 enum cudaMemoryAdvise
     cudaMemAdviseSetReadMostly = 1
     cudaMemAdviseUnsetReadMostly = 2
     cudaMemAdviseSetPreferredLocation = 3
     cudaMemAdviseUnsetPreferredLocation = 4
     cudaMemAdviseSetAccessedBy = 5
     cudaMemAdviseUnsetAccessedBy = 6
 enum cudaMemoryType
     cudaMemoryTypeUnregistered = 0
     cudaMemoryTypeHost = 1
     cudaMemoryTypeDevice = 2
     cudaMemoryTypeManaged = 3
 enum cudaResourceType
     cudaResourceTypeArray = 0
     cudaResourceTypeMipmappedArray = 1
     cudaResourceTypeLinear = 2
     cudaResourceTypePitch2D = 3
 enum cudaResourceViewFormat
     cudaResViewFormatNone = 0
     cudaResViewFormatUnsignedChar1 = 1
     cudaResViewFormatUnsignedChar2 = 2
     cudaResViewFormatUnsignedChar4 = 3
     cudaResViewFormatSignedChar1 = 4
     cudaResViewFormatSignedChar2 = 5
     cudaResViewFormatSignedChar4 = 6
     cudaResViewFormatUnsignedShort1 = 7
     cudaResViewFormatUnsignedShort2 = 8
     cudaResViewFormatUnsignedShort4 = 9
     cudaResViewFormatSignedShort1 = 10
     cudaResViewFormatSignedShort2 = 11
     cudaResViewFormatSignedShort4 = 12
     cudaResViewFormatUnsignedInt1 = 13
     cudaResViewFormatUnsignedInt2 = 14
     cudaResViewFormatUnsignedInt4 = 15
     cudaResViewFormatSignedInt1 = 16
     cudaResViewFormatSignedInt2 = 17
     cudaResViewFormatSignedInt4 = 18
     cudaResViewFormatHalf1 = 19
     cudaResViewFormatHalf2 = 20
     cudaResViewFormatHalf4 = 21
     cudaResViewFormatFloat1 = 22
     cudaResViewFormatFloat2 = 23
     cudaResViewFormatFloat4 = 24
     cudaResViewFormatUnsignedBlockCompressed1 = 25
     cudaResViewFormatUnsignedBlockCompressed2 = 26
     cudaResViewFormatUnsignedBlockCompressed3 = 27
     cudaResViewFormatUnsignedBlockCompressed4 = 28
     cudaResViewFormatSignedBlockCompressed4 = 29
     cudaResViewFormatUnsignedBlockCompressed5 = 30
     cudaResViewFormatSignedBlockCompressed5 = 31
     cudaResViewFormatUnsignedBlockCompressed6H = 32
     cudaResViewFormatSignedBlockCompressed6H = 33
     cudaResViewFormatUnsignedBlockCompressed7 = 34
 enum cudaSharedCarveout
     cudaSharedmemCarveoutDefault = 18446744073709551615
     cudaSharedmemCarveoutMaxShared = 100
     cudaSharedmemCarveoutMaxL1 = 0
 enum cudaSharedMemConfig
     cudaSharedMemBankSizeDefault = 0
     cudaSharedMemBankSizeFourByte = 1
     cudaSharedMemBankSizeEightByte = 2
-enum cudaSharedMemoryMode
 enum cudaStreamCaptureMode
     cudaStreamCaptureModeGlobal = 0
     cudaStreamCaptureModeThreadLocal = 1
     cudaStreamCaptureModeRelaxed = 2
 enum cudaStreamCaptureStatus
     cudaStreamCaptureStatusNone = 0
     cudaStreamCaptureStatusActive = 1
     cudaStreamCaptureStatusInvalidated = 2
 enum cudaStreamUpdateCaptureDependenciesFlags
     cudaStreamAddCaptureDependencies = 0
     cudaStreamSetCaptureDependencies = 1
 enum cudaSurfaceBoundaryMode
     cudaBoundaryModeZero = 0
     cudaBoundaryModeClamp = 1
     cudaBoundaryModeTrap = 2
 enum cudaSurfaceFormatMode
     cudaFormatModeForced = 0
     cudaFormatModeAuto = 1
 enum cudaTextureAddressMode
     cudaAddressModeWrap = 0
     cudaAddressModeClamp = 1
     cudaAddressModeMirror = 2
     cudaAddressModeBorder = 3
 enum cudaTextureFilterMode
     cudaFilterModePoint = 0
     cudaFilterModeLinear = 1
 enum cudaTextureReadMode
     cudaReadModeElementType = 0
     cudaReadModeNormalizedFloat = 1
 enum cudaUserObjectFlags
     cudaUserObjectNoDestructorSync = 1
 enum cudaUserObjectRetainFlags
     cudaGraphUserObjectMove = 1
 struct CUuuid_st
 struct cudaAccessPolicyWindow
     base_ptr
     hitProp
     hitRatio
     missProp
     num_bytes
 struct cudaArrayMemoryRequirements
     alignment
     size
 struct cudaArraySparseProperties
     depth
     flags
     height
     miptailFirstLevel
     miptailSize
     width
-struct cudaAsyncNotificationInfo_t
 struct cudaChannelFormatDesc
     f
     w
     x
     y
     z
 struct cudaChildGraphNodeParams
     graph
     ownership
-struct cudaConditionalNodeParams
 struct cudaDevResource
     sm
     type
     wq
     wqConfig
-struct cudaDevSmResource
-struct cudaDevSmResourceGroupParams
-struct cudaDevWorkqueueConfigResource
-struct cudaDevWorkqueueResource
 struct cudaDeviceProp
     ECCEnabled
     accessPolicyMaxWindowSize
     asyncEngineCount
     canMapHostMemory
     canUseHostPointerForRegisteredMem
     clusterLaunch
     computePreemptionSupported
     concurrentKernels
     concurrentManagedAccess
     cooperativeLaunch
     deferredMappingCudaArraySupported
-    deviceNumaConfig
-    deviceNumaId
     directManagedMemAccessFromHost
     globalL1CacheSupported
     gpuDirectRDMAFlushWritesOptions
     gpuDirectRDMASupported
     gpuDirectRDMAWritesOrdering
-    gpuPciDeviceID
-    gpuPciSubsystemID
     hostNativeAtomicSupported
-    hostNumaId
-    hostNumaMultinodeIpcSupported
     hostRegisterReadOnlySupported
     hostRegisterSupported
     integrated
     ipcEventSupported
     isMultiGpuBoard
     l2CacheSize
     localL1CacheSupported
     luid
     luidDeviceNodeMask
     major
     managedMemory
     maxBlocksPerMultiProcessor
     maxGridSize
     maxSurface1D
     maxSurface1DLayered
     maxSurface2D
     maxSurface2DLayered
     maxSurface3D
     maxSurfaceCubemap
     maxSurfaceCubemapLayered
     maxTexture1D
     maxTexture1DLayered
     maxTexture1DMipmap
     maxTexture2D
     maxTexture2DGather
     maxTexture2DLayered
     maxTexture2DLinear
     maxTexture2DMipmap
     maxTexture3D
     maxTexture3DAlt
     maxTextureCubemap
     maxTextureCubemapLayered
     maxThreadsDim
     maxThreadsPerBlock
     maxThreadsPerMultiProcessor
     memPitch
     memoryBusWidth
     memoryPoolSupportedHandleTypes
     memoryPoolsSupported
     minor
-    mpsEnabled
     multiGpuBoardGroupID
     multiProcessorCount
     name
     pageableMemoryAccess
     pageableMemoryAccessUsesHostPageTables
     pciBusID
     pciDeviceID
     pciDomainID
     persistingL2CacheMaxSize
     regsPerBlock
     regsPerMultiprocessor
-    reserved
     reservedSharedMemPerBlock
     sharedMemPerBlock
     sharedMemPerBlockOptin
     sharedMemPerMultiprocessor
     sparseCudaArraySupported
     streamPrioritiesSupported
     surfaceAlignment
     tccDriver
     textureAlignment
     texturePitchAlignment
     timelineSemaphoreInteropSupported
     totalConstMem
     totalGlobalMem
     unifiedAddressing
     unifiedFunctionPointers
     uuid
     warpSize
-struct cudaEglFrame
-struct cudaEglPlaneDesc
 struct cudaEventRecordNodeParams
     event
 struct cudaEventWaitNodeParams
     event
 struct cudaExtent
     depth
     height
     width
-struct cudaExternalMemoryBufferDesc
 struct cudaExternalMemoryHandleDesc
-struct cudaExternalMemoryMipmappedArrayDesc
 struct cudaExternalSemaphoreHandleDesc
-struct cudaExternalSemaphoreSignalNodeParams
-struct cudaExternalSemaphoreSignalNodeParamsV2
 struct cudaExternalSemaphoreSignalParams
-struct cudaExternalSemaphoreWaitNodeParams
-struct cudaExternalSemaphoreWaitNodeParamsV2
 struct cudaExternalSemaphoreWaitParams
 struct cudaFuncAttributes
     binaryVersion
     cacheModeCA
     clusterDimMustBeSet
     clusterSchedulingPolicyPreference
     constSizeBytes
-    deviceNodeUpdateStatus
     localSizeBytes
     maxDynamicSharedSizeBytes
     maxThreadsPerBlock
     nonPortableClusterSizeAllowed
     numRegs
     preferredShmemCarveout
     ptxVersion
     requiredClusterWidth
-    reserved
     sharedSizeBytes
 struct cudaGraphEdgeData
     from_port
     reserved
     to_port
     type
 struct cudaGraphExecUpdateResultInfo
     errorFromNode
     errorNode
     result
 struct cudaGraphInstantiateParams
     errNode_out
     flags
     result_out
     uploadStream
 struct cudaGraphKernelNodeUpdate
 struct cudaGraphNodeParams
     alloc
-    conditional
     eventRecord
     eventWait
-    extSemSignal
-    extSemWait
     free
     graph
     host
     kernel
     memcpy
-    memset
     reserved0
     reserved1
     reserved2
     type
 struct cudaHostNodeParams
     fn
     userData
 struct cudaHostNodeParamsV2
     fn
-    syncMode
     userData
 struct cudaIpcEventHandle_t
 struct cudaIpcMemHandle_t
 struct cudaKernelNodeParams
     blockDim
     extra
     func
     gridDim
     kernelParams
     sharedMemBytes
 struct cudaKernelNodeParamsV2
     blockDim
-    ctx
-    cuFunc
     extra
     func
-    functionType
     gridDim
-    kern
     kernelParams
     sharedMemBytes
 struct cudaLaunchAttribute
     id
     val
 union cudaLaunchAttributeValue
 struct cudaLaunchConfig_t
     attrs
     blockDim
     dynamicSmemBytes
     gridDim
     numAttrs
     stream
 struct cudaLaunchMemSyncDomainMap
     default_
     remote
 struct cudaMemAccessDesc
     flags
     location
 struct cudaMemAllocNodeParams
     accessDescCount
     accessDescs
     bytesize
     dptr
     poolProps
 struct cudaMemAllocNodeParamsV2
     accessDescCount
     accessDescs
     bytesize
     dptr
     poolProps
 struct cudaMemFreeNodeParams
     dptr
 struct cudaMemLocation
     id
     type
 struct cudaMemPoolProps
     allocType
     handleTypes
     location
     maxSize
     reserved
     usage
     win32SecurityAttributes
 struct cudaMemPoolPtrExportData
 struct cudaMemcpy3DOperand
 struct cudaMemcpy3DParms
     dstArray
     dstPos
     dstPtr
     extent
     kind
     srcArray
     srcPos
     srcPtr
 struct cudaMemcpy3DPeerParms
     dstArray
     dstDevice
     dstPos
     dstPtr
     extent
     srcArray
     srcDevice
     srcPos
     srcPtr
 struct cudaMemcpyAttributes
     dstLocHint
     flags
     srcAccessOrder
     srcLocHint
 struct cudaMemcpyNodeParams
     copyParams
-    ctx
     flags
-    reserved
 struct cudaMemsetParams
     dst
     elementSize
     height
     pitch
     value
     width
 struct cudaMemsetParamsV2
-    ctx
     dst
     elementSize
     height
     pitch
     value
     width
 struct cudaOffset3D
 struct cudaPitchedPtr
     pitch
     ptr
     xsize
     ysize
 struct cudaPointerAttributes
     device
     devicePointer
     hostPointer
-    reserved
     type
 struct cudaPos
     x
     y
     z
 struct cudaResourceDesc
     array
     desc
     devPtr
-    flags
     height
     mipmap
     pitchInBytes
     resType
     sizeInBytes
     width
 struct cudaResourceViewDesc
     depth
     firstLayer
     firstMipmapLevel
     format
     height
     lastLayer
     lastMipmapLevel
-    reserved
     width
 struct cudaTextureDesc
     addressMode
     borderColor
     disableTrilinearOptimization
     filterMode
     maxAnisotropy
     maxMipmapLevelClamp
     minMipmapLevelClamp
     mipmapFilterMode
     mipmapLevelBias
     normalizedCoords
     readMode
     sRGB
     seamlessCubemap
 typedef const cudaArray * cudaArray_const_t;
 typedef cudaArray * cudaArray_t;
-typedef cudaAsyncCallbackEntry * cudaAsyncCallbackHandle_t;
-typedef CUdevResourceDesc_st * cudaDevResourceDesc_t;
-typedef CUeglStreamConnection_st * cudaEglStreamConnection;
 typedef enum cudaError cudaError_t;
 typedef CUevent_st * cudaEvent_t;
 typedef cudaExecutionContext_st * cudaExecutionContext_t;
-typedef CUexternalMemory_st * cudaExternalMemory_t;
-typedef CUexternalSemaphore_st * cudaExternalSemaphore_t;
 typedef CUfunc_st * cudaFunction_t;
-typedef unsigned long long cudaGraphConditionalHandle;
 typedef CUgraphDeviceUpdatableNode_st * cudaGraphDeviceNode_t;
 typedef CUgraphExec_st * cudaGraphExec_t;
 typedef CUgraphNode_st * cudaGraphNode_t;
 typedef CUgraph_st * cudaGraph_t;
 typedef cudaGraphicsResource * cudaGraphicsResource_t;
 typedef void(* cudaHostFn_t)(void* userData);
 typedef CUkern_st * cudaKernel_t;
 typedef CUlib_st * cudaLibrary_t;
 typedef CUmemPoolHandle_st * cudaMemPool_t;
 typedef const cudaMipmappedArray * cudaMipmappedArray_const_t;
 typedef cudaMipmappedArray * cudaMipmappedArray_t;
 typedef CUstream_st * cudaStream_t;
 typedef unsigned long long cudaSurfaceObject_t;
 typedef unsigned long long cudaTextureObject_t;
 typedef CUuserObject_st * cudaUserObject_t;