mlir.dialects._xegpu_transform_ops_gen

Attributes

Classes

ConvertLayoutOp

Adds an xegpu.convert_layout op to convert the xegpu.layout attribute

ConvertLayoutOpAdaptor

GetLoadOp

Traces the producers of the given value until an xegpu.load_nd or

GetLoadOpAdaptor

InsertPrefetchOp

Inserts xegpu.prefetch_nd operations for the given xegpu.load_nd op.

InsertPrefetchOpAdaptor

SetAnchorLayoutOp

Sets the xegpu.layout anchor layout for XeGPU ops that support it. The

SetAnchorLayoutOpAdaptor

SetGPULaunchThreadsOp

Overrides the x,y,z threads operands of a given gpu.launch operation in-place.

SetGPULaunchThreadsOpAdaptor

Functions

xegpu_convert_layout(→ _ods_ir)

xegpu_get_load_op(→ _ods_ir)

xegpu_insert_prefetch(→ _ods_ir)

xegpu_set_anchor_layout(→ SetAnchorLayoutOp)

xegpu_set_gpu_launch_threads(→ SetGPULaunchThreadsOp)

Module Contents

mlir.dialects._xegpu_transform_ops_gen._ods_ir
mlir.dialects._xegpu_transform_ops_gen._Buffer
class mlir.dialects._xegpu_transform_ops_gen.ConvertLayoutOp(newConvertOp: _ods_ir, target: _ods_ir, input_sg_layout: Sequence[_ods_ir], input_sg_data: Sequence[_ods_ir], input_inst_data: Sequence[_ods_ir], target_sg_layout: Sequence[_ods_ir], target_sg_data: Sequence[_ods_ir], target_inst_data: Sequence[_ods_ir], *, input_order: Sequence[int] | _ods_ir | None = None, static_input_sg_layout: Sequence[int] | _ods_ir | None = None, static_input_sg_data: Sequence[int] | _ods_ir | None = None, static_input_inst_data: Sequence[int] | _ods_ir | None = None, static_target_sg_layout: Sequence[int] | _ods_ir | None = None, static_target_sg_data: Sequence[int] | _ods_ir | None = None, static_target_inst_data: Sequence[int] | _ods_ir | None = None, target_order: Sequence[int] | _ods_ir | None = None, loc: _ods_ir | None = None, ip: _ods_ir | None = None)

Bases: _ods_ir

Adds an xegpu.convert_layout op to convert the xegpu.layout attribute of a value before its first use. The input and target layouts are defined by the *sg_layout, *sg_data and optional *inst_data and *order attributes. Returns a handle to the emitted xegpu.convert_layout op.

OPERATION_NAME = 'transform.xegpu.convert_layout'
_ODS_OPERAND_SEGMENTS
_ODS_REGIONS = (0, True)
target() _ods_ir
input_sg_layout() _ods_ir
input_sg_data() _ods_ir
input_inst_data() _ods_ir
target_sg_layout() _ods_ir
target_sg_data() _ods_ir
target_inst_data() _ods_ir
input_order() _ods_ir | None
static_input_sg_layout() _ods_ir | None
static_input_sg_data() _ods_ir | None
static_input_inst_data() _ods_ir | None
static_target_sg_layout() _ods_ir | None
static_target_sg_data() _ods_ir | None
static_target_inst_data() _ods_ir | None
target_order() _ods_ir | None
newConvertOp() _ods_ir
class mlir.dialects._xegpu_transform_ops_gen.ConvertLayoutOpAdaptor

Bases: _ods_ir

