Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 17 additions & 6 deletions cuda_bindings/docs/source/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
* Optionally, NVRTC, nvJitLink, NVVM, and cuFile from CUDA Toolkit 13.x

```{note}
The optional CUDA Toolkit components can be installed via PyPI, Conda, OS-specific package managers, or local installers (as described in the CUDA Toolkit [Windows](https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html) and [Linux](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html) Installation Guides).
The optional CUDA Toolkit components are now installed via the `cuda-toolkit` metapackage from PyPI for improved dependency resolution. Components can also be installed via Conda, OS-specific package managers, or local installers (as described in the CUDA Toolkit [Windows](https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html) and [Linux](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html) Installation Guides).
```

Starting from v12.8.0, `cuda-python` becomes a meta package which currently depends only on `cuda-bindings`; in the future more sub-packages will be added to `cuda-python`. In the instructions below, we still use `cuda-python` as example to serve existing users, but everything is applicable to `cuda-bindings` as well.
Expand All @@ -27,12 +27,14 @@ Install all optional dependencies with:
pip install -U cuda-python[all]
```

Where the optional dependencies are:
Where the optional dependencies include:

* nvidia-cuda-nvrtc (Provides NVRTC shared library)
* nvidia-nvjitlink (Provides nvJitLink shared library)
* nvidia-cuda-nvcc (Provides NVVM shared library)
* nvidia-cufile (Provides cuFile shared library)
* `nvidia-cuda-nvrtc` (NVRTC runtime compilation library)
* `nvidia-nvjitlink` (nvJitLink library)
* `nvidia-nvvm` (NVVM library)
* `nvidia-cufile` (cuFile library, Linux only)

These are now installed through the `cuda-toolkit` metapackage for improved dependency resolution.


## Installing from Conda
Expand All @@ -41,6 +43,15 @@ Where the optional dependencies are:
$ conda install -c conda-forge cuda-python
```

```{note}
When using conda, the `cuda-version` metapackage can be used to control the versions of CUDA Toolkit components that are installed to the conda environment.
```

For example:
```console
$ conda install -c conda-forge cuda-python cuda-version=13
```


## Installing from Source

Expand Down
4 changes: 3 additions & 1 deletion cuda_bindings/docs/source/release/13.X.Y-notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,12 @@ Released on TBD
Highlights
----------

* Migrated wheel dependencies from individual NVIDIA packages to the ``cuda-toolkit`` metapackage for improved dependency resolution and version constraints.
* Automatic CUDA library path detection based on ``CUDA_HOME``, eliminating the need to manually set ``LIBRARY_PATH`` environment variables for installation.
* The ``[all]`` optional dependencies now use ``cuda-toolkit`` with appropriate extras instead of individual packages. The NVCC compiler is no longer automatically installed with ``pip install cuda-python[all]`` as it was previously included only to access the NVVM library, which now has its own dedicated wheel. Users who need the NVCC compiler should explicitly install it with ``pip install cuda-toolkit[nvcc]==X.Y`` with the appropriate version for their needs.


Known issues
------------

