dpctl.memory.MemoryUSMDevice

class dpctl.memory.MemoryUSMDevice(nbytes, alignment=0, queue=None)

Class representing allocation of SYCL USM-device memory.

Parameters:
  • nbytes (int) – number of bytes to allocated. Expected to be positive.

  • alignment (Optional[int]) – allocation alignment request. Non-positive alignment values are not ignored and the unaligned allocator sycl::malloc_device is used to make allocation instead. Default: 0.

  • queue (Optional[dpctl.SyclQueue]) – SYCL queue associated with return allocation instance. Allocation is performed on the device associated with the queue, and is bound to SYCL context from the queue. If queue is None a cached default-constructed dpctl.SyclQueue is used to allocate memory.

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 dpctl.SyclContext 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

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.

__sycl_usm_array_interface__

Dictionary encoding information about USM allocation.