Skip to content

Commit a7d4c35

Browse files
Andy-Jostclaude
andcommitted
docs(cuda.core): trim 1.3.0 breaking changes; apply review fixes
Keep only the cuda-bindings floor under Breaking Changes and drop the source-build and internal entries. Apply review findings: nvJitLink 13.6 limit for the LTO cache, priority=0 meaning, the narrower scope of known issue #2765, cite #3289, and drop an entry for a bug that never shipped. Restore the 1.2.1 notes entries that main lacked. Co-Authored-By: Claude Opus 5.5 <[email protected]>
1 parent bb5b7db commit a7d4c35

2 files changed

Lines changed: 35 additions & 50 deletions

File tree

‎cuda_core/docs/source/release/1.2.1-notes.rst‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,30 @@
66
``cuda.core`` 1.2.1 Release Notes
77
=================================
88

9+
New features
10+
------------
11+
12+
- Added Windows on ARM (``win_arm64``) wheels. They are provided for CUDA 13
13+
only and for Python 3.11 and newer, and require ``cuda.bindings`` 13.4.1 or
14+
newer, the first release with Windows on ARM wheels of its own. CPython has
15+
no Windows ARM64 build for Python 3.10. All wheels in this release are built
16+
against the CUDA 13.4 toolkit, where 1.2.0 used 13.3; the supported CUDA and
17+
driver versions are unchanged.
18+
919
Fixes and enhancements
1020
----------------------
1121

22+
- :attr:`system.Device.current_clock_event_reasons` and
23+
:attr:`system.Device.supported_clock_event_reasons` now recognize the
24+
``BOARD_LIMIT`` and ``RELIABILITY`` clock-event reasons that CUDA 13.4
25+
introduced, and ``system.typing.ClocksEventReasons`` gained the matching
26+
members. Previously, a device that reported either reason made these
27+
properties raise ``ValueError`` for an unknown reason bit.
28+
29+
- :attr:`system.Device.brand` now reports ``"NVIDIA DLA"``,
30+
``"NVIDIA vGameDev"`` and ``"NVIDIA NPU"`` for the brand types that CUDA 13.4
31+
introduced, instead of ``"Unknown"``.
32+
1233
- :meth:`Buffer.from_handle` no longer requires a current CUDA context when
1334
the memory resource reports ``is_device_accessible`` as ``False``. Host-only
1435
memory records no deallocation stream, so creating and closing such buffers

‎cuda_core/docs/source/release/1.3.0-notes.rst‎

Lines changed: 14 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -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
2623
Breaking 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

6432
New 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

Comments
 (0)