cuda.core 1.1.1 Release Notes#
New features#
Added
ObjectCode.get_module()for interoperability with legacyCUmodule-based driver APIs. The method returns a context-dependentCUmodulehandle viacuLibraryGetModule, bridging the newer context-independent library API to existing code that expects a module. (#2339)cuda.coreC++ headers are now included in source distributions and installed wheels, making them available to downstream projects that extendcuda.coreat the C++ level. (#2236)
Fixes and enhancements#
This cuda-core patch release was issued to be compatible with cuda-bindings 13.4.0b1. Version strings that include PEP 440 pre-release suffixes (e.g.
0b1) are now parsed correctly; previously they caused anImportErroron startup.Graph nodes now properly retain per-node user-object attachments (kernel argument buffers, host-callback functions and user data, and memcpy/memset operands) for the full lifetime of the graph. (#2357)
Graph user-object payload cleanup is now deferred to the main Python thread via
Py_AddPendingCall, avoiding unsafe cross-thread Python object destruction that could occur when CUDA invoked the destructor callback on an internal driver thread. (#2371)The on-disk program cache directory is now created with owner-only permissions (
0o700) on POSIX systems, and those permissions are re-asserted on each use. This prevents other local users from reading or injecting cached device code regardless of the processumask. (#2399)DLPack: a
NULLdeleter in aDLManagedTensorVersionedcapsule is now handled correctly per the DLPack specification; previously it would cause a crash. (#2427)Corrected NumPy version guards for writing into DLPack host arrays. The minimum required NumPy version for such writes is now correctly enforced as 2.2.5+; earlier NumPy versions return a read-only buffer (
numpy GH#28632) and would error rather than skip. (#2238)