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.