diff --git a/cuda_bindings/cuda/bindings/_lib/utils.pxd.in b/cuda_bindings/cuda/bindings/_lib/utils.pxd.in index 7b4adb9624..47b58063e2 100644 --- a/cuda_bindings/cuda/bindings/_lib/utils.pxd.in +++ b/cuda_bindings/cuda/bindings/_lib/utils.pxd.in @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: Copyright (c) 2021-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2021-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: LicenseRef-NVIDIA-SOFTWARE-LICENSE cimport cuda.bindings.driver as driver @@ -134,6 +134,7 @@ cdef class _HelperCUmemAllocationHandleType: {{endif}} cdef class _InputVoidPtrPtrHelper: + cdef object _references cdef void** _cptr {{if 'CUcoredumpSettings_enum' in found_types}} diff --git a/cuda_bindings/cuda/bindings/_lib/utils.pxi.in b/cuda_bindings/cuda/bindings/_lib/utils.pxi.in index f4b75741bc..471d36acc8 100644 --- a/cuda_bindings/cuda/bindings/_lib/utils.pxi.in +++ b/cuda_bindings/cuda/bindings/_lib/utils.pxi.in @@ -596,6 +596,9 @@ cdef class _HelperCUmemAllocationHandleType: cdef class _InputVoidPtrPtrHelper: def __cinit__(self, lst): + # Hold onto references to the original buffers so they + # won't be free'd behind our back + self._references = lst self._cptr = _callocWrapper(len(lst), sizeof(void*)) for idx in range(len(lst)): self._cptr[idx] = lst[idx].cptr diff --git a/cuda_bindings/cuda/bindings/driver.pxd.in b/cuda_bindings/cuda/bindings/driver.pxd.in index 9035d1f9d8..ed992b8bd0 100644 --- a/cuda_bindings/cuda/bindings/driver.pxd.in +++ b/cuda_bindings/cuda/bindings/driver.pxd.in @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: Copyright (c) 2021-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2021-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: LicenseRef-NVIDIA-SOFTWARE-LICENSE # This code was automatically generated with version 13.1.0. Do not modify it directly. @@ -1162,6 +1162,9 @@ cdef class CUaccessPolicyWindow_st: """ cdef cydriver.CUaccessPolicyWindow_st _pvt_val cdef cydriver.CUaccessPolicyWindow_st* _pvt_ptr + {{if 'CUaccessPolicyWindow_st.base_ptr' in found_struct}} + cdef _HelperInputVoidPtr _cybase_ptr + {{endif}} {{endif}} {{if 'CUDA_KERNEL_NODE_PARAMS_st' in found_struct}} @@ -1506,6 +1509,9 @@ cdef class CUDA_HOST_NODE_PARAMS_st: {{if 'CUDA_HOST_NODE_PARAMS_st.fn' in found_struct}} cdef CUhostFn _fn {{endif}} + {{if 'CUDA_HOST_NODE_PARAMS_st.userData' in found_struct}} + cdef _HelperInputVoidPtr _cyuserData + {{endif}} {{endif}} {{if 'CUDA_HOST_NODE_PARAMS_v2_st' in found_struct}} @@ -1534,6 +1540,9 @@ cdef class CUDA_HOST_NODE_PARAMS_v2_st: {{if 'CUDA_HOST_NODE_PARAMS_v2_st.fn' in found_struct}} cdef CUhostFn _fn {{endif}} + {{if 'CUDA_HOST_NODE_PARAMS_v2_st.userData' in found_struct}} + cdef _HelperInputVoidPtr _cyuserData + {{endif}} {{endif}} {{if 'CUDA_CONDITIONAL_NODE_PARAMS' in found_struct}} @@ -2186,6 +2195,9 @@ cdef class CUctxCigParam_st: """ cdef cydriver.CUctxCigParam_st _pvt_val cdef cydriver.CUctxCigParam_st* _pvt_ptr + {{if 'CUctxCigParam_st.sharedData' in found_struct}} + cdef _HelperInputVoidPtr _cysharedData + {{endif}} {{endif}} {{if 'CUctxCreateParams_st' in found_struct}} @@ -2255,6 +2267,12 @@ cdef class CUlibraryHostUniversalFunctionAndDataTable_st: """ cdef cydriver.CUlibraryHostUniversalFunctionAndDataTable_st _pvt_val cdef cydriver.CUlibraryHostUniversalFunctionAndDataTable_st* _pvt_ptr + {{if 'CUlibraryHostUniversalFunctionAndDataTable_st.functionTable' in found_struct}} + cdef _HelperInputVoidPtr _cyfunctionTable + {{endif}} + {{if 'CUlibraryHostUniversalFunctionAndDataTable_st.dataTable' in found_struct}} + cdef _HelperInputVoidPtr _cydataTable + {{endif}} {{endif}} {{if 'CUDA_MEMCPY2D_st' in found_struct}} @@ -2336,12 +2354,18 @@ cdef class CUDA_MEMCPY2D_st: """ cdef cydriver.CUDA_MEMCPY2D_st _pvt_val cdef cydriver.CUDA_MEMCPY2D_st* _pvt_ptr + {{if 'CUDA_MEMCPY2D_st.srcHost' in found_struct}} + cdef _HelperInputVoidPtr _cysrcHost + {{endif}} {{if 'CUDA_MEMCPY2D_st.srcDevice' in found_struct}} cdef CUdeviceptr _srcDevice {{endif}} {{if 'CUDA_MEMCPY2D_st.srcArray' in found_struct}} cdef CUarray _srcArray {{endif}} + {{if 'CUDA_MEMCPY2D_st.dstHost' in found_struct}} + cdef _HelperInputVoidPtr _cydstHost + {{endif}} {{if 'CUDA_MEMCPY2D_st.dstDevice' in found_struct}} cdef CUdeviceptr _dstDevice {{endif}} @@ -2466,18 +2490,30 @@ cdef class CUDA_MEMCPY3D_st: """ cdef cydriver.CUDA_MEMCPY3D_st _pvt_val cdef cydriver.CUDA_MEMCPY3D_st* _pvt_ptr + {{if 'CUDA_MEMCPY3D_st.srcHost' in found_struct}} + cdef _HelperInputVoidPtr _cysrcHost + {{endif}} {{if 'CUDA_MEMCPY3D_st.srcDevice' in found_struct}} cdef CUdeviceptr _srcDevice {{endif}} {{if 'CUDA_MEMCPY3D_st.srcArray' in found_struct}} cdef CUarray _srcArray {{endif}} + {{if 'CUDA_MEMCPY3D_st.reserved0' in found_struct}} + cdef _HelperInputVoidPtr _cyreserved0 + {{endif}} + {{if 'CUDA_MEMCPY3D_st.dstHost' in found_struct}} + cdef _HelperInputVoidPtr _cydstHost + {{endif}} {{if 'CUDA_MEMCPY3D_st.dstDevice' in found_struct}} cdef CUdeviceptr _dstDevice {{endif}} {{if 'CUDA_MEMCPY3D_st.dstArray' in found_struct}} cdef CUarray _dstArray {{endif}} + {{if 'CUDA_MEMCPY3D_st.reserved1' in found_struct}} + cdef _HelperInputVoidPtr _cyreserved1 + {{endif}} {{endif}} {{if 'CUDA_MEMCPY3D_PEER_st' in found_struct}} @@ -2597,6 +2633,9 @@ cdef class CUDA_MEMCPY3D_PEER_st: """ cdef cydriver.CUDA_MEMCPY3D_PEER_st _pvt_val cdef cydriver.CUDA_MEMCPY3D_PEER_st* _pvt_ptr + {{if 'CUDA_MEMCPY3D_PEER_st.srcHost' in found_struct}} + cdef _HelperInputVoidPtr _cysrcHost + {{endif}} {{if 'CUDA_MEMCPY3D_PEER_st.srcDevice' in found_struct}} cdef CUdeviceptr _srcDevice {{endif}} @@ -2606,6 +2645,9 @@ cdef class CUDA_MEMCPY3D_PEER_st: {{if 'CUDA_MEMCPY3D_PEER_st.srcContext' in found_struct}} cdef CUcontext _srcContext {{endif}} + {{if 'CUDA_MEMCPY3D_PEER_st.dstHost' in found_struct}} + cdef _HelperInputVoidPtr _cydstHost + {{endif}} {{if 'CUDA_MEMCPY3D_PEER_st.dstDevice' in found_struct}} cdef CUdeviceptr _dstDevice {{endif}} @@ -3284,6 +3326,12 @@ cdef class anon_struct12: Get memory address of class instance """ cdef cydriver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st* _pvt_ptr + {{if 'CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.handle.win32.handle' in found_struct}} + cdef _HelperInputVoidPtr _cyhandle + {{endif}} + {{if 'CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.handle.win32.name' in found_struct}} + cdef _HelperInputVoidPtr _cyname + {{endif}} {{endif}} {{if 'CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.handle' in found_struct}} @@ -3313,6 +3361,9 @@ cdef class anon_union5: {{if 'CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.handle.win32' in found_struct}} cdef anon_struct12 _win32 {{endif}} + {{if 'CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.handle.nvSciBufObject' in found_struct}} + cdef _HelperInputVoidPtr _cynvSciBufObject + {{endif}} {{endif}} {{if 'CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st' in found_struct}} @@ -3445,6 +3496,12 @@ cdef class anon_struct13: Get memory address of class instance """ cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st* _pvt_ptr + {{if 'CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.handle.win32.handle' in found_struct}} + cdef _HelperInputVoidPtr _cyhandle + {{endif}} + {{if 'CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.handle.win32.name' in found_struct}} + cdef _HelperInputVoidPtr _cyname + {{endif}} {{endif}} {{if 'CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.handle' in found_struct}} @@ -3474,6 +3531,9 @@ cdef class anon_union6: {{if 'CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.handle.win32' in found_struct}} cdef anon_struct13 _win32 {{endif}} + {{if 'CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.handle.nvSciSyncObj' in found_struct}} + cdef _HelperInputVoidPtr _cynvSciSyncObj + {{endif}} {{endif}} {{if 'CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st' in found_struct}} @@ -3550,6 +3610,9 @@ cdef class anon_union7: Get memory address of class instance """ cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st* _pvt_ptr + {{if 'CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.params.nvSciSync.fence' in found_struct}} + cdef _HelperInputVoidPtr _cyfence + {{endif}} {{endif}} {{if 'CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.params.keyedMutex' in found_struct}} @@ -3686,6 +3749,9 @@ cdef class anon_union8: Get memory address of class instance """ cdef cydriver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st* _pvt_ptr + {{if 'CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.params.nvSciSync.fence' in found_struct}} + cdef _HelperInputVoidPtr _cyfence + {{endif}} {{endif}} {{if 'CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.params.keyedMutex' in found_struct}} @@ -4257,6 +4323,9 @@ cdef class CUmemAllocationProp_st: {{if 'CUmemAllocationProp_st.location' in found_struct}} cdef CUmemLocation _location {{endif}} + {{if 'CUmemAllocationProp_st.win32HandleMetaData' in found_struct}} + cdef _HelperInputVoidPtr _cywin32HandleMetaData + {{endif}} {{if 'CUmemAllocationProp_st.allocFlags' in found_struct}} cdef anon_struct22 _allocFlags {{endif}} @@ -4416,6 +4485,9 @@ cdef class CUmemPoolProps_st: {{if 'CUmemPoolProps_st.location' in found_struct}} cdef CUmemLocation _location {{endif}} + {{if 'CUmemPoolProps_st.win32SecurityAttributes' in found_struct}} + cdef _HelperInputVoidPtr _cywin32SecurityAttributes + {{endif}} {{endif}} {{if 'CUmemPoolPtrExportData_st' in found_struct}} @@ -5232,6 +5304,12 @@ cdef class CUmemDecompressParams_st: """ cdef cydriver.CUmemDecompressParams_st _pvt_val cdef cydriver.CUmemDecompressParams_st* _pvt_ptr + {{if 'CUmemDecompressParams_st.src' in found_struct}} + cdef _HelperInputVoidPtr _cysrc + {{endif}} + {{if 'CUmemDecompressParams_st.dst' in found_struct}} + cdef _HelperInputVoidPtr _cydst + {{endif}} {{endif}} {{if 'CUdevSmResource_st' in found_struct}} diff --git a/cuda_bindings/cuda/bindings/driver.pyx.in b/cuda_bindings/cuda/bindings/driver.pyx.in index 34a4759195..9a4535c1c7 100644 --- a/cuda_bindings/cuda/bindings/driver.pyx.in +++ b/cuda_bindings/cuda/bindings/driver.pyx.in @@ -11501,8 +11501,8 @@ cdef class CUaccessPolicyWindow_st: return self._pvt_ptr[0].base_ptr @base_ptr.setter def base_ptr(self, base_ptr): - _cbase_ptr = _HelperInputVoidPtr(base_ptr) - self._pvt_ptr[0].base_ptr = _cbase_ptr.cptr + self._cybase_ptr = _HelperInputVoidPtr(base_ptr) + self._pvt_ptr[0].base_ptr = self._cybase_ptr.cptr {{endif}} {{if 'CUaccessPolicyWindow_st.num_bytes' in found_struct}} @property @@ -12749,8 +12749,8 @@ cdef class CUDA_HOST_NODE_PARAMS_st: return self._pvt_ptr[0].userData @userData.setter def userData(self, userData): - _cuserData = _HelperInputVoidPtr(userData) - self._pvt_ptr[0].userData = _cuserData.cptr + self._cyuserData = _HelperInputVoidPtr(userData) + self._pvt_ptr[0].userData = self._cyuserData.cptr {{endif}} {{endif}} {{if 'CUDA_HOST_NODE_PARAMS_v2_st' in found_struct}} @@ -12830,8 +12830,8 @@ cdef class CUDA_HOST_NODE_PARAMS_v2_st: return self._pvt_ptr[0].userData @userData.setter def userData(self, userData): - _cuserData = _HelperInputVoidPtr(userData) - self._pvt_ptr[0].userData = _cuserData.cptr + self._cyuserData = _HelperInputVoidPtr(userData) + self._pvt_ptr[0].userData = self._cyuserData.cptr {{endif}} {{endif}} {{if 'CUDA_CONDITIONAL_NODE_PARAMS' in found_struct}} @@ -14693,8 +14693,8 @@ cdef class CUctxCigParam_st: return self._pvt_ptr[0].sharedData @sharedData.setter def sharedData(self, sharedData): - _csharedData = _HelperInputVoidPtr(sharedData) - self._pvt_ptr[0].sharedData = _csharedData.cptr + self._cysharedData = _HelperInputVoidPtr(sharedData) + self._pvt_ptr[0].sharedData = self._cysharedData.cptr {{endif}} {{endif}} {{if 'CUctxCreateParams_st' in found_struct}} @@ -14897,8 +14897,8 @@ cdef class CUlibraryHostUniversalFunctionAndDataTable_st: return self._pvt_ptr[0].functionTable @functionTable.setter def functionTable(self, functionTable): - _cfunctionTable = _HelperInputVoidPtr(functionTable) - self._pvt_ptr[0].functionTable = _cfunctionTable.cptr + self._cyfunctionTable = _HelperInputVoidPtr(functionTable) + self._pvt_ptr[0].functionTable = self._cyfunctionTable.cptr {{endif}} {{if 'CUlibraryHostUniversalFunctionAndDataTable_st.functionWindowSize' in found_struct}} @property @@ -14914,8 +14914,8 @@ cdef class CUlibraryHostUniversalFunctionAndDataTable_st: return self._pvt_ptr[0].dataTable @dataTable.setter def dataTable(self, dataTable): - _cdataTable = _HelperInputVoidPtr(dataTable) - self._pvt_ptr[0].dataTable = _cdataTable.cptr + self._cydataTable = _HelperInputVoidPtr(dataTable) + self._pvt_ptr[0].dataTable = self._cydataTable.cptr {{endif}} {{if 'CUlibraryHostUniversalFunctionAndDataTable_st.dataWindowSize' in found_struct}} @property @@ -15159,8 +15159,8 @@ cdef class CUDA_MEMCPY2D_st: return self._pvt_ptr[0].srcHost @srcHost.setter def srcHost(self, srcHost): - _csrcHost = _HelperInputVoidPtr(srcHost) - self._pvt_ptr[0].srcHost = _csrcHost.cptr + self._cysrcHost = _HelperInputVoidPtr(srcHost) + self._pvt_ptr[0].srcHost = self._cysrcHost.cptr {{endif}} {{if 'CUDA_MEMCPY2D_st.srcDevice' in found_struct}} @property @@ -15235,8 +15235,8 @@ cdef class CUDA_MEMCPY2D_st: return self._pvt_ptr[0].dstHost @dstHost.setter def dstHost(self, dstHost): - _cdstHost = _HelperInputVoidPtr(dstHost) - self._pvt_ptr[0].dstHost = _cdstHost.cptr + self._cydstHost = _HelperInputVoidPtr(dstHost) + self._pvt_ptr[0].dstHost = self._cydstHost.cptr {{endif}} {{if 'CUDA_MEMCPY2D_st.dstDevice' in found_struct}} @property @@ -15638,8 +15638,8 @@ cdef class CUDA_MEMCPY3D_st: return self._pvt_ptr[0].srcHost @srcHost.setter def srcHost(self, srcHost): - _csrcHost = _HelperInputVoidPtr(srcHost) - self._pvt_ptr[0].srcHost = _csrcHost.cptr + self._cysrcHost = _HelperInputVoidPtr(srcHost) + self._pvt_ptr[0].srcHost = self._cysrcHost.cptr {{endif}} {{if 'CUDA_MEMCPY3D_st.srcDevice' in found_struct}} @property @@ -15682,8 +15682,8 @@ cdef class CUDA_MEMCPY3D_st: return self._pvt_ptr[0].reserved0 @reserved0.setter def reserved0(self, reserved0): - _creserved0 = _HelperInputVoidPtr(reserved0) - self._pvt_ptr[0].reserved0 = _creserved0.cptr + self._cyreserved0 = _HelperInputVoidPtr(reserved0) + self._pvt_ptr[0].reserved0 = self._cyreserved0.cptr {{endif}} {{if 'CUDA_MEMCPY3D_st.srcPitch' in found_struct}} @property @@ -15747,8 +15747,8 @@ cdef class CUDA_MEMCPY3D_st: return self._pvt_ptr[0].dstHost @dstHost.setter def dstHost(self, dstHost): - _cdstHost = _HelperInputVoidPtr(dstHost) - self._pvt_ptr[0].dstHost = _cdstHost.cptr + self._cydstHost = _HelperInputVoidPtr(dstHost) + self._pvt_ptr[0].dstHost = self._cydstHost.cptr {{endif}} {{if 'CUDA_MEMCPY3D_st.dstDevice' in found_struct}} @property @@ -15791,8 +15791,8 @@ cdef class CUDA_MEMCPY3D_st: return self._pvt_ptr[0].reserved1 @reserved1.setter def reserved1(self, reserved1): - _creserved1 = _HelperInputVoidPtr(reserved1) - self._pvt_ptr[0].reserved1 = _creserved1.cptr + self._cyreserved1 = _HelperInputVoidPtr(reserved1) + self._pvt_ptr[0].reserved1 = self._cyreserved1.cptr {{endif}} {{if 'CUDA_MEMCPY3D_st.dstPitch' in found_struct}} @property @@ -16182,8 +16182,8 @@ cdef class CUDA_MEMCPY3D_PEER_st: return self._pvt_ptr[0].srcHost @srcHost.setter def srcHost(self, srcHost): - _csrcHost = _HelperInputVoidPtr(srcHost) - self._pvt_ptr[0].srcHost = _csrcHost.cptr + self._cysrcHost = _HelperInputVoidPtr(srcHost) + self._pvt_ptr[0].srcHost = self._cysrcHost.cptr {{endif}} {{if 'CUDA_MEMCPY3D_PEER_st.srcDevice' in found_struct}} @property @@ -16299,8 +16299,8 @@ cdef class CUDA_MEMCPY3D_PEER_st: return self._pvt_ptr[0].dstHost @dstHost.setter def dstHost(self, dstHost): - _cdstHost = _HelperInputVoidPtr(dstHost) - self._pvt_ptr[0].dstHost = _cdstHost.cptr + self._cydstHost = _HelperInputVoidPtr(dstHost) + self._pvt_ptr[0].dstHost = self._cydstHost.cptr {{endif}} {{if 'CUDA_MEMCPY3D_PEER_st.dstDevice' in found_struct}} @property @@ -18516,8 +18516,8 @@ cdef class anon_struct12: return self._pvt_ptr[0].handle.win32.handle @handle.setter def handle(self, handle): - _chandle = _HelperInputVoidPtr(handle) - self._pvt_ptr[0].handle.win32.handle = _chandle.cptr + self._cyhandle = _HelperInputVoidPtr(handle) + self._pvt_ptr[0].handle.win32.handle = self._cyhandle.cptr {{endif}} {{if 'CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.handle.win32.name' in found_struct}} @property @@ -18525,8 +18525,8 @@ cdef class anon_struct12: return self._pvt_ptr[0].handle.win32.name @name.setter def name(self, name): - _cname = _HelperInputVoidPtr(name) - self._pvt_ptr[0].handle.win32.name = _cname.cptr + self._cyname = _HelperInputVoidPtr(name) + self._pvt_ptr[0].handle.win32.name = self._cyname.cptr {{endif}} {{endif}} {{if 'CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.handle' in found_struct}} @@ -18611,8 +18611,8 @@ cdef class anon_union5: return self._pvt_ptr[0].handle.nvSciBufObject @nvSciBufObject.setter def nvSciBufObject(self, nvSciBufObject): - _cnvSciBufObject = _HelperInputVoidPtr(nvSciBufObject) - self._pvt_ptr[0].handle.nvSciBufObject = _cnvSciBufObject.cptr + self._cynvSciBufObject = _HelperInputVoidPtr(nvSciBufObject) + self._pvt_ptr[0].handle.nvSciBufObject = self._cynvSciBufObject.cptr {{endif}} {{endif}} {{if 'CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st' in found_struct}} @@ -19007,8 +19007,8 @@ cdef class anon_struct13: return self._pvt_ptr[0].handle.win32.handle @handle.setter def handle(self, handle): - _chandle = _HelperInputVoidPtr(handle) - self._pvt_ptr[0].handle.win32.handle = _chandle.cptr + self._cyhandle = _HelperInputVoidPtr(handle) + self._pvt_ptr[0].handle.win32.handle = self._cyhandle.cptr {{endif}} {{if 'CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.handle.win32.name' in found_struct}} @property @@ -19016,8 +19016,8 @@ cdef class anon_struct13: return self._pvt_ptr[0].handle.win32.name @name.setter def name(self, name): - _cname = _HelperInputVoidPtr(name) - self._pvt_ptr[0].handle.win32.name = _cname.cptr + self._cyname = _HelperInputVoidPtr(name) + self._pvt_ptr[0].handle.win32.name = self._cyname.cptr {{endif}} {{endif}} {{if 'CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.handle' in found_struct}} @@ -19102,8 +19102,8 @@ cdef class anon_union6: return self._pvt_ptr[0].handle.nvSciSyncObj @nvSciSyncObj.setter def nvSciSyncObj(self, nvSciSyncObj): - _cnvSciSyncObj = _HelperInputVoidPtr(nvSciSyncObj) - self._pvt_ptr[0].handle.nvSciSyncObj = _cnvSciSyncObj.cptr + self._cynvSciSyncObj = _HelperInputVoidPtr(nvSciSyncObj) + self._pvt_ptr[0].handle.nvSciSyncObj = self._cynvSciSyncObj.cptr {{endif}} {{endif}} {{if 'CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st' in found_struct}} @@ -19314,8 +19314,8 @@ cdef class anon_union7: return self._pvt_ptr[0].params.nvSciSync.fence @fence.setter def fence(self, fence): - _cfence = _HelperInputVoidPtr(fence) - self._pvt_ptr[0].params.nvSciSync.fence = _cfence.cptr + self._cyfence = _HelperInputVoidPtr(fence) + self._pvt_ptr[0].params.nvSciSync.fence = self._cyfence.cptr {{endif}} {{if 'CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.params.nvSciSync.reserved' in found_struct}} @property @@ -19676,8 +19676,8 @@ cdef class anon_union8: return self._pvt_ptr[0].params.nvSciSync.fence @fence.setter def fence(self, fence): - _cfence = _HelperInputVoidPtr(fence) - self._pvt_ptr[0].params.nvSciSync.fence = _cfence.cptr + self._cyfence = _HelperInputVoidPtr(fence) + self._pvt_ptr[0].params.nvSciSync.fence = self._cyfence.cptr {{endif}} {{if 'CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.params.nvSciSync.reserved' in found_struct}} @property @@ -21462,8 +21462,8 @@ cdef class CUmemAllocationProp_st: return self._pvt_ptr[0].win32HandleMetaData @win32HandleMetaData.setter def win32HandleMetaData(self, win32HandleMetaData): - _cwin32HandleMetaData = _HelperInputVoidPtr(win32HandleMetaData) - self._pvt_ptr[0].win32HandleMetaData = _cwin32HandleMetaData.cptr + self._cywin32HandleMetaData = _HelperInputVoidPtr(win32HandleMetaData) + self._pvt_ptr[0].win32HandleMetaData = self._cywin32HandleMetaData.cptr {{endif}} {{if 'CUmemAllocationProp_st.allocFlags' in found_struct}} @property @@ -21905,8 +21905,8 @@ cdef class CUmemPoolProps_st: return self._pvt_ptr[0].win32SecurityAttributes @win32SecurityAttributes.setter def win32SecurityAttributes(self, win32SecurityAttributes): - _cwin32SecurityAttributes = _HelperInputVoidPtr(win32SecurityAttributes) - self._pvt_ptr[0].win32SecurityAttributes = _cwin32SecurityAttributes.cptr + self._cywin32SecurityAttributes = _HelperInputVoidPtr(win32SecurityAttributes) + self._pvt_ptr[0].win32SecurityAttributes = self._cywin32SecurityAttributes.cptr {{endif}} {{if 'CUmemPoolProps_st.maxSize' in found_struct}} @property @@ -24265,8 +24265,8 @@ cdef class CUmemDecompressParams_st: return self._pvt_ptr[0].src @src.setter def src(self, src): - _csrc = _HelperInputVoidPtr(src) - self._pvt_ptr[0].src = _csrc.cptr + self._cysrc = _HelperInputVoidPtr(src) + self._pvt_ptr[0].src = self._cysrc.cptr {{endif}} {{if 'CUmemDecompressParams_st.dst' in found_struct}} @property @@ -24274,8 +24274,8 @@ cdef class CUmemDecompressParams_st: return self._pvt_ptr[0].dst @dst.setter def dst(self, dst): - _cdst = _HelperInputVoidPtr(dst) - self._pvt_ptr[0].dst = _cdst.cptr + self._cydst = _HelperInputVoidPtr(dst) + self._pvt_ptr[0].dst = self._cydst.cptr {{endif}} {{if 'CUmemDecompressParams_st.algo' in found_struct}} @property diff --git a/cuda_bindings/cuda/bindings/runtime.pxd.in b/cuda_bindings/cuda/bindings/runtime.pxd.in index 889f4cbaf4..6d88763abb 100644 --- a/cuda_bindings/cuda/bindings/runtime.pxd.in +++ b/cuda_bindings/cuda/bindings/runtime.pxd.in @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: Copyright (c) 2021-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2021-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: LicenseRef-NVIDIA-SOFTWARE-LICENSE # This code was automatically generated with version 13.1.0. Do not modify it directly. @@ -539,6 +539,9 @@ cdef class cudaPitchedPtr: """ cdef cyruntime.cudaPitchedPtr _pvt_val cdef cyruntime.cudaPitchedPtr* _pvt_ptr + {{if 'cudaPitchedPtr.ptr' in found_struct}} + cdef _HelperInputVoidPtr _cyptr + {{endif}} {{endif}} {{if 'cudaExtent' in found_struct}} @@ -823,6 +826,9 @@ cdef class cudaMemsetParams: """ cdef cyruntime.cudaMemsetParams _pvt_val cdef cyruntime.cudaMemsetParams* _pvt_ptr + {{if 'cudaMemsetParams.dst' in found_struct}} + cdef _HelperInputVoidPtr _cydst + {{endif}} {{endif}} {{if 'cudaMemsetParamsV2' in found_struct}} @@ -869,6 +875,9 @@ cdef class cudaMemsetParamsV2: """ cdef cyruntime.cudaMemsetParamsV2 _pvt_val cdef cyruntime.cudaMemsetParamsV2* _pvt_ptr + {{if 'cudaMemsetParamsV2.dst' in found_struct}} + cdef _HelperInputVoidPtr _cydst + {{endif}} {{if 'cudaMemsetParamsV2.ctx' in found_struct}} cdef cudaExecutionContext_t _ctx {{endif}} @@ -920,6 +929,9 @@ cdef class cudaAccessPolicyWindow: """ cdef cyruntime.cudaAccessPolicyWindow _pvt_val cdef cyruntime.cudaAccessPolicyWindow* _pvt_ptr + {{if 'cudaAccessPolicyWindow.base_ptr' in found_struct}} + cdef _HelperInputVoidPtr _cybase_ptr + {{endif}} {{endif}} {{if 'cudaHostNodeParams' in found_struct}} @@ -948,6 +960,9 @@ cdef class cudaHostNodeParams: {{if 'cudaHostNodeParams.fn' in found_struct}} cdef cudaHostFn_t _fn {{endif}} + {{if 'cudaHostNodeParams.userData' in found_struct}} + cdef _HelperInputVoidPtr _cyuserData + {{endif}} {{endif}} {{if 'cudaHostNodeParamsV2' in found_struct}} @@ -976,6 +991,9 @@ cdef class cudaHostNodeParamsV2: {{if 'cudaHostNodeParamsV2.fn' in found_struct}} cdef cudaHostFn_t _fn {{endif}} + {{if 'cudaHostNodeParamsV2.userData' in found_struct}} + cdef _HelperInputVoidPtr _cyuserData + {{endif}} {{endif}} {{if 'cudaResourceDesc.res.array' in found_struct}} @@ -1044,6 +1062,9 @@ cdef class anon_struct3: Get memory address of class instance """ cdef cyruntime.cudaResourceDesc* _pvt_ptr + {{if 'cudaResourceDesc.res.linear.devPtr' in found_struct}} + cdef _HelperInputVoidPtr _cydevPtr + {{endif}} {{if 'cudaResourceDesc.res.linear.desc' in found_struct}} cdef cudaChannelFormatDesc _desc {{endif}} @@ -1081,6 +1102,9 @@ cdef class anon_struct4: Get memory address of class instance """ cdef cyruntime.cudaResourceDesc* _pvt_ptr + {{if 'cudaResourceDesc.res.pitch2D.devPtr' in found_struct}} + cdef _HelperInputVoidPtr _cydevPtr + {{endif}} {{if 'cudaResourceDesc.res.pitch2D.desc' in found_struct}} cdef cudaChannelFormatDesc _desc {{endif}} @@ -1284,6 +1308,12 @@ cdef class cudaPointerAttributes: """ cdef cyruntime.cudaPointerAttributes _pvt_val cdef cyruntime.cudaPointerAttributes* _pvt_ptr + {{if 'cudaPointerAttributes.devicePointer' in found_struct}} + cdef _HelperInputVoidPtr _cydevicePointer + {{endif}} + {{if 'cudaPointerAttributes.hostPointer' in found_struct}} + cdef _HelperInputVoidPtr _cyhostPointer + {{endif}} {{endif}} {{if 'cudaFuncAttributes' in found_struct}} @@ -1516,6 +1546,9 @@ cdef class cudaMemPoolProps: {{if 'cudaMemPoolProps.location' in found_struct}} cdef cudaMemLocation _location {{endif}} + {{if 'cudaMemPoolProps.win32SecurityAttributes' in found_struct}} + cdef _HelperInputVoidPtr _cywin32SecurityAttributes + {{endif}} {{endif}} {{if 'cudaMemPoolPtrExportData' in found_struct}} @@ -1585,6 +1618,9 @@ cdef class cudaMemAllocNodeParams: cdef size_t _accessDescs_length cdef cyruntime.cudaMemAccessDesc* _accessDescs {{endif}} + {{if 'cudaMemAllocNodeParams.dptr' in found_struct}} + cdef _HelperInputVoidPtr _cydptr + {{endif}} {{endif}} {{if 'cudaMemAllocNodeParamsV2' in found_struct}} @@ -1633,6 +1669,9 @@ cdef class cudaMemAllocNodeParamsV2: cdef size_t _accessDescs_length cdef cyruntime.cudaMemAccessDesc* _accessDescs {{endif}} + {{if 'cudaMemAllocNodeParamsV2.dptr' in found_struct}} + cdef _HelperInputVoidPtr _cydptr + {{endif}} {{endif}} {{if 'cudaMemFreeNodeParams' in found_struct}} @@ -1654,6 +1693,9 @@ cdef class cudaMemFreeNodeParams: """ cdef cyruntime.cudaMemFreeNodeParams _pvt_val cdef cyruntime.cudaMemFreeNodeParams* _pvt_ptr + {{if 'cudaMemFreeNodeParams.dptr' in found_struct}} + cdef _HelperInputVoidPtr _cydptr + {{endif}} {{endif}} {{if 'cudaMemcpyAttributes' in found_struct}} @@ -1757,6 +1799,9 @@ cdef class anon_struct6: Get memory address of class instance """ cdef cyruntime.cudaMemcpy3DOperand* _pvt_ptr + {{if 'cudaMemcpy3DOperand.op.ptr.ptr' in found_struct}} + cdef _HelperInputVoidPtr _cyptr + {{endif}} {{if 'cudaMemcpy3DOperand.op.ptr.locHint' in found_struct}} cdef cudaMemLocation _locHint {{endif}} @@ -2406,6 +2451,12 @@ cdef class anon_struct8: Get memory address of class instance """ cdef cyruntime.cudaExternalMemoryHandleDesc* _pvt_ptr + {{if 'cudaExternalMemoryHandleDesc.handle.win32.handle' in found_struct}} + cdef _HelperInputVoidPtr _cyhandle + {{endif}} + {{if 'cudaExternalMemoryHandleDesc.handle.win32.name' in found_struct}} + cdef _HelperInputVoidPtr _cyname + {{endif}} {{endif}} {{if 'cudaExternalMemoryHandleDesc.handle' in found_struct}} @@ -2435,6 +2486,9 @@ cdef class anon_union2: {{if 'cudaExternalMemoryHandleDesc.handle.win32' in found_struct}} cdef anon_struct8 _win32 {{endif}} + {{if 'cudaExternalMemoryHandleDesc.handle.nvSciBufObject' in found_struct}} + cdef _HelperInputVoidPtr _cynvSciBufObject + {{endif}} {{endif}} {{if 'cudaExternalMemoryHandleDesc' in found_struct}} @@ -2579,6 +2633,12 @@ cdef class anon_struct9: Get memory address of class instance """ cdef cyruntime.cudaExternalSemaphoreHandleDesc* _pvt_ptr + {{if 'cudaExternalSemaphoreHandleDesc.handle.win32.handle' in found_struct}} + cdef _HelperInputVoidPtr _cyhandle + {{endif}} + {{if 'cudaExternalSemaphoreHandleDesc.handle.win32.name' in found_struct}} + cdef _HelperInputVoidPtr _cyname + {{endif}} {{endif}} {{if 'cudaExternalSemaphoreHandleDesc.handle' in found_struct}} @@ -2608,6 +2668,9 @@ cdef class anon_union3: {{if 'cudaExternalSemaphoreHandleDesc.handle.win32' in found_struct}} cdef anon_struct9 _win32 {{endif}} + {{if 'cudaExternalSemaphoreHandleDesc.handle.nvSciSyncObj' in found_struct}} + cdef _HelperInputVoidPtr _cynvSciSyncObj + {{endif}} {{endif}} {{if 'cudaExternalSemaphoreHandleDesc' in found_struct}} @@ -2684,6 +2747,9 @@ cdef class anon_union4: Get memory address of class instance """ cdef cyruntime.cudaExternalSemaphoreSignalParams* _pvt_ptr + {{if 'cudaExternalSemaphoreSignalParams.params.nvSciSync.fence' in found_struct}} + cdef _HelperInputVoidPtr _cyfence + {{endif}} {{endif}} {{if 'cudaExternalSemaphoreSignalParams.params.keyedMutex' in found_struct}} @@ -2820,6 +2886,9 @@ cdef class anon_union5: Get memory address of class instance """ cdef cyruntime.cudaExternalSemaphoreWaitParams* _pvt_ptr + {{if 'cudaExternalSemaphoreWaitParams.params.nvSciSync.fence' in found_struct}} + cdef _HelperInputVoidPtr _cyfence + {{endif}} {{endif}} {{if 'cudaExternalSemaphoreWaitParams.params.keyedMutex' in found_struct}} @@ -3153,6 +3222,12 @@ cdef class cudalibraryHostUniversalFunctionAndDataTable: """ cdef cyruntime.cudalibraryHostUniversalFunctionAndDataTable _pvt_val cdef cyruntime.cudalibraryHostUniversalFunctionAndDataTable* _pvt_ptr + {{if 'cudalibraryHostUniversalFunctionAndDataTable.functionTable' in found_struct}} + cdef _HelperInputVoidPtr _cyfunctionTable + {{endif}} + {{if 'cudalibraryHostUniversalFunctionAndDataTable.dataTable' in found_struct}} + cdef _HelperInputVoidPtr _cydataTable + {{endif}} {{endif}} {{if 'cudaKernelNodeParams' in found_struct}} @@ -3194,6 +3269,9 @@ cdef class cudaKernelNodeParams: """ cdef cyruntime.cudaKernelNodeParams _pvt_val cdef cyruntime.cudaKernelNodeParams* _pvt_ptr + {{if 'cudaKernelNodeParams.func' in found_struct}} + cdef _HelperInputVoidPtr _cyfunc + {{endif}} {{if 'cudaKernelNodeParams.gridDim' in found_struct}} cdef dim3 _gridDim {{endif}} @@ -3249,6 +3327,9 @@ cdef class cudaKernelNodeParamsV2: """ cdef cyruntime.cudaKernelNodeParamsV2 _pvt_val cdef cyruntime.cudaKernelNodeParamsV2* _pvt_ptr + {{if 'cudaKernelNodeParamsV2.func' in found_struct}} + cdef _HelperInputVoidPtr _cyfunc + {{endif}} {{if 'cudaKernelNodeParamsV2.gridDim' in found_struct}} cdef dim3 _gridDim {{endif}} @@ -3830,6 +3911,9 @@ cdef class anon_struct16: Get memory address of class instance """ cdef cyruntime.cudaGraphKernelNodeUpdate* _pvt_ptr + {{if 'cudaGraphKernelNodeUpdate.updateData.param.pValue' in found_struct}} + cdef _HelperInputVoidPtr _cypValue + {{endif}} {{endif}} {{if 'cudaGraphKernelNodeUpdate.updateData' in found_struct}} diff --git a/cuda_bindings/cuda/bindings/runtime.pyx.in b/cuda_bindings/cuda/bindings/runtime.pyx.in index c63d1c8116..fac1de4ff9 100644 --- a/cuda_bindings/cuda/bindings/runtime.pyx.in +++ b/cuda_bindings/cuda/bindings/runtime.pyx.in @@ -8033,8 +8033,8 @@ cdef class cudaPitchedPtr: return self._pvt_ptr[0].ptr @ptr.setter def ptr(self, ptr): - _cptr = _HelperInputVoidPtr(ptr) - self._pvt_ptr[0].ptr = _cptr.cptr + self._cyptr = _HelperInputVoidPtr(ptr) + self._pvt_ptr[0].ptr = self._cyptr.cptr {{endif}} {{if 'cudaPitchedPtr.pitch' in found_struct}} @property @@ -8899,8 +8899,8 @@ cdef class cudaMemsetParams: return self._pvt_ptr[0].dst @dst.setter def dst(self, dst): - _cdst = _HelperInputVoidPtr(dst) - self._pvt_ptr[0].dst = _cdst.cptr + self._cydst = _HelperInputVoidPtr(dst) + self._pvt_ptr[0].dst = self._cydst.cptr {{endif}} {{if 'cudaMemsetParams.pitch' in found_struct}} @property @@ -9054,8 +9054,8 @@ cdef class cudaMemsetParamsV2: return self._pvt_ptr[0].dst @dst.setter def dst(self, dst): - _cdst = _HelperInputVoidPtr(dst) - self._pvt_ptr[0].dst = _cdst.cptr + self._cydst = _HelperInputVoidPtr(dst) + self._pvt_ptr[0].dst = self._cydst.cptr {{endif}} {{if 'cudaMemsetParamsV2.pitch' in found_struct}} @property @@ -9213,8 +9213,8 @@ cdef class cudaAccessPolicyWindow: return self._pvt_ptr[0].base_ptr @base_ptr.setter def base_ptr(self, base_ptr): - _cbase_ptr = _HelperInputVoidPtr(base_ptr) - self._pvt_ptr[0].base_ptr = _cbase_ptr.cptr + self._cybase_ptr = _HelperInputVoidPtr(base_ptr) + self._pvt_ptr[0].base_ptr = self._cybase_ptr.cptr {{endif}} {{if 'cudaAccessPolicyWindow.num_bytes' in found_struct}} @property @@ -9326,8 +9326,8 @@ cdef class cudaHostNodeParams: return self._pvt_ptr[0].userData @userData.setter def userData(self, userData): - _cuserData = _HelperInputVoidPtr(userData) - self._pvt_ptr[0].userData = _cuserData.cptr + self._cyuserData = _HelperInputVoidPtr(userData) + self._pvt_ptr[0].userData = self._cyuserData.cptr {{endif}} {{endif}} {{if 'cudaHostNodeParamsV2' in found_struct}} @@ -9407,8 +9407,8 @@ cdef class cudaHostNodeParamsV2: return self._pvt_ptr[0].userData @userData.setter def userData(self, userData): - _cuserData = _HelperInputVoidPtr(userData) - self._pvt_ptr[0].userData = _cuserData.cptr + self._cyuserData = _HelperInputVoidPtr(userData) + self._pvt_ptr[0].userData = self._cyuserData.cptr {{endif}} {{endif}} {{if 'cudaResourceDesc.res.array' in found_struct}} @@ -9593,8 +9593,8 @@ cdef class anon_struct3: return self._pvt_ptr[0].res.linear.devPtr @devPtr.setter def devPtr(self, devPtr): - _cdevPtr = _HelperInputVoidPtr(devPtr) - self._pvt_ptr[0].res.linear.devPtr = _cdevPtr.cptr + self._cydevPtr = _HelperInputVoidPtr(devPtr) + self._pvt_ptr[0].res.linear.devPtr = self._cydevPtr.cptr {{endif}} {{if 'cudaResourceDesc.res.linear.desc' in found_struct}} @property @@ -9699,8 +9699,8 @@ cdef class anon_struct4: return self._pvt_ptr[0].res.pitch2D.devPtr @devPtr.setter def devPtr(self, devPtr): - _cdevPtr = _HelperInputVoidPtr(devPtr) - self._pvt_ptr[0].res.pitch2D.devPtr = _cdevPtr.cptr + self._cydevPtr = _HelperInputVoidPtr(devPtr) + self._pvt_ptr[0].res.pitch2D.devPtr = self._cydevPtr.cptr {{endif}} {{if 'cudaResourceDesc.res.pitch2D.desc' in found_struct}} @property @@ -10313,8 +10313,8 @@ cdef class cudaPointerAttributes: return self._pvt_ptr[0].devicePointer @devicePointer.setter def devicePointer(self, devicePointer): - _cdevicePointer = _HelperInputVoidPtr(devicePointer) - self._pvt_ptr[0].devicePointer = _cdevicePointer.cptr + self._cydevicePointer = _HelperInputVoidPtr(devicePointer) + self._pvt_ptr[0].devicePointer = self._cydevicePointer.cptr {{endif}} {{if 'cudaPointerAttributes.hostPointer' in found_struct}} @property @@ -10322,8 +10322,8 @@ cdef class cudaPointerAttributes: return self._pvt_ptr[0].hostPointer @hostPointer.setter def hostPointer(self, hostPointer): - _chostPointer = _HelperInputVoidPtr(hostPointer) - self._pvt_ptr[0].hostPointer = _chostPointer.cptr + self._cyhostPointer = _HelperInputVoidPtr(hostPointer) + self._pvt_ptr[0].hostPointer = self._cyhostPointer.cptr {{endif}} {{if 'cudaPointerAttributes.reserved' in found_struct}} @property @@ -10991,8 +10991,8 @@ cdef class cudaMemPoolProps: return self._pvt_ptr[0].win32SecurityAttributes @win32SecurityAttributes.setter def win32SecurityAttributes(self, win32SecurityAttributes): - _cwin32SecurityAttributes = _HelperInputVoidPtr(win32SecurityAttributes) - self._pvt_ptr[0].win32SecurityAttributes = _cwin32SecurityAttributes.cptr + self._cywin32SecurityAttributes = _HelperInputVoidPtr(win32SecurityAttributes) + self._pvt_ptr[0].win32SecurityAttributes = self._cywin32SecurityAttributes.cptr {{endif}} {{if 'cudaMemPoolProps.maxSize' in found_struct}} @property @@ -11220,8 +11220,8 @@ cdef class cudaMemAllocNodeParams: return self._pvt_ptr[0].dptr @dptr.setter def dptr(self, dptr): - _cdptr = _HelperInputVoidPtr(dptr) - self._pvt_ptr[0].dptr = _cdptr.cptr + self._cydptr = _HelperInputVoidPtr(dptr) + self._pvt_ptr[0].dptr = self._cydptr.cptr {{endif}} {{endif}} {{if 'cudaMemAllocNodeParamsV2' in found_struct}} @@ -11369,8 +11369,8 @@ cdef class cudaMemAllocNodeParamsV2: return self._pvt_ptr[0].dptr @dptr.setter def dptr(self, dptr): - _cdptr = _HelperInputVoidPtr(dptr) - self._pvt_ptr[0].dptr = _cdptr.cptr + self._cydptr = _HelperInputVoidPtr(dptr) + self._pvt_ptr[0].dptr = self._cydptr.cptr {{endif}} {{endif}} {{if 'cudaMemFreeNodeParams' in found_struct}} @@ -11420,8 +11420,8 @@ cdef class cudaMemFreeNodeParams: return self._pvt_ptr[0].dptr @dptr.setter def dptr(self, dptr): - _cdptr = _HelperInputVoidPtr(dptr) - self._pvt_ptr[0].dptr = _cdptr.cptr + self._cydptr = _HelperInputVoidPtr(dptr) + self._pvt_ptr[0].dptr = self._cydptr.cptr {{endif}} {{endif}} {{if 'cudaMemcpyAttributes' in found_struct}} @@ -11701,8 +11701,8 @@ cdef class anon_struct6: return self._pvt_ptr[0].op.ptr.ptr @ptr.setter def ptr(self, ptr): - _cptr = _HelperInputVoidPtr(ptr) - self._pvt_ptr[0].op.ptr.ptr = _cptr.cptr + self._cyptr = _HelperInputVoidPtr(ptr) + self._pvt_ptr[0].op.ptr.ptr = self._cyptr.cptr {{endif}} {{if 'cudaMemcpy3DOperand.op.ptr.rowLength' in found_struct}} @property @@ -14104,8 +14104,8 @@ cdef class anon_struct8: return self._pvt_ptr[0].handle.win32.handle @handle.setter def handle(self, handle): - _chandle = _HelperInputVoidPtr(handle) - self._pvt_ptr[0].handle.win32.handle = _chandle.cptr + self._cyhandle = _HelperInputVoidPtr(handle) + self._pvt_ptr[0].handle.win32.handle = self._cyhandle.cptr {{endif}} {{if 'cudaExternalMemoryHandleDesc.handle.win32.name' in found_struct}} @property @@ -14113,8 +14113,8 @@ cdef class anon_struct8: return self._pvt_ptr[0].handle.win32.name @name.setter def name(self, name): - _cname = _HelperInputVoidPtr(name) - self._pvt_ptr[0].handle.win32.name = _cname.cptr + self._cyname = _HelperInputVoidPtr(name) + self._pvt_ptr[0].handle.win32.name = self._cyname.cptr {{endif}} {{endif}} {{if 'cudaExternalMemoryHandleDesc.handle' in found_struct}} @@ -14199,8 +14199,8 @@ cdef class anon_union2: return self._pvt_ptr[0].handle.nvSciBufObject @nvSciBufObject.setter def nvSciBufObject(self, nvSciBufObject): - _cnvSciBufObject = _HelperInputVoidPtr(nvSciBufObject) - self._pvt_ptr[0].handle.nvSciBufObject = _cnvSciBufObject.cptr + self._cynvSciBufObject = _HelperInputVoidPtr(nvSciBufObject) + self._pvt_ptr[0].handle.nvSciBufObject = self._cynvSciBufObject.cptr {{endif}} {{endif}} {{if 'cudaExternalMemoryHandleDesc' in found_struct}} @@ -14635,8 +14635,8 @@ cdef class anon_struct9: return self._pvt_ptr[0].handle.win32.handle @handle.setter def handle(self, handle): - _chandle = _HelperInputVoidPtr(handle) - self._pvt_ptr[0].handle.win32.handle = _chandle.cptr + self._cyhandle = _HelperInputVoidPtr(handle) + self._pvt_ptr[0].handle.win32.handle = self._cyhandle.cptr {{endif}} {{if 'cudaExternalSemaphoreHandleDesc.handle.win32.name' in found_struct}} @property @@ -14644,8 +14644,8 @@ cdef class anon_struct9: return self._pvt_ptr[0].handle.win32.name @name.setter def name(self, name): - _cname = _HelperInputVoidPtr(name) - self._pvt_ptr[0].handle.win32.name = _cname.cptr + self._cyname = _HelperInputVoidPtr(name) + self._pvt_ptr[0].handle.win32.name = self._cyname.cptr {{endif}} {{endif}} {{if 'cudaExternalSemaphoreHandleDesc.handle' in found_struct}} @@ -14730,8 +14730,8 @@ cdef class anon_union3: return self._pvt_ptr[0].handle.nvSciSyncObj @nvSciSyncObj.setter def nvSciSyncObj(self, nvSciSyncObj): - _cnvSciSyncObj = _HelperInputVoidPtr(nvSciSyncObj) - self._pvt_ptr[0].handle.nvSciSyncObj = _cnvSciSyncObj.cptr + self._cynvSciSyncObj = _HelperInputVoidPtr(nvSciSyncObj) + self._pvt_ptr[0].handle.nvSciSyncObj = self._cynvSciSyncObj.cptr {{endif}} {{endif}} {{if 'cudaExternalSemaphoreHandleDesc' in found_struct}} @@ -14942,8 +14942,8 @@ cdef class anon_union4: return self._pvt_ptr[0].params.nvSciSync.fence @fence.setter def fence(self, fence): - _cfence = _HelperInputVoidPtr(fence) - self._pvt_ptr[0].params.nvSciSync.fence = _cfence.cptr + self._cyfence = _HelperInputVoidPtr(fence) + self._pvt_ptr[0].params.nvSciSync.fence = self._cyfence.cptr {{endif}} {{if 'cudaExternalSemaphoreSignalParams.params.nvSciSync.reserved' in found_struct}} @property @@ -15304,8 +15304,8 @@ cdef class anon_union5: return self._pvt_ptr[0].params.nvSciSync.fence @fence.setter def fence(self, fence): - _cfence = _HelperInputVoidPtr(fence) - self._pvt_ptr[0].params.nvSciSync.fence = _cfence.cptr + self._cyfence = _HelperInputVoidPtr(fence) + self._pvt_ptr[0].params.nvSciSync.fence = self._cyfence.cptr {{endif}} {{if 'cudaExternalSemaphoreWaitParams.params.nvSciSync.reserved' in found_struct}} @property @@ -16243,8 +16243,8 @@ cdef class cudalibraryHostUniversalFunctionAndDataTable: return self._pvt_ptr[0].functionTable @functionTable.setter def functionTable(self, functionTable): - _cfunctionTable = _HelperInputVoidPtr(functionTable) - self._pvt_ptr[0].functionTable = _cfunctionTable.cptr + self._cyfunctionTable = _HelperInputVoidPtr(functionTable) + self._pvt_ptr[0].functionTable = self._cyfunctionTable.cptr {{endif}} {{if 'cudalibraryHostUniversalFunctionAndDataTable.functionWindowSize' in found_struct}} @property @@ -16260,8 +16260,8 @@ cdef class cudalibraryHostUniversalFunctionAndDataTable: return self._pvt_ptr[0].dataTable @dataTable.setter def dataTable(self, dataTable): - _cdataTable = _HelperInputVoidPtr(dataTable) - self._pvt_ptr[0].dataTable = _cdataTable.cptr + self._cydataTable = _HelperInputVoidPtr(dataTable) + self._pvt_ptr[0].dataTable = self._cydataTable.cptr {{endif}} {{if 'cudalibraryHostUniversalFunctionAndDataTable.dataWindowSize' in found_struct}} @property @@ -16375,8 +16375,8 @@ cdef class cudaKernelNodeParams: return self._pvt_ptr[0].func @func.setter def func(self, func): - _cfunc = _HelperInputVoidPtr(func) - self._pvt_ptr[0].func = _cfunc.cptr + self._cyfunc = _HelperInputVoidPtr(func) + self._pvt_ptr[0].func = self._cyfunc.cptr {{endif}} {{if 'cudaKernelNodeParams.gridDim' in found_struct}} @property @@ -16537,8 +16537,8 @@ cdef class cudaKernelNodeParamsV2: return self._pvt_ptr[0].func @func.setter def func(self, func): - _cfunc = _HelperInputVoidPtr(func) - self._pvt_ptr[0].func = _cfunc.cptr + self._cyfunc = _HelperInputVoidPtr(func) + self._pvt_ptr[0].func = self._cyfunc.cptr {{endif}} {{if 'cudaKernelNodeParamsV2.gridDim' in found_struct}} @property @@ -18258,8 +18258,8 @@ cdef class anon_struct16: return self._pvt_ptr[0].updateData.param.pValue @pValue.setter def pValue(self, pValue): - _cpValue = _HelperInputVoidPtr(pValue) - self._pvt_ptr[0].updateData.param.pValue = _cpValue.cptr + self._cypValue = _HelperInputVoidPtr(pValue) + self._pvt_ptr[0].updateData.param.pValue = self._cypValue.cptr {{endif}} {{if 'cudaGraphKernelNodeUpdate.updateData.param.offset' in found_struct}} @property diff --git a/cuda_bindings/tests/test_cuda.py b/cuda_bindings/tests/test_cuda.py index 51810cf3c7..5f51f95619 100644 --- a/cuda_bindings/tests/test_cuda.py +++ b/cuda_bindings/tests/test_cuda.py @@ -1,6 +1,7 @@ -# SPDX-FileCopyrightText: Copyright (c) 2021-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2021-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: LicenseRef-NVIDIA-SOFTWARE-LICENSE +import ctypes import platform import shutil import textwrap @@ -1138,3 +1139,25 @@ def test_cuDevSmResourceSplit(device, ctx): assert len(res) == nb_groups # Verify remainder is valid (may be None if no remainder) assert rem is not None or len(res) > 0 + + +def test_buffer_reference(): + # Create a host buffer + size = int(1024 * np.uint8().itemsize) + host = np.full(size, 2).astype(np.uint8) + + # Set the buffer to a struct member + memcpyParams = cuda.CUgraphNodeParams() + memcpyParams.memcpy.copyParams.dstHost = host + + # Delete the local reference to the host buffer. The reference in the + # struct should keep it alive. + del host + + # Create a new numpy array from the pointer and make sure the memory is + # intact and hasn't been freed. If the reference counting in + # copyParams.dstHost is incorrect, we will either see over-written memory or + # a segmentation fault here. + ptr = ctypes.cast(memcpyParams.memcpy.copyParams.dstHost, ctypes.POINTER(ctypes.c_uint8)) + x = np.ctypeslib.as_array(ptr, shape=(size,)) + assert np.all(x == 2)