diff --git a/numba_cuda/numba/cuda/cudadrv/driver.py b/numba_cuda/numba/cuda/cudadrv/driver.py index 6b3d0afe9..ad32a0d9f 100644 --- a/numba_cuda/numba/cuda/cudadrv/driver.py +++ b/numba_cuda/numba/cuda/cudadrv/driver.py @@ -2062,6 +2062,9 @@ class MemoryPointer(object): __cuda_memory__ = True def __init__(self, context, pointer, size, owner=None, finalizer=None): + if USE_NV_BINDING and isinstance(pointer, ctypes.c_void_p): + pointer = binding.CUdeviceptr(pointer.value) + self.context = context self.device_pointer = pointer self.size = size diff --git a/numba_cuda/numba/cuda/tests/cudadrv/test_emm_plugins.py b/numba_cuda/numba/cuda/tests/cudadrv/test_emm_plugins.py index c0ad870bd..be77a40ad 100644 --- a/numba_cuda/numba/cuda/tests/cudadrv/test_emm_plugins.py +++ b/numba_cuda/numba/cuda/tests/cudadrv/test_emm_plugins.py @@ -84,7 +84,7 @@ def get_ipc_handle(self, memory): # the tests don't try to do too much with it (e.g. open / close # it). self.get_ipc_handle_called = True - return "Dummy IPC handle for alloc %s" % memory.device_pointer.value + return "Dummy IPC handle for alloc %s" % memory.device_pointer_value @property def interface_version(self):