|
| 1 | +.. SPDX-FileCopyrightText: Copyright (c) 2026 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.7 Release notes |
| 7 | +====================================== |
| 8 | + |
| 9 | +Bugfixes |
| 10 | +-------- |
| 11 | + |
| 12 | +* Fixed ``CUDA_PYTHON_CUDA_PER_THREAD_DEFAULT_STREAM=0`` incorrectly enabling |
| 13 | + per-thread default stream mode. |
| 14 | + (`PR #2110 <https://github.com/NVIDIA/cuda-python/pull/2110>`_) |
| 15 | + |
| 16 | +* Fixed a use-after-free in ``cudaGraphGetEdges``, ``cudaGraphNodeGetDependencies``, |
| 17 | + ``cudaGraphNodeGetDependentNodes``, ``cudaStreamGetCaptureInfo``, and their |
| 18 | + driver-API counterparts (``cuGraphGetEdges``, ``cuGraphNodeGetDependencies``, |
| 19 | + ``cuGraphNodeGetDependentNodes``, ``cuStreamGetCaptureInfo``). The returned |
| 20 | + ``cudaGraphEdgeData``/``CUgraphEdgeData`` wrappers were backed by a scratch |
| 21 | + buffer that was freed before the call returned, leaving every wrapper holding |
| 22 | + a dangling pointer. The returned wrappers now own deep copies of the edge |
| 23 | + data. |
| 24 | + (`Issue #1804 <https://github.com/NVIDIA/cuda-python/issues/1804>`_, |
| 25 | + `PR #2110 <https://github.com/NVIDIA/cuda-python/pull/2110>`_) |
| 26 | + |
| 27 | +* Fixed a double-free in the generated setters for list-valued struct members |
| 28 | + (e.g. ``CUlaunchConfig.attrs``, ``CUDA_MEM_ALLOC_NODE_PARAMS.accessDescs``, |
| 29 | + external-semaphore and batch-mem-op node parameter arrays, and their runtime |
| 30 | + counterparts). Assigning an empty list freed the internal buffer but left |
| 31 | + the cached pointer non-NULL, so a subsequent assignment or ``__dealloc__`` |
| 32 | + would call ``free()`` again on the dangling pointer. |
| 33 | + (`PR #2115 <https://github.com/NVIDIA/cuda-python/pull/2115>`_) |
| 34 | + |
| 35 | +Miscellaneous |
| 36 | +------------- |
| 37 | + |
| 38 | +* NVRTC bindings now use pre-generated Cython files and no longer require |
| 39 | + pyclibrary header parsing at build time. |
| 40 | + (`PR #1957 <https://github.com/NVIDIA/cuda-python/pull/1957>`_) |
| 41 | + |
| 42 | +* Improved generated documentation and argument names, including the ``ind_ex`` |
| 43 | + argument naming bug. |
| 44 | + (`PR #1928 <https://github.com/NVIDIA/cuda-python/pull/1928>`_, |
| 45 | + `PR #2110 <https://github.com/NVIDIA/cuda-python/pull/2110>`_) |
| 46 | + |
| 47 | +* Source archives now include git archival metadata for setuptools-scm. |
| 48 | + (`PR #1756 <https://github.com/NVIDIA/cuda-python/pull/1756>`_) |
| 49 | + |
| 50 | +Known issues |
| 51 | +------------ |
| 52 | + |
| 53 | +* 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``. |
0 commit comments