Skip to content

Commit 32c6758

Browse files
committed
add resource management to mempool
1 parent be59702 commit 32c6758

File tree

1 file changed

+2
-48
lines changed

1 file changed

+2
-48
lines changed

cuda_core/cuda/core/experimental/_memory.py

Lines changed: 2 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -251,34 +251,11 @@ def _reconstruct(cls, reserved, size):
251251
class MemoryResource(abc.ABC):
252252
"""Base class for memory resources.
253253
254-
This class provides an abstract interface for memory resources and includes
255-
an optional destruction mechanism through _MembersNeededForFinalize.
254+
This class provides an abstract interface for memory resources.
256255
"""
257256

258-
class _MembersNeededForFinalize:
259-
__slots__ = ("handle", "is_initialized")
260-
261-
def __init__(self, mr_obj, handle=None):
262-
self.handle = handle
263-
self.is_initialized = False
264-
weakref.finalize(mr_obj, self.close)
265-
266-
def close(self):
267-
if self.is_initialized and self.handle:
268-
# Specific cleanup can be implemented by derived classes
269-
self.handle = None
270-
self.is_initialized = False
271-
272-
__slots__ = ("__weakref__", "_mnff")
273-
274257
@abc.abstractmethod
275-
def __init__(self, *args, **kwargs):
276-
self._mnff = MemoryResource._MembersNeededForFinalize(self)
277-
278-
def close(self):
279-
"""Release any resources associated with this memory resource."""
280-
if hasattr(self, "_mnff"):
281-
self._mnff.close()
258+
def __init__(self, *args, **kwargs): ...
282259

283260
@abc.abstractmethod
284261
def allocate(self, size, stream=None) -> Buffer: ...
@@ -329,29 +306,6 @@ class Mempool(MemoryResource):
329306
Use the static methods `create` or `from_shared_handle` to instantiate a Mempool.
330307
Direct instantiation is not supported.
331308
332-
Properties
333-
----------
334-
reuse_follow_event_dependencies : bool
335-
Allow memory to be reused when there are event dependencies between streams.
336-
reuse_allow_opportunistic : bool
337-
Allow reuse of completed frees without dependencies.
338-
reuse_allow_internal_dependencies : bool
339-
Allow insertion of new stream dependencies for memory reuse.
340-
release_threshold : int
341-
Amount of reserved memory to hold before OS release.
342-
reserved_mem_current : int
343-
Current amount of backing memory allocated.
344-
reserved_mem_high : int
345-
High watermark of backing memory allocated.
346-
used_mem_current : int
347-
Current amount of memory in use.
348-
used_mem_high : int
349-
High watermark of memory in use.
350-
351-
See Also
352-
--------
353-
create : Create a new memory pool
354-
from_shared_handle : Import an existing memory pool from another process
355309
"""
356310

357311
class _MembersNeededForFinalize:

0 commit comments

Comments
 (0)