.. SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: BSD-2-Clause 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 :envvar:`NUMBA_CUDA_PER_THREAD_DEFAULT_STREAM`. .. seealso:: 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.