Skip to content

Commit c04025d

Browse files
authored
Merge pull request #366 from vzhurba01/12-next-docs
Doc updates for 12.8
2 parents cf9d560 + 8d9a680 commit c04025d

14 files changed

+180
-64
lines changed

cuda_bindings/docs/source/index.rst

+4-3
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,14 @@
55
:maxdepth: 2
66
:caption: Contents:
77

8+
release
89
install.md
910
overview.md
1011
motivation.md
11-
release.md
1212
environment_variables.md
13-
api.rst
14-
tips_and_tricks.rst
13+
api
14+
tips_and_tricks
15+
support
1516

1617

1718
Indices and tables

cuda_bindings/docs/source/install.md

+17-1
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,33 @@
1111
Only the NVRTC and nvJitLink redistributable components are required from the CUDA Toolkit, which can be obtained via PyPI, Conda, 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).
1212
```
1313

14+
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.
15+
16+
1417
## Installing from PyPI
1518

1619
```console
17-
$ pip install cuda-python
20+
$ pip install -U cuda-python
1821
```
1922

23+
Install all optional dependencies with:
24+
```{code-block} shell
25+
pip install -U cuda-python[all]
26+
```
27+
28+
Where the optional dependencies are:
29+
30+
* nvidia-cuda-nvrtc-cu12 (Provides NVRTC shared library)
31+
* nvidia-nvjitlink-cu12>=12.3 (Provides nvJitLink shared library)
32+
33+
2034
## Installing from Conda
2135

2236
```console
2337
$ conda install -c conda-forge cuda-python
2438
```
2539

40+
2641
## Installing from Source
2742

2843
### Requirements
@@ -43,6 +58,7 @@ See [Environment Variables](environment_variables.md) for a description of other
4358
Only `cydriver`, `cyruntime` and `cynvrtc` are impacted by the header requirement.
4459
```
4560

61+
4662
### Editable Install
4763

4864
You can use

cuda_bindings/docs/source/release.md

-31
This file was deleted.

