cuda-bindings 13.3.0 Release notes#

Highlights#

Bugfixes#

  • Fixed a use-after-free in cudaGraphGetEdges, cudaGraphNodeGetDependencies, cudaGraphNodeGetDependentNodes, cudaStreamGetCaptureInfo, and their driver-API counterparts (cuGraphGetEdges, cuGraphNodeGetDependencies, cuGraphNodeGetDependentNodes, cuStreamGetCaptureInfo). The returned cudaGraphEdgeData/CUgraphEdgeData wrappers were backed by a scratch buffer that was freed before the call returned, leaving every wrapper holding a dangling pointer. The returned wrappers now own deep copies of the edge data. (Issue #1804)

  • Fixed a double-free in the generated setters for list-valued struct members (e.g. CUlaunchConfig.attrs, CUDA_MEM_ALLOC_NODE_PARAMS.accessDescs, external-semaphore and batch-mem-op node parameter arrays, and their runtime counterparts). Assigning an empty list freed the internal buffer but left the cached pointer non-NULL, so a subsequent assignment or __dealloc__ would call free() again on the dangling pointer.

Miscellaneous#

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.