Installation#

Runtime Requirements#

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)

cuda.core supports Python 3.9 - 3.13, on Linux (x86-64, arm64) and Windows (x86-64).

Installing from PyPI#

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+.

Free-threading Build Support#

As of cuda-core 0.4.0, wheels for the free-threaded interpreter are shipped to PyPI.

  1. 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.

  2. For now, you are responsible for making sure that calls into cuda-core libraries are thread-safe. This is subject to change.

Installing from Conda (conda-forge)#

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=12

and 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+.

Installing from Source#

$ 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.