cuda.core 1.2.0 Release Notes#

Fixes and enhancements#

  • Graph node resources are now retained independently across graph clones, executable graphs, updates, node deletion, and in-flight launches. Previously, modifying a graph definition could release resources still used by an existing executable graph. Releasing graph-attached objects could also call CUDA from a CUDA-invoked callback, where CUDA API calls are prohibited; these objects are now released from a safe context. (#2357, #2371)

  • Added update() methods to kernel, memcpy, memset, child-graph, event record, event wait, and host-callback graph definition nodes. Updates change parameters used by future graph instantiations without affecting existing executable graphs. This feature requires CUDA driver and cuda.bindings versions 12.2 or newer. (#2352)

  • Linker.which_backend() and constructing a Linker no longer raise FunctionNotFoundError when an nvJitLink older than 12.3 (12.0–12.2) is installed. These versions do not export the unversioned nvJitLinkVersion symbol, so probing the version crashed instead of falling back. cuda.core now warns and falls back to the driver (cuLink) backend, restoring the pre-0.7.0 behavior. (#2409, closes #2408)

Deprecation Notices#

  • Support for using cuda-core with Python 3.10 is deprecated and will be removed in a future version. Python 3.10 reaches end of life in October 2026 per the CPython support cycle.