cuda_bindings/docs/source/release.rst

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
Release Notes
2+
=============
3+
4+
.. toctree::
5+
:maxdepth: 3
6+
7+
12.8.0 <release/12.8.0-notes.md>
8+
12.6.2 <release/12.6.2-notes.md>
9+
12.6.1 <release/12.6.1-notes.md>
10+
12.6.0 <release/12.6.0-notes.md>
11+
12.5.0 <release/12.5.0-notes.md>
12+
12.4.0 <release/12.4.0-notes.md>
13+
12.3.0 <release/12.3.0-notes.md>
14+
12.2.1 <release/12.2.1-notes.md>
15+
12.2.0 <release/12.2.0-notes.md>
16+
12.1.0 <release/12.1.0-notes.md>
17+
12.0.0 <release/12.0.0-notes.md>
18+
11.8.6 <release/11.8.6-notes.md>
19+
11.8.5 <release/11.8.5-notes.md>
20+
11.8.4 <release/11.8.4-notes.md>
21+
11.8.3 <release/11.8.3-notes.md>
22+
11.8.2 <release/11.8.2-notes.md>
23+
11.8.1 <release/11.8.1-notes.md>
24+
11.8.0 <release/11.8.0-notes.md>
25+
11.7.1 <release/11.7.1-notes.md>
26+
11.7.0 <release/11.7.0-notes.md>
27+
11.6.1 <release/11.6.1-notes.md>
28+
11.6.0 <release/11.6.0-notes.md>
29+
11.5.0 <release/11.5.0-notes.md>
30+
11.4.0 <release/11.4.0-notes.md>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# `cuda-bindings` 11.8.6 Release notes
2+
3+
Released on January 24, 2025.
4+
5+
6+
## Highlights
7+
8+
- Add an optional dependency on the CUDA NVRTC wheel
9+
- Enable discovery and loading of shared libraries from CUDA wheels
10+
- `cuda-python` is now a meta package, currently depending only on `cuda-bindings` ([see RFC](https://github.com/NVIDIA/cuda-python/issues/105))
11+
12+
13+
## Wheels support for optional dependencies
14+
15+
Optional dependencies are added for packages:
16+
17+
- nvidia-cuda-nvrtc-cu12
18+
19+
Installing these dependencies with `cuda-python` can be done using:
20+
```{code-block} shell
21+
pip install cuda-python[all]
22+
```
23+
Same applies to `cuda-bindings`.
24+
25+
26+
## Discovery and loading of shared library dependencies from wheels
27+
28+
Shared library search paths for wheel builds are now extended to check site-packages. This allows `cuda-python`/`cuda-bindings` to seamlessly use the aforementioned CUDA Toolkit wheels installed in the user's Python environment.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# `cuda-bindings` 12.8.0 Release notes
2+
3+
Released on January 24, 2025.
4+
5+
6+
## Highlights
7+
8+
- Add bindings for nvJitLink (requires nvJitLink from CUDA 12.3 or above)
9+
- Add optional dependencies on CUDA NVRTC and nvJitLink wheels
10+
- Enable discovery and loading of shared libraries from CUDA wheels
11+
- `cuda-python` is now a meta package, currently depending only on `cuda-bindings` ([see RFC](https://github.com/NVIDIA/cuda-python/issues/105))
12+
13+
14+
## Wheels support for optional dependencies
15+
16+
Optional dependencies are added for packages:
17+
18+
- nvidia-cuda-nvrtc-cu12
19+
- nvidia-nvjitlink-cu12
20+
21+
Installing these dependencies with `cuda-python` can be done using:
22+
```{code-block} shell
23+
pip install cuda-python[all]
24+
```
25+
Same applies to `cuda-bindings`.
26+
27+
28+
## Discovery and loading of shared library dependencies from wheels
29+
30+
Shared library search paths for wheel builds are now extended to check site-packages. This allows `cuda-python`/`cuda-bindings` to seamlessly use the aforementioned CUDA Toolkit wheels installed in the user's Python environment.

cuda_bindings/docs/source/release/12.x.y-notes.md

-24
This file was deleted.

cuda_bindings/docs/source/support.rst

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
``cuda.bindings`` Support Policy
2+
================================
3+
4+
The ``cuda.bindings`` module has the following support policy:
5+
6+
1. The module shares the same ``major.minor`` version with the CUDA Toolkit. The patch version (the
7+
third number in the version string), however, is reserved to reflect Python-only changes and
8+
is out of sync with the Toolkit patch version.
9+
2. The module is actively maintained to support the latest CUDA major version and its prior major
10+
version. For example, as of writing the bindings for CUDA 11 & 12 are maintained. Any fix in the
11+
latest bindings would be backported to the prior major version.
12+
3. The module supports `CUDA minor version compatibility`_, meaning that ``cuda.bindings`` 12.x
13+
supports any Toolkit 12.y. (Whether or not a binding API would actually correctly function
14+
depends on the underlying driver and the Toolkit versions, as described in the compatibility
15+
documentation.)
16+
4. The module supports all Python versions following the `CPython EOL schedule`_. As of writing
17+
Python 3.9 - 3.13 are supported.
18+
5. The module exposes a Cython layer from which types and functions could be ``cimport``'d. While
19+
we strive to keep this layer stable, due to Cython limitations a new *minor* release of this
20+
module could require Cython layer users to rebuild their projects and update their pinning to
21+
this module.
22+
23+
The NVIDIA CUDA Python team reserves rights to amend the above support policy. Any major changes,
24+
however, will be announced to the users in advance.
25+
26+
27+
.. _CUDA minor version compatibility: https://docs.nvidia.com/deploy/cuda-compatibility/#minor-version-compatibility
28+
.. _CPython EOL schedule: https://devguide.python.org/versions/

cuda_bindings/docs/source/tips_and_tricks.rst

+6-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,12 @@ All CUDA C types are exposed to Python as Python classes. For example, the :clas
99
There is an important distinction between the ``getPtr()`` method and the behaviour of ``__int__()``. If you need to get the pointer address *of* the underlying ``CUstream`` C object wrapped in the Python class, you can do so by calling ``int(instance_of_CUstream)``, which returns the address as a Python `int`, while calling ``instance_of_CUstream.getPtr()`` returns the pointer *to* the ``CUstream`` C object (that is, ``&CUstream``) as a Python `int`.
1010

1111

12+
Lifetime management of the CUDA objects
13+
=======================================
14+
15+
All of the Python classes do not manage the lifetime of the underlying CUDA C objects. It is the user's responsibility to use the appropriate APIs to explicitly destruct the objects following the CUDA Programming Guide.
16+
17+
1218
Getting and setting attributes of extension types
1319
=================================================
1420

@@ -30,4 +36,3 @@ An example of this is the :class:`~cuda.bindings.driver.CULaunchConfig` type.
3036
3137
# This does not work. We are only modifying the returned attribute in place
3238
drv_cfg.attrs.append(attr)
33-

cuda_bindings/docs/versions.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
22
"latest" : "latest",
3-
"12.6.1" : "12.6.1",
4-
"12.6.2" : "12.6.2"
3+
"12.8.0" : "12.8.0",
4+
"12.6.2" : "12.6.2",
5+
"12.6.1" : "12.6.1"
56
}

cuda_python/docs/source/release.md

+2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
maxdepth: 3
66
---
77
8+
12.8.0 <release/12.8.0-notes>
89
12.6.2 <release/12.6.2-notes>
910
12.6.1 <release/12.6.1-notes>
11+
11.8.6 <release/11.8.6-notes>
1012
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# CUDA Python 11.8.6 Release notes
2+
3+
Released on January 24, 2025.
4+
5+
## Included components
6+
7+
- [`cuda.bindings` 11.8.6](https://nvidia.github.io/cuda-python/cuda-bindings/11.8.6/release/11.8.6-notes.html)
8+
9+
10+
## Highlights
11+
12+
- Add optional dependencies on the CUDA NVRTC wheel
13+
- Enable discovery and loading of shared libraries from CUDA wheels
14+
- `cuda-python` is now a meta package, currently depending only on `cuda-bindings` ([see RFC](https://github.com/NVIDIA/cuda-python/issues/105))
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# CUDA Python 12.8.0 Release notes
2+
3+
Released on January 24, 2025.
4+
5+
## Included components
6+
7+
- [`cuda.bindings` 12.8.0](https://nvidia.github.io/cuda-python/cuda-bindings/12.8.0/release/12.8.0-notes.html)
8+
9+
10+
## Highlights
11+
12+
- Add bindings for nvJitLink (requires nvJitLink from CUDA 12.3 or above)
13+
- Add optional dependencies on CUDA NVRTC and nvJitLink wheels
14+
- Enable discovery and loading of shared libraries from CUDA wheels
15+
- `cuda-python` is now a meta package, currently depending only on `cuda-bindings` ([see RFC](https://github.com/NVIDIA/cuda-python/issues/105))

cuda_python/docs/versions.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
22
"latest" : "latest",
3-
"12.6.1" : "12.6.1",
4-
"12.6.2" : "12.6.2"
3+
"12.8.0" : "12.8.0",
4+
"12.6.2" : "12.6.2",
5+
"12.6.1" : "12.6.1"
56
}

0 commit comments

Comments
 (0)