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)

<<<<<<< HEAD - The default-stream singletons LEGACY_DEFAULT_STREAM and

PER_THREAD_DEFAULT_STREAM no longer cache the first context and device they observe. A default-stream token refers to whatever context is current, so Stream.context, Stream.device, Stream.resources, and Stream.record() now resolve against the current context on every call. Previously the first query pinned the singleton to one context for the lifetime of the process, which also kept that context alive. (#2485)

(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)

>>>>>>> origin/main

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.