cuda-bindings 13.0.0 Release notes

Released on Aug 6, 2025

Highlights

  • Support CUDA 13.0.

  • A utility module cuda.bindings.utils is added

    • Using int(cuda_obj) to retrieve the underlying address of a CUDA object is deprecated and subject to future removal. Please switch to use get_cuda_native_handle() instead.

  • The cuda.bindings.cufile Python module was added, wrapping the cuFile C APIs. Supported on Linux only.

    • Currently using this module requires NumPy to be present. Any recent NumPy 1.x or 2.x should work.

  • Python bindings in every module, including driver, runtime, and nvrtc, now have the GIL released before calling the underlying C APIs.

Breaking changes

  • For breaking changes in the CUDA APIs, please see the CUDA 13.0 release notes.

  • The trampoline modules cuda.{cuda,cudart,nvrtc} are now removed. Users should switch to use cuda.bindings.{driver,runtime,nvrtc} instead.

Bug fixes

  • Fix a library loading bug that preferred shared libraries without a SOVERSION.

Miscellaneous

  • All Python bindings now have the GIL released when calling into the underlying C APIs.

  • Added PTX utilities including get_minimal_required_cuda_ver_from_ptx_ver() and get_ptx_ver().

  • Common CUDA objects such as cudaStream_t now compare equal if the underlying address is the same.

  • Add a binding to nvvmGetErrorString().

  • Build the bindings with Cython profile hooks disabled.

  • The internal pathfinder module is now isolated to a standalone package cuda-pathfinder and made as a required dependency.

Known issues

  • 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.