Skip to content

Commit 3f10ec8

Browse files
committed
Merge branch 'main' into copilot/fix-760
2 parents 9164130 + 459bbcb commit 3f10ec8

12 files changed

Lines changed: 82 additions & 50 deletions

File tree

cuda_bindings/docs/source/install.md

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
* Optionally, NVRTC, nvJitLink, NVVM, and cuFile from CUDA Toolkit 13.x
1111

1212
```{note}
13-
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).
13+
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).
1414
```
1515

1616
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.
@@ -27,12 +27,14 @@ Install all optional dependencies with:
2727
pip install -U cuda-python[all]
2828
```
2929

30-
Where the optional dependencies are:
30+
Where the optional dependencies include:
3131

32-
* nvidia-cuda-nvrtc (Provides NVRTC shared library)
33-
* nvidia-nvjitlink (Provides nvJitLink shared library)
34-
* nvidia-cuda-nvcc (Provides NVVM shared library)
35-
* nvidia-cufile (Provides cuFile shared library)
32+
* `nvidia-cuda-nvrtc` (NVRTC runtime compilation library)
33+
* `nvidia-nvjitlink` (nvJitLink library)
34+
* `nvidia-nvvm` (NVVM library)
35+
* `nvidia-cufile` (cuFile library, Linux only)
36+
37+
These are now installed through the `cuda-toolkit` metapackage for improved dependency resolution.
3638

3739

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

46+
```{note}
47+
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.
48+
```
49+
50+
For example:
51+
```console
52+
$ conda install -c conda-forge cuda-python cuda-version=13
53+
```
54+
4455

4556
## Installing from Source
4657

cuda_bindings/docs/source/release.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@ Release Notes
77
.. toctree::
88
:maxdepth: 3
99

10+
13.X.Y <release/13.X.Y-notes.rst>
1011
13.0.1 <release/13.0.1-notes.rst>
1112
13.0.0 <release/13.0.0-notes.rst>
13+
12.9.X <release/12.9.X-notes.rst>
1214
12.9.2 <release/12.9.2-notes.rst>
1315
12.9.1 <release/12.9.1-notes.rst>
1416
12.9.0 <release/12.9.0-notes.rst>
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
.. SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
.. SPDX-License-Identifier: LicenseRef-NVIDIA-SOFTWARE-LICENSE
3+
4+
.. module:: cuda.bindings
5+
6+
``cuda-bindings`` 12.9.X Release notes
7+
======================================
8+
9+
Released on TBD
10+
11+
12+
Highlights
13+
----------
14+
15+
* Automatic CUDA library path detection based on ``CUDA_HOME``, eliminating the need to manually set ``LIBRARY_PATH`` environment variables for installation.
16+
17+
18+
Known issues
19+
------------
20+
21+
* 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``.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
.. SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
.. SPDX-License-Identifier: LicenseRef-NVIDIA-SOFTWARE-LICENSE
3+
4+
.. module:: cuda.bindings
5+
6+
``cuda-bindings`` 13.X.Y Release notes
7+
======================================
8+
9+
Released on TBD
10+
11+
12+
Highlights
13+
----------
14+
15+
* Migrated wheel dependencies from individual NVIDIA packages to the ``cuda-toolkit`` metapackage for improved dependency resolution and version constraints.
16+
* Automatic CUDA library path detection based on ``CUDA_HOME``, eliminating the need to manually set ``LIBRARY_PATH`` environment variables for installation.
17+
* 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.
18+
19+
20+
Known issues
21+
------------
22+
23+
* 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``.

cuda_bindings/pyproject.toml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,8 @@ dependencies = [
3333

3434
[project.optional-dependencies]
3535
all = [
36-
"nvidia-cuda-nvcc~=13.0",
37-
"nvidia-cuda-nvrtc~=13.0",
38-
"nvidia-nvjitlink~=13.0",
39-
"nvidia-nvvm~=13.0",
40-
"nvidia-cufile; sys_platform == 'linux'",
36+
"cuda-toolkit[nvrtc,nvjitlink,nvvm]==13.*",
37+
"cuda-toolkit[cufile]==13.*; sys_platform == 'linux'",
4138
]
4239

4340
test = [

cuda_core/cuda/core/experimental/_linker.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -205,15 +205,15 @@ def _init_nvjitlink(self):
205205
self.formatted_options.append("-time")
206206
if self.verbose is not None:
207207
self.formatted_options.append("-verbose")
208-
if self.link_time_optimization is not None:
208+
if self.link_time_optimization is not None and self.link_time_optimization:
209209
self.formatted_options.append("-lto")
210210
if self.ptx is not None:
211211
self.formatted_options.append("-ptx")
212212
if self.optimization_level is not None:
213213
self.formatted_options.append(f"-O{self.optimization_level}")
214-
if self.debug is not None:
214+
if self.debug is not None and self.debug:
215215
self.formatted_options.append("-g")
216-
if self.lineinfo is not None:
216+
if self.lineinfo is not None and self.lineinfo:
217217
self.formatted_options.append("-lineinfo")
218218
if self.ftz is not None:
219219
self.formatted_options.append(f"-ftz={'true' if self.ftz else 'false'}")

cuda_core/cuda/core/experimental/_program.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -244,8 +244,8 @@ def __post_init__(self):
244244
self._formatted_options.append("--device-debug")
245245
if self.lineinfo is not None and self.lineinfo:
246246
self._formatted_options.append("--generate-line-info")
247-
if self.device_code_optimize is not None:
248-
self._formatted_options.append(f"--dopt={'on' if self.device_code_optimize else 'off'}")
247+
if self.device_code_optimize is not None and self.device_code_optimize:
248+
self._formatted_options.append("--dopt=on")
249249
if self.ptxas_options is not None:
250250
opt_name = "--ptxas-options"
251251
if isinstance(self.ptxas_options, str):
@@ -351,7 +351,7 @@ def _as_bytes(self):
351351

352352
def __repr__(self):
353353
# __TODO__ improve this
354-
return self._formatted_options
354+
return str(self._formatted_options)
355355

356356

357357
ProgramHandleT = Union["cuda.bindings.nvrtc.nvrtcProgram", LinkerHandleT]

cuda_core/docs/source/api.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
========================================
88

99
All of the APIs listed (or cross-referenced from) below are considered *experimental*
10-
and subject to future changes without deprecation notice. Once stablized they will be
10+
and subject to future changes without deprecation notice. Once stabilized they will be
1111
moved out of the ``experimental`` namespace.
1212

1313

cuda_core/docs/source/install.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ dependencies are as follows:
1717

1818
## Installing from PyPI
1919

20-
`cuda.core` works with `cuda.bindings` (part of `cuda-python`) 11 or 12. For example with CUDA 12:
20+
`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:
2121
```console
2222
$ pip install cuda-core[cu12]
2323
```
24-
and likewise use `[cu11]` for CUDA 11.
24+
and likewise use `[cu11]` for CUDA 11, or `[cu13]` for CUDA 13.
2525

2626
Note that using `cuda.core` with NVRTC installed from PyPI via `pip install` requires
2727
`cuda.bindings` 12.8.0+ or 11.8.6+. Likewise, with nvJitLink it requires 12.8.0+.

cuda_core/docs/source/release/0.X.Y-notes.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ New features
2525
------------
2626

2727
- 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.
28+
- CUDA 13.x testing support through new ``test-cu13`` dependency group.
2829

2930

3031
New examples

0 commit comments

Comments
 (0)