numba_dpex.core.datamodel.models module

class numba_dpex.core.datamodel.models.ArrayModel(dmm, fe_type)

Bases: StructModel

A data model to represent a Dpex’s array types in LLVM IR.

Dpex’s ArrayModel is based on Numba’s ArrayModel for NumPy arrays. The dpex model adds an extra address space attribute to all pointer members in the array.

class numba_dpex.core.datamodel.models.GenericPointerModel(dmm, fe_type)

Bases: PrimitiveModel

class numba_dpex.core.datamodel.models.SyclQueueModel(dmm, fe_type)

Bases: StructModel

Represents the native data model for a dpctl.SyclQueue PyObject.

Numba-dpex uses a C struct as defined in numba_dpex/core/runtime._queuestruct.h to store the required attributes for a dpctl.SyclQueue Python object.

  • queue_ref: An opaque C pointer to an actual SYCL queue C++ object.

  • parent: A PyObject* that stores a reference back to the original

    dpctl.SyclQueue PyObject if the native struct is created by unboxing the PyObject.