* Updating from older versions (v12.6.2.post1 and below) via ``pip install -U cuda-python`` might not work. Please do a clean re-installation by uninstalling ``pip uninstall -y cuda-python`` followed by installing ``pip install cuda-python``.
* Updating from older versions (v12.6.2.post1 and below) via ``pip install -U cuda-python`` might not work. Please do a clean re-installation by uninstalling ``pip uninstall -y cuda-python`` followed by installing ``pip install cuda-python``.
7 changes: 2 additions & 5 deletions cuda_bindings/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,8 @@ dependencies = [

[project.optional-dependencies]
all = [
"nvidia-cuda-nvcc~=13.0",
"nvidia-cuda-nvrtc~=13.0",
"nvidia-nvjitlink~=13.0",
"nvidia-nvvm~=13.0",
"nvidia-cufile; sys_platform == 'linux'",
"cuda-toolkit[nvrtc,nvjitlink,nvvm]==13.*",
"cuda-toolkit[cufile]==13.*; sys_platform == 'linux'",
]

test = [
Expand Down
4 changes: 2 additions & 2 deletions cuda_core/docs/source/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ dependencies are as follows:

## Installing from PyPI

`cuda.core` works with `cuda.bindings` (part of `cuda-python`) 11 or 12. For example with CUDA 12:
`cuda.core` works with `cuda.bindings` (part of `cuda-python`) 11 or 12. Test dependencies now use the ``cuda-toolkit`` metapackage for improved dependency resolution. For example with CUDA 12:
```console
$ pip install cuda-core[cu12]
```
and likewise use `[cu11]` for CUDA 11.
and likewise use `[cu11]` for CUDA 11, or `[cu13]` for CUDA 13.

Note that using `cuda.core` with NVRTC installed from PyPI via `pip install` requires
`cuda.bindings` 12.8.0+ or 11.8.6+. Likewise, with nvJitLink it requires 12.8.0+.
Expand Down
1 change: 1 addition & 0 deletions cuda_core/docs/source/release/0.X.Y-notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ New features
------------

- Added :attr:`Device.arch` property that returns the compute capability as a string (e.g., '75' for CC 7.5), providing a convenient alternative to manually concatenating the compute capability tuple.
- CUDA 13.x testing support through new ``test-cu13`` dependency group.


New examples
Expand Down
6 changes: 3 additions & 3 deletions cuda_core/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,9 @@ cu11 = ["cuda-bindings[all]==11.8.*"]
cu12 = ["cuda-bindings[all]==12.*"]
cu13 = ["cuda-bindings[all]==13.*"]
test = ["cython>=3.0", "setuptools", "pytest>=6.2.4"]
test-cu11 = ["cuda-core[test]", "cupy-cuda11x", "nvidia-cuda-runtime-cu11"] # runtime headers needed by CuPy
test-cu12 = ["cuda-core[test]", "cupy-cuda12x", "nvidia-cuda-runtime-cu12"] # runtime headers needed by CuPy
# TODO add test-cu13 once CuPy is ready
test-cu11 = ["cuda-core[test]", "cupy-cuda11x", "cuda-toolkit[cudart]==11.*"] # runtime headers needed by CuPy
test-cu12 = ["cuda-core[test]", "cupy-cuda12x", "cuda-toolkit[cudart]==12.*"] # runtime headers needed by CuPy
test-cu13 = ["cuda-core[test]", "cupy-cuda13x", "cuda-toolkit[cudart]==13.*"] # runtime headers needed by CuPy

[project.urls]
homepage = "https://nvidia.github.io/cuda-python/"
Expand Down
31 changes: 4 additions & 27 deletions cuda_pathfinder/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,35 +15,12 @@ test = [
"pytest>=6.2.4",
]
nvidia_wheels_cu12 = [
"nvidia-cublas-cu12",
"nvidia-cuda-nvcc-cu12",
"nvidia-cuda-nvrtc-cu12",
"nvidia-cuda-runtime-cu12",
"nvidia-cufft-cu12",
"nvidia-cufile-cu12; sys_platform != 'win32'",
"nvidia-curand-cu12",
"nvidia-cusolver-cu12",
"nvidia-cusparse-cu12",
"nvidia-npp-cu12",
"nvidia-nvfatbin-cu12",
"nvidia-nvjitlink-cu12",
"nvidia-nvjpeg-cu12",
"cuda-toolkit[nvcc,cublas,nvrtc,cudart,cufft,curand,cusolver,cusparse,npp,nvfatbin,nvjitlink,nvjpeg]==12.*",
"cuda-toolkit[cufile]==12.*; sys_platform != 'win32'",
]
nvidia_wheels_cu13 = [
"nvidia-cublas",
"nvidia-cuda-nvcc",
"nvidia-cuda-nvrtc",
"nvidia-cuda-runtime",
"nvidia-cufft",
"nvidia-cufile; sys_platform != 'win32'",
"nvidia-curand",
"nvidia-cusolver",
"nvidia-cusparse",
"nvidia-npp",
"nvidia-nvfatbin",
"nvidia-nvjitlink",
"nvidia-nvjpeg",
"nvidia-nvvm",
"cuda-toolkit[nvcc,cublas,nvrtc,cudart,cufft,curand,cusolver,cusparse,npp,nvfatbin,nvjitlink,nvjpeg,nvvm]==13.*",
"cuda-toolkit[cufile]==13.*; sys_platform != 'win32'",
]

[project.urls]
Expand Down