Skip to content

Latest commit

 

History

History
133 lines (83 loc) · 3.63 KB

File metadata and controls

133 lines (83 loc) · 3.63 KB

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)
[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.

Free-threading Build Support

As of cuda-core 0.4.0, experimental packages for the free-threaded interpreter are shipped.

  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 the cuda-core library are thread-safe. This is subject to change.

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

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

Development environment

The sections above cover end-user installation. The section below focuses on a repeatable development workflow (editable installs and running tests).

Development with uv

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 test

Run tests:

$ python -m pytest tests

Development with pixi

pixi 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-core

To run all repository tests (pathfinder → bindings → core):

$ pixi run -e cu13 test

Use -e cu12 to test against CUDA 12 instead.

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.