dpctl.memory.MemoryUSMHost

class dpctl.memory.MemoryUSMHost(nbytes, alignment=0, queue=None, copy=False)

An object representing allocation of SYCL USM-host memory.

Non-positive alignment values are not ignored and the allocator malloc_host is used for allocation instead. If queue is None a cached default-constructed dpctl.SyclQueue is used to allocate memory.

Attributes:

nbytes

Extent of this USM buffer in bytes.

reference_obj

Reference to the Python object owning this USM buffer.

size

Extent of this USM buffer in bytes.

sycl_context

dpctl.SyclContext the USM pointer is bound to.

sycl_device

dpctl.SyclDevice the USM pointer is bound to.

sycl_queue

dpctl.SyclQueue with dpctl.SyclContext the USM allocation is bound to and dpctl.SyclDevice it was allocated on.

Public methods:

copy_from_device(sycl_usm_ary)

Copy SYCL memory underlying the argument object into the memory of the instance

copy_from_host(obj)

Copy content of Python buffer provided by obj to instance memory.

copy_to_host([obj])

Copy content of instance's memory into memory of obj, or allocate NumPy array of obj is None.

get_usm_type([syclobj])

Returns the type of USM allocation using Sycl context carried by syclobj keyword argument.

get_usm_type_enum([syclobj])

get_usm_type(syclobj=None)

memset([val])

Populates this USM allocation with given value.

tobytes()

Constructs bytes object populated with copy of USM memory.

Attributes

MemoryUSMHost._context

dpctl.SyclContext the USM pointer is bound to.

MemoryUSMHost._pointer

USM pointer at the start of this buffer represented in Python integer.

MemoryUSMHost._queue

dpctl.SyclQueue with dpctl.SyclContext the USM allocation is bound to and dpctl.SyclDevice it was allocated on.

MemoryUSMHost.nbytes

Extent of this USM buffer in bytes.

MemoryUSMHost.reference_obj

Reference to the Python object owning this USM buffer.

MemoryUSMHost.size

Extent of this USM buffer in bytes.

MemoryUSMHost.sycl_context

dpctl.SyclContext the USM pointer is bound to.

MemoryUSMHost.sycl_device

dpctl.SyclDevice the USM pointer is bound to.

MemoryUSMHost.sycl_queue

dpctl.SyclQueue with dpctl.SyclContext the USM allocation is bound to and dpctl.SyclDevice it was allocated on.

Public methods

dpctl.memory.MemoryUSMHost.copy_from_device(self, sycl_usm_ary)

Copy SYCL memory underlying the argument object into the memory of the instance

dpctl.memory.MemoryUSMHost.copy_from_host(self, obj)

Copy content of Python buffer provided by obj to instance memory.

dpctl.memory.MemoryUSMHost.copy_to_host(self, obj=None)

Copy content of instance’s memory into memory of obj, or allocate NumPy array of obj is None.

dpctl.memory.MemoryUSMHost.get_usm_type(syclobj=None)

Returns the type of USM allocation using Sycl context carried by syclobj keyword argument. Value of None is understood to query against self.sycl_context - the context used to create the allocation.

dpctl.memory.MemoryUSMHost.get_usm_type_enum(self, syclobj=None)

get_usm_type(syclobj=None)

Returns the type of USM allocation using Sycl context carried by syclobj keyword argument. Value of None is understood to query against self.sycl_context - the context used to create the allocation.

dpctl.memory.MemoryUSMHost.memset(self, val=0)

Populates this USM allocation with given value.

dpctl.memory.MemoryUSMHost.tobytes(self)

Constructs bytes object populated with copy of USM memory.