@@ -29,7 +29,6 @@ if platform.system() == "Linux":
2929
3030if TYPE_CHECKING:
3131 from ._device import Device
32- import cuda.bindings.driver
3332 import uuid
3433
3534# TODO: define a memory property mixin class and make Buffer and
@@ -75,7 +74,7 @@ cdef class Buffer:
7574 self .close()
7675
7776 def __reduce__ (self ):
78- return Buffer.import_ , (self .memory_resource, self .export ())
77+ return Buffer.from_ipc_descriptor , (self .memory_resource, self .get_ipc_descriptor ())
7978
8079 cpdef close(self , stream: Stream = None ):
8180 """ Deallocate this buffer asynchronously on the given stream.
@@ -137,7 +136,7 @@ cdef class Buffer:
137136 return self._mr.device_id
138137 raise NotImplementedError("WIP: Currently this property only supports buffers with associated MemoryResource")
139138
140- def export (self ) -> IPCBufferDescriptor:
139+ def get_ipc_descriptor (self ) -> IPCBufferDescriptor:
141140 """Export a buffer allocated for sharing between processes."""
142141 if not self._mr.is_ipc_enabled:
143142 raise RuntimeError("Memory resource is not IPC-enabled")
@@ -146,7 +145,7 @@ cdef class Buffer:
146145 return IPCBufferDescriptor._init(ptr.reserved , self.size )
147146
148147 @classmethod
149- def import_ (cls , mr: MemoryResource , ipc_buffer: IPCBufferDescriptor ) -> Buffer:
148+ def from_ipc_descriptor (cls , mr: MemoryResource , ipc_buffer: IPCBufferDescriptor ) -> Buffer:
150149 """Import a buffer that was exported from another process."""
151150 if not mr.is_ipc_enabled:
152151 raise RuntimeError("Memory resource is not IPC-enabled")
@@ -621,7 +620,7 @@ class DeviceMemoryResource(MemoryResource):
621620 raise_if_driver_error(err)
622621
623622 if opts.ipc_enabled:
624- self .get_allocation_handle() # enables Buffer.export , sets uuid
623+ self .get_allocation_handle() # enables Buffer.get_ipc_descriptor , sets uuid
625624
626625 def __del__ (self ):
627626 self .close()
@@ -675,8 +674,9 @@ class DeviceMemoryResource(MemoryResource):
675674 return self
676675
677676 def unregister (self ):
678- with contextlib.suppress(KeyError ):
679- del _ipc_registry[self .uuid]
677+ if _ipc_registry is not None :
678+ with contextlib.suppress(KeyError ):
679+ del _ipc_registry[self .uuid]
680680
681681 @property
682682 def uuid (self ):
0 commit comments