@@ -11,9 +11,6 @@ Highlights
1111
1212- Support for Python 3.10 is dropped (end of life).
1313
14- - ``cuda.core `` now requires a minimum ``cuda-bindings `` version per CUDA major: 12.9.8 for
15- CUDA 12 and 13.5.0 for CUDA 13. See the breaking changes below.
16-
1714- :class: `VirtualMemoryResource ` buffers can be shared with other processes through POSIX file
1815 descriptors or fabric handles.
1916
@@ -26,40 +23,11 @@ Highlights
2623Breaking Changes
2724----------------
2825
29- - ``cuda.core `` now requires a minimum ``cuda-bindings `` version per CUDA major, at build and run
30- time: 12.9.8 for CUDA 12 and 13.5.0 for CUDA 13. See the
31- :ref: `support policy <cuda-core-bindings-floor >`. ``import cuda.core `` with an older
32- ``cuda-bindings `` fails with a message that names the required version and how to install it.
33- ``pip install cuda-core[cu12] `` or ``pip install cuda-core[cu13] `` installs a compatible
34- version. Supported CUDA drivers and CUDA Toolkit libraries are unchanged. Previously
35- ``cuda.core `` accepted any ``cuda-bindings `` of the right major, and an older one produced import
36- errors for missing C functions, silently disabled features, or crashes.
37- (https://github.com/NVIDIA/cuda-python/issues/2783)
38-
39- - A source build of ``cuda.core `` must use a ``cuda.h `` of the same major.minor as its
40- ``cuda-bindings ``. If they differ, the build fails early.
41- (https://github.com/NVIDIA/cuda-python/issues/2783)
42-
43- - A source build of ``cuda.core `` now compiles against the CCCL headers pinned in the
44- ``cuda_core/third_party/cccl `` submodule, and fails without them. Clone with
45- ``git clone --recurse-submodules ``, or run
46- ``git submodule update --init cuda_core/third_party/cccl `` in an existing clone. The
47- ``CCCL_HOME `` environment variable is no longer read.
48- (`#2940 <https://github.com/NVIDIA/cuda-python/pull/2940 >`__)
49-
50- - With the ``cuda-bindings `` floor in place, whether a feature is available now depends only on
51- the CUDA driver and the ``cuda.core `` build's CUDA major. The checks that also inspected the
52- ``cuda-bindings `` version are gone, and so are their error messages. Error messages that name a
53- minimum now name a driver version. ``cuda.core.system `` always uses NVML through
54- ``cuda-bindings ``, so ``cuda.core.system.CUDA_BINDINGS_NVML_IS_COMPATIBLE `` is always ``True ``.
55- :mod: `cuda.core.checkpoint ` requires the CUDA 13 build of ``cuda.core `` and now says so. That
56- requirement was already in effect, because the CUDA 12 ``cuda-bindings `` lack a type it uses.
57- (https://github.com/NVIDIA/cuda-python/issues/2783)
58-
59- - The C++ layer calls the driver through the entry points ``cuda-bindings `` resolves rather than
60- through its Cython wrappers. As a result, a driver function that the installed driver lacks can
61- no longer surface as ``SystemError `` from a C++ call.
62- (https://github.com/NVIDIA/cuda-python/issues/2783)
26+ - ``cuda.core `` now requires ``cuda-bindings `` 12.9.8 or newer for CUDA 12, and 13.5.0 or newer
27+ for CUDA 13. With an older ``cuda-bindings ``, ``import cuda.core `` fails with a message that
28+ names the required version. ``pip install cuda-core[cu12] `` or ``pip install cuda-core[cu13] ``
29+ installs a compatible version. See the :ref: `support policy <cuda-core-bindings-floor >`.
30+ (`#2783 <https://github.com/NVIDIA/cuda-python/issues/2783 >`__)
6331
6432New features
6533------------
@@ -91,17 +59,17 @@ New features
9159 linker. :meth: `Linker.link ` also accepts ``"ltoir" `` on nvJitLink 13.3 or
9260 newer so incremental LTO chains can retain IR until their final link. Direct
9361 PTX and CUBIN inputs are rejected for this target because they carry no LTOIR
94- and nvJitLink would otherwise silently omit them. Incremental links with
95- link-time optimization disable the nvJitLink intermediate cache, which
96- crashed after repeated links on Windows.
62+ and nvJitLink would otherwise silently omit them. On nvJitLink versions
63+ older than 13.6, incremental links with link-time optimization disable the
64+ nvJitLink intermediate cache, which crashed after repeated links on Windows.
9765 (`#2369 <https://github.com/NVIDIA/cuda-python/issues/2369 >`__,
9866 `#3038 <https://github.com/NVIDIA/cuda-python/issues/3038 >`__)
9967
10068- Added the ``priority `` option to :class: `LaunchConfig `, which sets the
10169 execution priority of a kernel launch. Lower numbers are higher priorities.
10270 The valid range is the device's stream priority range, as for
10371 :attr: `StreamOptions.priority `. A nonzero value outside it raises
104- ``ValueError ``.
72+ ``ValueError ``. The default, `` 0 ``, leaves the stream's priority in effect.
10573 (`#2631 <https://github.com/NVIDIA/cuda-python/issues/2631 >`__)
10674
10775- Added the ``cluster_scheduling_policy_preference `` option to
@@ -501,11 +469,8 @@ Fixes and enhancements
501469- :class: `Program ` with ``code_type="nvvm" `` now raises :class: `CUDAError `
502470 for twelve :class: `ProgramOptions ` fields that libNVVM cannot use, such as
503471 ``pch `` and ``no_cache ``. Before, they were silently ignored.
504- (`#2954 <https://github.com/NVIDIA/cuda-python/issues/2954 >`__)
505-
506- - A failed IPC export that receives an invalid file descriptor from the
507- driver now raises the original error. The rollback used to close the
508- invalid descriptor and replace the error with ``EBADF ``.
472+ (`#2954 <https://github.com/NVIDIA/cuda-python/issues/2954 >`__,
473+ `#3289 <https://github.com/NVIDIA/cuda-python/pull/3289 >`__)
509474
510475- A new graph no longer adopts the metadata of a destroyed graph when the
511476 driver reuses its handle address. Cleanup of the old graph could
@@ -525,10 +490,9 @@ Known issues
525490------------
526491
527492- :class: `PinnedMemoryResource ` rejects ``HOST_NUMA `` pools on CUDA 12.6 to
528- 12.8 drivers, although the driver supports them. This regression is present
529- since 1.2.0.
493+ 12.8 drivers, although the driver supports them. This is a regression in 1.2.0.
530494 (`#2795 <https://github.com/NVIDIA/cuda-python/issues/2795 >`__)
531495
532- - :meth: `SMResource.split ` with ``dry_run=True `` raises on
533- CUDA 13 when a group requests a nonzero SM count .
496+ - :meth: `SMResource.split ` with ``dry_run=True `` raises when a group requests a nonzero SM
497+ count, with a CUDA 13 build on a driver of 13.1 or newer .
534498 (`#2765 <https://github.com/NVIDIA/cuda-python/issues/2765 >`__)
0 commit comments