.. SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
.. SPDX-License-Identifier: Apache-2.0

CUDA Python 12.6.1 Release notes
================================

Released on October 7, 2024

Highlights
----------
- Resolve `Issue #90 <https://github.com/NVIDIA/cuda-python/issues/90>`_: Use new layout in preparation for cuda-python becoming a metapackage
- Resolve `Issue #75 <https://github.com/NVIDIA/cuda-python/issues/75>`_: CUDA namespace cleanup

CUDA namespace cleanup with a new module layout
-----------------------------------------------

`Issue #75 <https://github.com/NVIDIA/cuda-python/issues/75>`_ explains in detail what the new module layout is, what problem it fixes and how it impacts the users. However for the sake of completeness, this release notes will highlight key points of this change.

Before this change, ``cuda-python`` was tightly coupled to CUDA Toolkit releases and all new features would inherit this coupling regardless of their applicability. As we develop new features, this coupling was becoming overly restrictive and motivated a new solution: Convert ``cuda-python`` into a metapackage where we use ``cuda`` as a namespace with existing bindings code moved to a ``cuda_bindings`` subpackage.

This patch release applies the new module layout for the bindings as follows:
- ``cuda.cuda`` -> ``cuda.bindings.driver``
- ``cuda.ccuda`` -> ``cuda.bindings.cydriver``
- ``cuda.cudart`` -> ``cuda.bindings.runtime``
- ``cuda.ccudart`` -> ``cuda.bindings.cyruntime``
- ``cuda.nvrtc`` -> ``cuda.bindings.nvrtc``
- ``cuda.cnvrtc`` -> ``cuda.bindings.cynvrtc``

Deprecation warnings are turned on as a notice to switch to the new module layout.

.. note:: This is non-breaking, backwards compatible change. All old module path will continue work as they "forward" user calls towards the new layout.

Limitations
-----------

Know issues
^^^^^^^^^^^
- `Issue #215 <https://github.com/NVIDIA/cuda-python/issues/215>`_

CUDA Functions Not Supported in this Release
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- Symbol APIs
    - cudaGraphExecMemcpyNodeSetParamsFromSymbol
    - cudaGraphExecMemcpyNodeSetParamsToSymbol
    - cudaGraphAddMemcpyNodeToSymbol
    - cudaGraphAddMemcpyNodeFromSymbol
    - cudaGraphMemcpyNodeSetParamsToSymbol
    - cudaGraphMemcpyNodeSetParamsFromSymbol
    - cudaMemcpyToSymbol
    - cudaMemcpyFromSymbol
    - cudaMemcpyToSymbolAsync
    - cudaMemcpyFromSymbolAsync
    - cudaGetSymbolAddress
    - cudaGetSymbolSize
    - cudaGetFuncBySymbol
- Launch Options
    - cudaLaunchKernel
    - cudaLaunchCooperativeKernel
    - cudaLaunchCooperativeKernelMultiDevice
- cudaSetValidDevices
- cudaVDPAUSetVDPAUDevice
- cudaFuncGetName
- cudaFuncGetParamInfo
