Unsupported CUDA APIs (v1.7)
This list is benchmarked against CUDA 12.3. CUDA APIs introduced in version 12.4 or later are not included.
The following tables list only the unsupported APIs. Any API not listed is supported.
CUDA Runtime APIs: Of the 261 exported API symbols, 89 are unsupported, for an estimated support rate of 65.90%.
Unsupported APIs fall into the following categories (see the CUDA Runtime section for details):
74 APIs related to graphics.
10 APIs that require advanced hardware features.
5 APIs for features not currently in demand.
CUDA Driver APIs: Of the 474 exported API symbols, 87 are unsupported, for an estimated support rate of 81.65%.
Unsupported APIs fall into the following categories (see the CUDA Driver section for details):
62 APIs related to graphics.
17 APIs that require advanced hardware features.
8 APIs for features not currently in demand.
CUDA Runtime
Corresponds to CUDA Runtime 12.3. Modules marked as deprecated in the official specification are not supported and are omitted here. All APIs not listed below are supported.
Module | CUDA Runtime API name | Remarks |
device management | RDMA flush. Does not affect RDMA usage. | |
Related to the NvSci library. Not currently in demand. | ||
Graphics-related. Not required for AI scenarios. | ||
external resource interoperability | Related to graphics API interoperability. Only CUDA APIs are currently supported. | |
execution control | Deprecated as of CUDA 7.5. Will not be supported. | |
Deprecated as of CUDA 7.5. Will not be supported. | ||
occupancy | Cluster-related. | |
memory management | Except for | |
OpenGL interoperability | Graphics-related. Not required for AI scenarios. | |
Direct3D 9 Interoperability | ||
Direct3D 10 Interoperability | ||
Direct3D 11 Interoperability | ||
VDPAU Interoperability | ||
EGL Interoperability | ||
graphics interoperability | ||
surface object management | ||
graph management | Device function. Requires CUDA Dynamic Parallelism (CDP) support. | |
Primarily graphics-related. Not required for AI scenarios. | ||
Additionally, for some APIs, only a subset of their enumeration values are supported. In such cases, the specific support status is reported at runtime with a cudaErrorNotSupported or cudaErrorInvalidValue return code.
CUDA Driver
Corresponds to CUDA Driver 12.3. Modules marked as deprecated in the official specification are not supported and are omitted here. All APIs not listed below are supported.
Module | CUDA Driver API name |
device management | |
context management | |
library management | |
memory management | |
multicast object management | |
external resource interoperability | |
execution control | |
graph management | |
occupancy | |
surface object management | |
tensor map object management | |
graphics interoperability | |
coredump attribute control API | |
VDPAU Interoperability | |
EGL Interoperability | |
Additionally, for some APIs, only a subset of their enumeration values are supported. In such cases, the specific support status is reported at runtime with a CUDA_ERROR_NOT_SUPPORTED or CUDA_ERROR_INVALID_VALUE return code.