Skip to content

Commit 3d5d886

Browse files
Memory properties (#647)
* Add `.sycl_queue` property to MemoryUSM* classes per #640 * Change tests to use `.sycl_queue` property
1 parent 5b08d50 commit 3d5d886

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

dpctl/memory/_memory.pyx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,15 @@ cdef class _Memory:
295295
def __get__(self):
296296
return self.queue.get_sycl_device()
297297

298+
property sycl_queue:
299+
"""
300+
:class:`dpctl.SyclQueue` with :class:`dpctl.SyclContext` the
301+
USM allocation is bound to and :class:`dpctl.SyclDevice` it was
302+
allocated on.
303+
"""
304+
def __get__(self):
305+
return self.queue
306+
298307
def __repr__(self):
299308
return (
300309
"<SYCL(TM) USM-{} allocation of {} bytes at {}>"

dpctl/tests/test_sycl_usm.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ def test_memory_create(memory_ctor):
5959
assert len(mobj) == nbytes
6060
assert mobj.size == nbytes
6161
assert mobj._context == queue.sycl_context
62+
assert mobj._queue == queue
63+
assert mobj.sycl_queue == queue
6264
assert type(repr(mobj)) is str
6365
assert type(bytes(mobj)) is bytes
6466
assert sys.getsizeof(mobj) > nbytes
@@ -495,7 +497,7 @@ def test_with_constructor(memory_ctor):
495497
shape=(64,),
496498
strides=(1,),
497499
offset=0,
498-
syclobj=buf._queue._get_capsule(),
500+
syclobj=buf.sycl_queue._get_capsule(),
499501
)
500502
check_view(v)
501503
# Use context capsule

0 commit comments

Comments
 (0)