CUDA Bindings#

Numba-CUDA uses the official NVIDIA CUDA Python bindings for all CUDA Driver interactions. Numba-CUDA previously provided its own internal ctypes-based bindings; the public APIs exposing those bindings are kept for compatibility, but if you need to interact directly with the CUDA Driver or other CUDA libraries we recommend using the cuda-python package directly.

Per-Thread Default Streams#

Responsibility for handling Per-Thread Default Streams (PTDS) is delegated to the NVIDIA bindings. To use PTDS, set the environment variable CUDA_PYTHON_CUDA_PER_THREAD_DEFAULT_STREAM to 1 instead of Numba’s environment variable NUMBA_CUDA_PER_THREAD_DEFAULT_STREAM.

See also

The Default Stream section in the NVIDIA Bindings documentation.

Roadmap#

The ctypes-based internal bindings have been removed in favor of the NVIDIA bindings. Future work focuses on expanding usage of cuda.core APIs.