__sycl_usm_array_interface__ attribute¶
Python objects representing USM allocations, such as dpctl.memory.MemoryUSMDevice,
dpctl.memory.MemoryUSMShared, dpctl.memory.MemoryUSMHost,
or dpctl.tensor.usm_ndarray, distinguish themselves from other Python objects
by providing the __sycl_usm_array_interface__ attribute describing the allocation in a
Python dictionary with the following fields:
"shape"a tuple of integers describing dimensions of an N-dimensional array
"typestr"a string encoding elemental data type of the array. A valid typestring is a subset of typestrings supported by NumPy’s array interface protocol corresponding to numeric and boolean data types:
bBoolean (integer type where all values are only
TrueorFalse)iInteger
uUnsigned integer
fFloating point
cComplex floating point
"data"A 2-tuple whose first element is a Python integer encoding USM pointer value. The second entry in the tuple is a read-only flag (
Truemeans the data area is read-only)."strides"An optional tuple of integers describing number of array elements needed to jump to the next array element in the corresponding dimensions. The default value of
Noneimplies a C-style contiguous (row-major compact) layout of the array."offset"An optional Python integer encoding offset in number of elements from the pointer provided in
"data"field to the array element with zero indices. Default: 0."syclobj"Python object from which SYCL context to which represented USM allocation is bound.
Filter selector string
The default context of the platform selected by filter selector string.
An explicitly provided context.
Python capsule with name
"SyclContextRef"A Python capsule carrying a
DPCTLSyclContextRefopaque pointer.An explicitly provided queue which encapsulates context.
Python capsule with name
"SyclQueueRef"A Python capsule carrying a
DPCTLSyclQueueRefopaque pointer.Any Python object with method
_get_capsuleAn object whose method call
_get_capsule()returns a Python capsule of the two supported kinds."version"Version of the interface. At present, the only supported value is 1.