diff --git a/cuda_bindings/cuda/bindings/driver.pyx.in b/cuda_bindings/cuda/bindings/driver.pyx.in index e045e1ee31..196c5365e7 100644 --- a/cuda_bindings/cuda/bindings/driver.pyx.in +++ b/cuda_bindings/cuda/bindings/driver.pyx.in @@ -53948,3 +53948,125 @@ def sizeof(objType): if objType == VdpOutputSurface: return sizeof(cydriver.VdpOutputSurface){{endif}} raise TypeError("Unknown type: " + str(objType)) + +cdef int _add_native_handle_getters() except?-1: + from cuda.bindings.utils import _add_cuda_native_handle_getter + {{if 'CUcontext' in found_types}} + def CUcontext_getter(CUcontext x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(CUcontext, CUcontext_getter) + {{endif}} + {{if 'CUmodule' in found_types}} + def CUmodule_getter(CUmodule x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(CUmodule, CUmodule_getter) + {{endif}} + {{if 'CUfunction' in found_types}} + def CUfunction_getter(CUfunction x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(CUfunction, CUfunction_getter) + {{endif}} + {{if 'CUlibrary' in found_types}} + def CUlibrary_getter(CUlibrary x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(CUlibrary, CUlibrary_getter) + {{endif}} + {{if 'CUkernel' in found_types}} + def CUkernel_getter(CUkernel x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(CUkernel, CUkernel_getter) + {{endif}} + {{if 'CUarray' in found_types}} + def CUarray_getter(CUarray x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(CUarray, CUarray_getter) + {{endif}} + {{if 'CUmipmappedArray' in found_types}} + def CUmipmappedArray_getter(CUmipmappedArray x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(CUmipmappedArray, CUmipmappedArray_getter) + {{endif}} + {{if 'CUtexref' in found_types}} + def CUtexref_getter(CUtexref x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(CUtexref, CUtexref_getter) + {{endif}} + {{if 'CUsurfref' in found_types}} + def CUsurfref_getter(CUsurfref x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(CUsurfref, CUsurfref_getter) + {{endif}} + {{if 'CUevent' in found_types}} + def CUevent_getter(CUevent x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(CUevent, CUevent_getter) + {{endif}} + {{if 'CUstream' in found_types}} + def CUstream_getter(CUstream x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(CUstream, CUstream_getter) + {{endif}} + {{if 'CUgraphicsResource' in found_types}} + def CUgraphicsResource_getter(CUgraphicsResource x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(CUgraphicsResource, CUgraphicsResource_getter) + {{endif}} + {{if 'CUexternalMemory' in found_types}} + def CUexternalMemory_getter(CUexternalMemory x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(CUexternalMemory, CUexternalMemory_getter) + {{endif}} + {{if 'CUexternalSemaphore' in found_types}} + def CUexternalSemaphore_getter(CUexternalSemaphore x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(CUexternalSemaphore, CUexternalSemaphore_getter) + {{endif}} + {{if 'CUgraph' in found_types}} + def CUgraph_getter(CUgraph x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(CUgraph, CUgraph_getter) + {{endif}} + {{if 'CUgraphNode' in found_types}} + def CUgraphNode_getter(CUgraphNode x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(CUgraphNode, CUgraphNode_getter) + {{endif}} + {{if 'CUgraphExec' in found_types}} + def CUgraphExec_getter(CUgraphExec x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(CUgraphExec, CUgraphExec_getter) + {{endif}} + {{if 'CUmemoryPool' in found_types}} + def CUmemoryPool_getter(CUmemoryPool x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(CUmemoryPool, CUmemoryPool_getter) + {{endif}} + {{if 'CUuserObject' in found_types}} + def CUuserObject_getter(CUuserObject x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(CUuserObject, CUuserObject_getter) + {{endif}} + {{if 'CUgraphDeviceNode' in found_types}} + def CUgraphDeviceNode_getter(CUgraphDeviceNode x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(CUgraphDeviceNode, CUgraphDeviceNode_getter) + {{endif}} + {{if 'CUasyncCallbackHandle' in found_types}} + def CUasyncCallbackHandle_getter(CUasyncCallbackHandle x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(CUasyncCallbackHandle, CUasyncCallbackHandle_getter) + {{endif}} + {{if 'CUgreenCtx' in found_types}} + def CUgreenCtx_getter(CUgreenCtx x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(CUgreenCtx, CUgreenCtx_getter) + {{endif}} + {{if 'CUlinkState' in found_types}} + def CUlinkState_getter(CUlinkState x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(CUlinkState, CUlinkState_getter) + {{endif}} + {{if 'CUdevResourceDesc' in found_types}} + def CUdevResourceDesc_getter(CUdevResourceDesc x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(CUdevResourceDesc, CUdevResourceDesc_getter) + {{endif}} + {{if 'CUlogsCallbackHandle' in found_types}} + def CUlogsCallbackHandle_getter(CUlogsCallbackHandle x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(CUlogsCallbackHandle, CUlogsCallbackHandle_getter) + {{endif}} + {{if True}} + def CUeglStreamConnection_getter(CUeglStreamConnection x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(CUeglStreamConnection, CUeglStreamConnection_getter) + {{endif}} + {{if True}} + def EGLImageKHR_getter(EGLImageKHR x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(EGLImageKHR, EGLImageKHR_getter) + {{endif}} + {{if True}} + def EGLStreamKHR_getter(EGLStreamKHR x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(EGLStreamKHR, EGLStreamKHR_getter) + {{endif}} + {{if True}} + def EGLSyncKHR_getter(EGLSyncKHR x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(EGLSyncKHR, EGLSyncKHR_getter) + {{endif}} + return 0 +_add_native_handle_getters() + diff --git a/cuda_bindings/cuda/bindings/runtime.pyx.in b/cuda_bindings/cuda/bindings/runtime.pyx.in index 43ce11ee88..ced5d39a6a 100644 --- a/cuda_bindings/cuda/bindings/runtime.pyx.in +++ b/cuda_bindings/cuda/bindings/runtime.pyx.in @@ -37912,3 +37912,105 @@ def sizeof(objType): if objType == cudaEglStreamConnection: return sizeof(cyruntime.cudaEglStreamConnection){{endif}} raise TypeError("Unknown type: " + str(objType)) + +cdef int _add_native_handle_getters() except?-1: + from cuda.bindings.utils import _add_cuda_native_handle_getter + {{if 'cudaArray_t' in found_types}} + def cudaArray_t_getter(cudaArray_t x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(cudaArray_t, cudaArray_t_getter) + {{endif}} + {{if 'cudaArray_const_t' in found_types}} + def cudaArray_const_t_getter(cudaArray_const_t x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(cudaArray_const_t, cudaArray_const_t_getter) + {{endif}} + {{if 'cudaMipmappedArray_t' in found_types}} + def cudaMipmappedArray_t_getter(cudaMipmappedArray_t x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(cudaMipmappedArray_t, cudaMipmappedArray_t_getter) + {{endif}} + {{if 'cudaMipmappedArray_const_t' in found_types}} + def cudaMipmappedArray_const_t_getter(cudaMipmappedArray_const_t x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(cudaMipmappedArray_const_t, cudaMipmappedArray_const_t_getter) + {{endif}} + {{if 'cudaStream_t' in found_types}} + def cudaStream_t_getter(cudaStream_t x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(cudaStream_t, cudaStream_t_getter) + {{endif}} + {{if 'cudaEvent_t' in found_types}} + def cudaEvent_t_getter(cudaEvent_t x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(cudaEvent_t, cudaEvent_t_getter) + {{endif}} + {{if 'cudaGraphicsResource_t' in found_types}} + def cudaGraphicsResource_t_getter(cudaGraphicsResource_t x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(cudaGraphicsResource_t, cudaGraphicsResource_t_getter) + {{endif}} + {{if 'cudaExternalMemory_t' in found_types}} + def cudaExternalMemory_t_getter(cudaExternalMemory_t x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(cudaExternalMemory_t, cudaExternalMemory_t_getter) + {{endif}} + {{if 'cudaExternalSemaphore_t' in found_types}} + def cudaExternalSemaphore_t_getter(cudaExternalSemaphore_t x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(cudaExternalSemaphore_t, cudaExternalSemaphore_t_getter) + {{endif}} + {{if 'cudaGraph_t' in found_types}} + def cudaGraph_t_getter(cudaGraph_t x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(cudaGraph_t, cudaGraph_t_getter) + {{endif}} + {{if 'cudaGraphNode_t' in found_types}} + def cudaGraphNode_t_getter(cudaGraphNode_t x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(cudaGraphNode_t, cudaGraphNode_t_getter) + {{endif}} + {{if 'cudaUserObject_t' in found_types}} + def cudaUserObject_t_getter(cudaUserObject_t x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(cudaUserObject_t, cudaUserObject_t_getter) + {{endif}} + {{if 'cudaFunction_t' in found_types}} + def cudaFunction_t_getter(cudaFunction_t x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(cudaFunction_t, cudaFunction_t_getter) + {{endif}} + {{if 'cudaKernel_t' in found_types}} + def cudaKernel_t_getter(cudaKernel_t x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(cudaKernel_t, cudaKernel_t_getter) + {{endif}} + {{if 'cudaLibrary_t' in found_types}} + def cudaLibrary_t_getter(cudaLibrary_t x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(cudaLibrary_t, cudaLibrary_t_getter) + {{endif}} + {{if 'cudaMemPool_t' in found_types}} + def cudaMemPool_t_getter(cudaMemPool_t x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(cudaMemPool_t, cudaMemPool_t_getter) + {{endif}} + {{if 'cudaGraphExec_t' in found_types}} + def cudaGraphExec_t_getter(cudaGraphExec_t x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(cudaGraphExec_t, cudaGraphExec_t_getter) + {{endif}} + {{if 'cudaGraphDeviceNode_t' in found_types}} + def cudaGraphDeviceNode_t_getter(cudaGraphDeviceNode_t x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(cudaGraphDeviceNode_t, cudaGraphDeviceNode_t_getter) + {{endif}} + {{if 'cudaAsyncCallbackHandle_t' in found_types}} + def cudaAsyncCallbackHandle_t_getter(cudaAsyncCallbackHandle_t x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(cudaAsyncCallbackHandle_t, cudaAsyncCallbackHandle_t_getter) + {{endif}} + {{if 'cudaLogsCallbackHandle' in found_types}} + def cudaLogsCallbackHandle_getter(cudaLogsCallbackHandle x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(cudaLogsCallbackHandle, cudaLogsCallbackHandle_getter) + {{endif}} + {{if True}} + def EGLImageKHR_getter(EGLImageKHR x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(EGLImageKHR, EGLImageKHR_getter) + {{endif}} + {{if True}} + def EGLStreamKHR_getter(EGLStreamKHR x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(EGLStreamKHR, EGLStreamKHR_getter) + {{endif}} + {{if True}} + def EGLSyncKHR_getter(EGLSyncKHR x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(EGLSyncKHR, EGLSyncKHR_getter) + {{endif}} + {{if True}} + def cudaEglStreamConnection_getter(cudaEglStreamConnection x): return (x._pvt_ptr[0]) + _add_cuda_native_handle_getter(cudaEglStreamConnection, cudaEglStreamConnection_getter) + {{endif}} + return 0 +_add_native_handle_getters() + diff --git a/cuda_bindings/cuda/bindings/utils/__init__.py b/cuda_bindings/cuda/bindings/utils/__init__.py index ab13d004c4..5f9288b81e 100644 --- a/cuda_bindings/cuda/bindings/utils/__init__.py +++ b/cuda_bindings/cuda/bindings/utils/__init__.py @@ -1,5 +1,31 @@ # SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: LicenseRef-NVIDIA-SOFTWARE-LICENSE -from ._get_handle import get_cuda_native_handle +from typing import Any, Callable + from ._ptx_utils import get_minimal_required_cuda_ver_from_ptx_ver, get_ptx_ver + +_handle_getters: dict[type, Callable[[Any], int]] = {} + + +def _add_cuda_native_handle_getter(t: type, getter: Callable[[Any], int]) -> None: + _handle_getters[t] = getter + + +def get_cuda_native_handle(obj: Any) -> int: + """Returns the address of the provided CUDA Python object as a Python int. + + Parameters + ---------- + obj : Any + CUDA Python object + + Returns + ------- + int : The object address. + """ + obj_type = type(obj) + try: + return _handle_getters[obj_type](obj) + except KeyError: + raise TypeError("Unknown type: " + str(obj_type)) from None diff --git a/cuda_bindings/cuda/bindings/utils/_get_handle.pyx.in b/cuda_bindings/cuda/bindings/utils/_get_handle.pyx.in deleted file mode 100644 index 30718591e6..0000000000 --- a/cuda_bindings/cuda/bindings/utils/_get_handle.pyx.in +++ /dev/null @@ -1,234 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2021-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: LicenseRef-NVIDIA-SOFTWARE-LICENSE - -# This code was automatically generated with version 13.0.0. Do not modify it directly. - -from libc.stdint cimport uintptr_t -cimport cython - -from cuda.bindings cimport driver, runtime, cydriver, cyruntime - - -cdef dict _handle_getters = None - -@cython.embedsignature(True) -def get_cuda_native_handle(obj) -> int: - """ Returns the address of the provided CUDA Python object as Python int. - - Parameters - ---------- - obj : Any - CUDA Python object - - Returns - ------- - int : The object address. - """ - global _handle_getters - obj_type = type(obj) - if _handle_getters is None: - _handle_getters = dict() - {{if 'CUcontext' in found_types}} - def CUcontext_getter(driver.CUcontext x): return (x._pvt_ptr[0]) - _handle_getters[driver.CUcontext] = CUcontext_getter - {{endif}} - {{if 'CUmodule' in found_types}} - def CUmodule_getter(driver.CUmodule x): return (x._pvt_ptr[0]) - _handle_getters[driver.CUmodule] = CUmodule_getter - {{endif}} - {{if 'CUfunction' in found_types}} - def CUfunction_getter(driver.CUfunction x): return (x._pvt_ptr[0]) - _handle_getters[driver.CUfunction] = CUfunction_getter - {{endif}} - {{if 'CUlibrary' in found_types}} - def CUlibrary_getter(driver.CUlibrary x): return (x._pvt_ptr[0]) - _handle_getters[driver.CUlibrary] = CUlibrary_getter - {{endif}} - {{if 'CUkernel' in found_types}} - def CUkernel_getter(driver.CUkernel x): return (x._pvt_ptr[0]) - _handle_getters[driver.CUkernel] = CUkernel_getter - {{endif}} - {{if 'CUarray' in found_types}} - def CUarray_getter(driver.CUarray x): return (x._pvt_ptr[0]) - _handle_getters[driver.CUarray] = CUarray_getter - {{endif}} - {{if 'CUmipmappedArray' in found_types}} - def CUmipmappedArray_getter(driver.CUmipmappedArray x): return (x._pvt_ptr[0]) - _handle_getters[driver.CUmipmappedArray] = CUmipmappedArray_getter - {{endif}} - {{if 'CUtexref' in found_types}} - def CUtexref_getter(driver.CUtexref x): return (x._pvt_ptr[0]) - _handle_getters[driver.CUtexref] = CUtexref_getter - {{endif}} - {{if 'CUsurfref' in found_types}} - def CUsurfref_getter(driver.CUsurfref x): return (x._pvt_ptr[0]) - _handle_getters[driver.CUsurfref] = CUsurfref_getter - {{endif}} - {{if 'CUevent' in found_types}} - def CUevent_getter(driver.CUevent x): return (x._pvt_ptr[0]) - _handle_getters[driver.CUevent] = CUevent_getter - {{endif}} - {{if 'CUstream' in found_types}} - def CUstream_getter(driver.CUstream x): return (x._pvt_ptr[0]) - _handle_getters[driver.CUstream] = CUstream_getter - {{endif}} - {{if 'CUgraphicsResource' in found_types}} - def CUgraphicsResource_getter(driver.CUgraphicsResource x): return (x._pvt_ptr[0]) - _handle_getters[driver.CUgraphicsResource] = CUgraphicsResource_getter - {{endif}} - {{if 'CUexternalMemory' in found_types}} - def CUexternalMemory_getter(driver.CUexternalMemory x): return (x._pvt_ptr[0]) - _handle_getters[driver.CUexternalMemory] = CUexternalMemory_getter - {{endif}} - {{if 'CUexternalSemaphore' in found_types}} - def CUexternalSemaphore_getter(driver.CUexternalSemaphore x): return (x._pvt_ptr[0]) - _handle_getters[driver.CUexternalSemaphore] = CUexternalSemaphore_getter - {{endif}} - {{if 'CUgraph' in found_types}} - def CUgraph_getter(driver.CUgraph x): return (x._pvt_ptr[0]) - _handle_getters[driver.CUgraph] = CUgraph_getter - {{endif}} - {{if 'CUgraphNode' in found_types}} - def CUgraphNode_getter(driver.CUgraphNode x): return (x._pvt_ptr[0]) - _handle_getters[driver.CUgraphNode] = CUgraphNode_getter - {{endif}} - {{if 'CUgraphExec' in found_types}} - def CUgraphExec_getter(driver.CUgraphExec x): return (x._pvt_ptr[0]) - _handle_getters[driver.CUgraphExec] = CUgraphExec_getter - {{endif}} - {{if 'CUmemoryPool' in found_types}} - def CUmemoryPool_getter(driver.CUmemoryPool x): return (x._pvt_ptr[0]) - _handle_getters[driver.CUmemoryPool] = CUmemoryPool_getter - {{endif}} - {{if 'CUuserObject' in found_types}} - def CUuserObject_getter(driver.CUuserObject x): return (x._pvt_ptr[0]) - _handle_getters[driver.CUuserObject] = CUuserObject_getter - {{endif}} - {{if 'CUgraphDeviceNode' in found_types}} - def CUgraphDeviceNode_getter(driver.CUgraphDeviceNode x): return (x._pvt_ptr[0]) - _handle_getters[driver.CUgraphDeviceNode] = CUgraphDeviceNode_getter - {{endif}} - {{if 'CUasyncCallbackHandle' in found_types}} - def CUasyncCallbackHandle_getter(driver.CUasyncCallbackHandle x): return (x._pvt_ptr[0]) - _handle_getters[driver.CUasyncCallbackHandle] = CUasyncCallbackHandle_getter - {{endif}} - {{if 'CUgreenCtx' in found_types}} - def CUgreenCtx_getter(driver.CUgreenCtx x): return (x._pvt_ptr[0]) - _handle_getters[driver.CUgreenCtx] = CUgreenCtx_getter - {{endif}} - {{if 'CUlinkState' in found_types}} - def CUlinkState_getter(driver.CUlinkState x): return (x._pvt_ptr[0]) - _handle_getters[driver.CUlinkState] = CUlinkState_getter - {{endif}} - {{if 'CUdevResourceDesc' in found_types}} - def CUdevResourceDesc_getter(driver.CUdevResourceDesc x): return (x._pvt_ptr[0]) - _handle_getters[driver.CUdevResourceDesc] = CUdevResourceDesc_getter - {{endif}} - {{if 'CUlogsCallbackHandle' in found_types}} - def CUlogsCallbackHandle_getter(driver.CUlogsCallbackHandle x): return (x._pvt_ptr[0]) - _handle_getters[driver.CUlogsCallbackHandle] = CUlogsCallbackHandle_getter - {{endif}} - {{if True}} - def CUeglStreamConnection_getter(driver.CUeglStreamConnection x): return (x._pvt_ptr[0]) - _handle_getters[driver.CUeglStreamConnection] = CUeglStreamConnection_getter - {{endif}} - {{if True}} - def EGLImageKHR_getter(runtime.EGLImageKHR x): return (x._pvt_ptr[0]) - _handle_getters[runtime.EGLImageKHR] = EGLImageKHR_getter - {{endif}} - {{if True}} - def EGLStreamKHR_getter(runtime.EGLStreamKHR x): return (x._pvt_ptr[0]) - _handle_getters[runtime.EGLStreamKHR] = EGLStreamKHR_getter - {{endif}} - {{if True}} - def EGLSyncKHR_getter(runtime.EGLSyncKHR x): return (x._pvt_ptr[0]) - _handle_getters[runtime.EGLSyncKHR] = EGLSyncKHR_getter - {{endif}} - {{if 'cudaArray_t' in found_types}} - def cudaArray_t_getter(runtime.cudaArray_t x): return (x._pvt_ptr[0]) - _handle_getters[runtime.cudaArray_t] = cudaArray_t_getter - {{endif}} - {{if 'cudaArray_const_t' in found_types}} - def cudaArray_const_t_getter(runtime.cudaArray_const_t x): return (x._pvt_ptr[0]) - _handle_getters[runtime.cudaArray_const_t] = cudaArray_const_t_getter - {{endif}} - {{if 'cudaMipmappedArray_t' in found_types}} - def cudaMipmappedArray_t_getter(runtime.cudaMipmappedArray_t x): return (x._pvt_ptr[0]) - _handle_getters[runtime.cudaMipmappedArray_t] = cudaMipmappedArray_t_getter - {{endif}} - {{if 'cudaMipmappedArray_const_t' in found_types}} - def cudaMipmappedArray_const_t_getter(runtime.cudaMipmappedArray_const_t x): return (x._pvt_ptr[0]) - _handle_getters[runtime.cudaMipmappedArray_const_t] = cudaMipmappedArray_const_t_getter - {{endif}} - {{if 'cudaStream_t' in found_types}} - def cudaStream_t_getter(runtime.cudaStream_t x): return (x._pvt_ptr[0]) - _handle_getters[runtime.cudaStream_t] = cudaStream_t_getter - {{endif}} - {{if 'cudaEvent_t' in found_types}} - def cudaEvent_t_getter(runtime.cudaEvent_t x): return (x._pvt_ptr[0]) - _handle_getters[runtime.cudaEvent_t] = cudaEvent_t_getter - {{endif}} - {{if 'cudaGraphicsResource_t' in found_types}} - def cudaGraphicsResource_t_getter(runtime.cudaGraphicsResource_t x): return (x._pvt_ptr[0]) - _handle_getters[runtime.cudaGraphicsResource_t] = cudaGraphicsResource_t_getter - {{endif}} - {{if 'cudaExternalMemory_t' in found_types}} - def cudaExternalMemory_t_getter(runtime.cudaExternalMemory_t x): return (x._pvt_ptr[0]) - _handle_getters[runtime.cudaExternalMemory_t] = cudaExternalMemory_t_getter - {{endif}} - {{if 'cudaExternalSemaphore_t' in found_types}} - def cudaExternalSemaphore_t_getter(runtime.cudaExternalSemaphore_t x): return (x._pvt_ptr[0]) - _handle_getters[runtime.cudaExternalSemaphore_t] = cudaExternalSemaphore_t_getter - {{endif}} - {{if 'cudaGraph_t' in found_types}} - def cudaGraph_t_getter(runtime.cudaGraph_t x): return (x._pvt_ptr[0]) - _handle_getters[runtime.cudaGraph_t] = cudaGraph_t_getter - {{endif}} - {{if 'cudaGraphNode_t' in found_types}} - def cudaGraphNode_t_getter(runtime.cudaGraphNode_t x): return (x._pvt_ptr[0]) - _handle_getters[runtime.cudaGraphNode_t] = cudaGraphNode_t_getter - {{endif}} - {{if 'cudaUserObject_t' in found_types}} - def cudaUserObject_t_getter(runtime.cudaUserObject_t x): return (x._pvt_ptr[0]) - _handle_getters[runtime.cudaUserObject_t] = cudaUserObject_t_getter - {{endif}} - {{if 'cudaFunction_t' in found_types}} - def cudaFunction_t_getter(runtime.cudaFunction_t x): return (x._pvt_ptr[0]) - _handle_getters[runtime.cudaFunction_t] = cudaFunction_t_getter - {{endif}} - {{if 'cudaKernel_t' in found_types}} - def cudaKernel_t_getter(runtime.cudaKernel_t x): return (x._pvt_ptr[0]) - _handle_getters[runtime.cudaKernel_t] = cudaKernel_t_getter - {{endif}} - {{if 'cudaLibrary_t' in found_types}} - def cudaLibrary_t_getter(runtime.cudaLibrary_t x): return (x._pvt_ptr[0]) - _handle_getters[runtime.cudaLibrary_t] = cudaLibrary_t_getter - {{endif}} - {{if 'cudaMemPool_t' in found_types}} - def cudaMemPool_t_getter(runtime.cudaMemPool_t x): return (x._pvt_ptr[0]) - _handle_getters[runtime.cudaMemPool_t] = cudaMemPool_t_getter - {{endif}} - {{if 'cudaGraphExec_t' in found_types}} - def cudaGraphExec_t_getter(runtime.cudaGraphExec_t x): return (x._pvt_ptr[0]) - _handle_getters[runtime.cudaGraphExec_t] = cudaGraphExec_t_getter - {{endif}} - {{if 'cudaGraphDeviceNode_t' in found_types}} - def cudaGraphDeviceNode_t_getter(runtime.cudaGraphDeviceNode_t x): return (x._pvt_ptr[0]) - _handle_getters[runtime.cudaGraphDeviceNode_t] = cudaGraphDeviceNode_t_getter - {{endif}} - {{if 'cudaAsyncCallbackHandle_t' in found_types}} - def cudaAsyncCallbackHandle_t_getter(runtime.cudaAsyncCallbackHandle_t x): return (x._pvt_ptr[0]) - _handle_getters[runtime.cudaAsyncCallbackHandle_t] = cudaAsyncCallbackHandle_t_getter - {{endif}} - {{if 'cudaLogsCallbackHandle' in found_types}} - def cudaLogsCallbackHandle_getter(runtime.cudaLogsCallbackHandle x): return (x._pvt_ptr[0]) - _handle_getters[runtime.cudaLogsCallbackHandle] = cudaLogsCallbackHandle_getter - {{endif}} - {{if True}} - def cudaEglStreamConnection_getter(runtime.cudaEglStreamConnection x): return (x._pvt_ptr[0]) - _handle_getters[runtime.cudaEglStreamConnection] = cudaEglStreamConnection_getter - {{endif}} - try: - return _handle_getters[obj_type](obj) - except KeyError: - raise TypeError("Unknown type: " + str(obj_type)) from None \ No newline at end of file