Skip to content

Commit 52164c0

Browse files
committed
Touch-ups
1 parent 076d7b4 commit 52164c0

File tree

4 files changed

+16
-14
lines changed

4 files changed

+16
-14
lines changed

cuda_core/cuda/core/experimental/_memory/_buffer.pyx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,7 @@ cdef class Buffer:
3939
Support for data interchange mechanisms are provided by DLPack.
4040
"""
4141
def __cinit__(self):
42-
self._ptr = 0
43-
self._size = 0
44-
self._mr = None
45-
self._ptr_obj = None
46-
self._alloc_stream = None
42+
self._clear()
4743

4844
def _clear(self):
4945
self._ptr = 0

cuda_core/cuda/core/experimental/_memory/_dmr.pxd

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@
33
# SPDX-License-Identifier: Apache-2.0
44

55
from cuda.bindings cimport cydriver
6-
76
from cuda.core.experimental._memory._buffer cimport MemoryResource
8-
from cuda.core.experimental._memory._ipc cimport IPCAllocationHandle, IPCData
7+
from cuda.core.experimental._memory._ipc cimport IPCData
98

109

1110
cdef class DeviceMemoryResource(MemoryResource):

cuda_core/cuda/core/experimental/_memory/_dmr.pyx

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ from cuda.core.experimental._memory cimport _ipc
1414
from cuda.core.experimental._memory._ipc cimport IPCAllocationHandle, IPCData
1515
from cuda.core.experimental._stream cimport default_stream, Stream
1616
from cuda.core.experimental._utils.cuda_utils cimport (
17-
_check_driver_error as raise_if_driver_error,
1817
check_or_create_options,
1918
HANDLE_RETURN,
2019
)
@@ -75,9 +74,8 @@ class DeviceMemoryResourceAttributes:
7574
mr = self._mr()
7675
if mr is None:
7776
raise RuntimeError("DeviceMemoryResource is expired")
78-
# TODO: this implementation does not allow lowering to Cython + nogil
79-
err, value = driver.cuMemPoolGetAttribute(mr.handle, attr_enum)
80-
raise_if_driver_error(err)
77+
value = DMRA_getattribute(<cydriver.CUmemoryPool><uintptr_t> mr.handle,
78+
<cydriver.CUmemPool_attribute><uintptr_t> attr_enum)
8179
return property_type(value)
8280
return property(fget=fget, doc=stub.__doc__)
8381
return decorator
@@ -117,6 +115,15 @@ class DeviceMemoryResourceAttributes:
117115
del mempool_property
118116

119117

118+
cdef int DMRA_getattribute(
119+
cydriver.CUmemoryPool pool_handle, cydriver.CUmemPool_attribute attr_enum
120+
):
121+
cdef int value
122+
with nogil:
123+
HANDLE_RETURN(cydriver.cuMemPoolGetAttribute(pool_handle, attr_enum, <void *> &value))
124+
return value
125+
126+
120127
cdef class DeviceMemoryResource(MemoryResource):
121128
"""
122129
Create a device memory resource managing a stream-ordered memory pool.

cuda_core/cuda/core/experimental/_memory/_vmm.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import platform
66
from dataclasses import dataclass, field
7-
from typing import Iterable, Literal, Optional, Union
7+
from typing import Iterable, Literal, Union
88

99
from cuda.core.experimental._memory._buffer import Buffer, MemoryResource
1010
from cuda.core.experimental._stream import Stream
@@ -65,8 +65,8 @@ class VirtualMemoryResourceOptions:
6565
handle_type: VirtualMemoryHandleTypeT = "posix_fd"
6666
granularity: VirtualMemoryGranularityT = "recommended"
6767
gpu_direct_rdma: bool = False
68-
addr_hint: Optional[int] = 0
69-
addr_align: Optional[int] = None
68+
addr_hint: int | None = 0
69+
addr_align: int | None = None
7070
peers: Iterable[int] = field(default_factory=tuple)
7171
self_access: VirtualMemoryAccessTypeT = "rw"
7272
peer_access: VirtualMemoryAccessTypeT = "rw"

0 commit comments

Comments
 (0)