cuda.core is supported on all platforms that CUDA is supported. Specific
dependencies are as follows:
| CUDA 12 | CUDA 13 | |
|---|---|---|
| CUDA Toolkit[1] | 12.x | 13.x |
| Driver | 525.60.13+ (Linux), 527.41+ (Windows) | 580.65+ (Linux), 580.88+ (Windows) |
| [1] | Including cuda-python. |
cuda.core supports Python 3.10 - 3.14, on Linux (x86-64, arm64) and Windows (x86-64). Experimental free-threaded builds for Python 3.14 are also provided.
As of cuda-core 0.4.0, experimental packages for the free-threaded interpreter are shipped.
- Support for these builds is best effort, due to heavy use of built-in
modules that are known to be thread-unsafe, such as
ctypes. - For now, you are responsible for making sure that calls into the
cuda-corelibrary are thread-safe. This is subject to change.
cuda.core works with cuda.bindings (part of cuda-python) 12 or 13. Test dependencies now use the cuda-toolkit metapackage for improved dependency resolution. For example with CUDA 12:
$ pip install cuda-core[cu12]and likewise use [cu13] for CUDA 13.
Note that using cuda.core with NVRTC installed from PyPI via pip install requires
cuda.bindings 12.8.0+. Likewise, with nvJitLink it requires 12.8.0+.
Same as above, cuda.core can be installed in a CUDA 12 or 13 environment. For example with CUDA 12:
$ conda install -c conda-forge cuda-core cuda-version=12and likewise use cuda-version=13 for CUDA 13.
Note that to use cuda.core with nvJitLink installed from conda-forge requires cuda.bindings 12.8.0+.
The sections above cover end-user installation. The section below focuses on a repeatable development workflow (editable installs and running tests).
uv is a fast Python package and project manager. For example, to work on
cuda-core against CUDA 13:
$ git clone https://github.com/NVIDIA/cuda-python
$ cd cuda-python/cuda_core
$ uv venv
$ source .venv/bin/activate # On Windows: .venv\Scripts\activate
$ uv pip install -e .[cu13] --group testRun tests:
$ python -m pytest testspixi provides a reproducible development environment across the repository. From the repository root:
$ git clone https://github.com/NVIDIA/cuda-python
$ cd cuda-python
$ pixi run -e cu13 test-coreTo run all repository tests (pathfinder → bindings → core):
$ pixi run -e cu13 testUse -e cu12 to test against CUDA 12 instead.
$ git clone https://github.com/NVIDIA/cuda-python
$ cd cuda-python/cuda_core
$ pip install .cuda-bindings 12.x or 13.x is a required dependency.