OPERATION_NAME = 'transform.xegpu.convert_layout'
target() _ods_ir
input_sg_layout() _ods_ir
input_sg_data() _ods_ir
input_inst_data() _ods_ir
target_sg_layout() _ods_ir
target_sg_data() _ods_ir
target_inst_data() _ods_ir
input_order() _ods_ir | None
static_input_sg_layout() _ods_ir | None
static_input_sg_data() _ods_ir | None
static_input_inst_data() _ods_ir | None
static_target_sg_layout() _ods_ir | None
static_target_sg_data() _ods_ir | None
static_target_inst_data() _ods_ir | None
target_order() _ods_ir | None
mlir.dialects._xegpu_transform_ops_gen.xegpu_convert_layout(new_convert_op: _ods_ir, target: _ods_ir, input_sg_layout: Sequence[_ods_ir], input_sg_data: Sequence[_ods_ir], input_inst_data: Sequence[_ods_ir], target_sg_layout: Sequence[_ods_ir], target_sg_data: Sequence[_ods_ir], target_inst_data: Sequence[_ods_ir], *, input_order: Sequence[int] | _ods_ir | None = None, static_input_sg_layout: Sequence[int] | _ods_ir | None = None, static_input_sg_data: Sequence[int] | _ods_ir | None = None, static_input_inst_data: Sequence[int] | _ods_ir | None = None, static_target_sg_layout: Sequence[int] | _ods_ir | None = None, static_target_sg_data: Sequence[int] | _ods_ir | None = None, static_target_inst_data: Sequence[int] | _ods_ir | None = None, target_order: Sequence[int] | _ods_ir | None = None, loc: _ods_ir | None = None, ip: _ods_ir | None = None) _ods_ir
class mlir.dialects._xegpu_transform_ops_gen.GetLoadOp(loadNdHandle: _ods_ir, target: _ods_ir, *, loc: _ods_ir | None = None, ip: _ods_ir | None = None)

Bases: _ods_ir

Traces the producers of the given value until an xegpu.load_nd or xegpu.load op is found. Returns a handle to it. Currently traces producers by following only the first operand of producer ops.

OPERATION_NAME = 'transform.xegpu.get_load_op'
_ODS_REGIONS = (0, True)
target() _ods_ir
loadNdHandle() _ods_ir
class mlir.dialects._xegpu_transform_ops_gen.GetLoadOpAdaptor

Bases: _ods_ir

OPERATION_NAME = 'transform.xegpu.get_load_op'
target() _ods_ir
mlir.dialects._xegpu_transform_ops_gen.xegpu_get_load_op(load_nd_handle: _ods_ir, target: _ods_ir, *, loc: _ods_ir | None = None, ip: _ods_ir | None = None) _ods_ir
class mlir.dialects._xegpu_transform_ops_gen.InsertPrefetchOp(desc_op: _ods_ir, target: _ods_ir, *, dynamic_nb_prefetch: _ods_ir | None = None, static_nb_prefetch: int | _ods_ir | None = None, loc: _ods_ir | None = None, ip: _ods_ir | None = None)

Bases: _ods_ir

Inserts xegpu.prefetch_nd operations for the given xegpu.load_nd op. The load op must reside within the scf.for loop. Number of prefetch steps is set by the nb_prefetch argument (default value is 1). Returns a handle to the created xegpu.create_nd_desc op.

OPERATION_NAME = 'transform.xegpu.insert_prefetch'
_ODS_REGIONS = (0, True)
target() _ods_ir
dynamic_nb_prefetch() _ods_ir | None
static_nb_prefetch() _ods_ir | None
desc_op() _ods_ir
class mlir.dialects._xegpu_transform_ops_gen.InsertPrefetchOpAdaptor

Bases: _ods_ir

OPERATION_NAME = 'transform.xegpu.insert_prefetch'
target() _ods_ir
dynamic_nb_prefetch() _ods_ir | None
static_nb_prefetch() _ods_ir | None
mlir.dialects._xegpu_transform_ops_gen.xegpu_insert_prefetch(desc_op: _ods_ir, target: _ods_ir, *, dynamic_nb_prefetch: _ods_ir | None = None, static_nb_prefetch: int | _ods_ir | None = None, loc: _ods_ir | None = None, ip: _ods_ir | None = None) _ods_ir
class mlir.dialects._xegpu_transform_ops_gen.SetAnchorLayoutOp(target: _ods_ir, sg_layout: Sequence[_ods_ir], sg_data: Sequence[_ods_ir], inst_data: Sequence[_ods_ir], *, index: int | _ods_ir | None = None, static_sg_layout: Sequence[int] | _ods_ir | None = None, static_sg_data: Sequence[int] | _ods_ir | None = None, static_inst_data: Sequence[int] | _ods_ir | None = None, order: Sequence[int] | _ods_ir | None = None, slice_dims: Sequence[int] | _ods_ir | None = None, loc: _ods_ir | None = None, ip: _ods_ir | None = None)

Bases: _ods_ir

Sets the xegpu.layout anchor layout for XeGPU ops that support it. The target operand value can be set by the index argument (currently only applicable to a DPAS op). The layout is defined by the sg_layout, sg_data and optional inst_data and order attributes. If slice_dims is provided, the xegpu.layout attribute is wrapped in an xegpu.slice<..., dims=slice_dims> attribute. Emits a silenceable failure if the target op does not support anchor layouts.

OPERATION_NAME = 'transform.xegpu.set_anchor_layout'
_ODS_OPERAND_SEGMENTS
_ODS_REGIONS = (0, True)
target() _ods_ir
sg_layout() _ods_ir
sg_data() _ods_ir
inst_data() _ods_ir
index() _ods_ir | None
static_sg_layout() _ods_ir | None
static_sg_data() _ods_ir | None
static_inst_data() _ods_ir | None
order() _ods_ir | None
slice_dims() _ods_ir | None
class mlir.dialects._xegpu_transform_ops_gen.SetAnchorLayoutOpAdaptor

Bases: _ods_ir

OPERATION_NAME = 'transform.xegpu.set_anchor_layout'
target() _ods_ir
sg_layout() _ods_ir
sg_data() _ods_ir
inst_data() _ods_ir
index() _ods_ir | None
static_sg_layout() _ods_ir | None
static_sg_data() _ods_ir | None
static_inst_data() _ods_ir | None
order() _ods_ir | None
slice_dims() _ods_ir | None
mlir.dialects._xegpu_transform_ops_gen.xegpu_set_anchor_layout(target: _ods_ir, sg_layout: Sequence[_ods_ir], sg_data: Sequence[_ods_ir], inst_data: Sequence[_ods_ir], *, index: int | _ods_ir | None = None, static_sg_layout: Sequence[int] | _ods_ir | None = None, static_sg_data: Sequence[int] | _ods_ir | None = None, static_inst_data: Sequence[int] | _ods_ir | None = None, order: Sequence[int] | _ods_ir | None = None, slice_dims: Sequence[int] | _ods_ir | None = None, loc: _ods_ir | None = None, ip: _ods_ir | None = None) SetAnchorLayoutOp
class mlir.dialects._xegpu_transform_ops_gen.SetGPULaunchThreadsOp(target: _ods_ir, threads: Sequence[_ods_ir], *, static_threads: Sequence[int] | _ods_ir | None = None, loc: _ods_ir | None = None, ip: _ods_ir | None = None)

Bases: _ods_ir

Overrides the x,y,z threads operands of a given gpu.launch operation in-place.

OPERATION_NAME = 'transform.xegpu.set_gpu_launch_threads'
_ODS_REGIONS = (0, True)
target() _ods_ir
threads() _ods_ir
static_threads() _ods_ir | None
class mlir.dialects._xegpu_transform_ops_gen.SetGPULaunchThreadsOpAdaptor

Bases: _ods_ir

OPERATION_NAME = 'transform.xegpu.set_gpu_launch_threads'
target() _ods_ir
threads() _ods_ir
static_threads() _ods_ir | None
mlir.dialects._xegpu_transform_ops_gen.xegpu_set_gpu_launch_threads(target: _ods_ir, threads: Sequence[_ods_ir], *, static_threads: Sequence[int] | _ods_ir | None = None, loc: _ods_ir | None = None, ip: _ods_ir | None = None) SetGPULaunchThreadsOp