Skip to content

low.kernel.def

low dialect

Target-bound low kernel entry with register-typed launch ABI values. Helper calls stay in low.func.def; kernel launch/export contracts live on this entry op.

Operation contract

Property Value
Semantic phase executable
Traits SymbolDefine, IsolatedFromAbove
Interfaces FuncLike

Symbol contract

Property Value
Kind function
Defining field callee
Interfaces func_like
Flags

Signature

Kind Name Type Cardinality Description
Attribute callee symbol required
Attribute target symbol (target) optional
Attribute descriptor_set string required Canonical descriptor-set key governing the low representation.
Attribute abi_layout dict optional
Attribute export_symbol string optional
Attribute export_linkage enum ExportLinkage optional
Attribute workgroup_size_x i64 optional
Attribute workgroup_size_y i64 optional
Attribute workgroup_size_z i64 optional
Attribute workgroup_count_x i64 optional
Attribute workgroup_count_y i64 optional
Attribute workgroup_count_z i64 optional
Attribute workgroup_cluster_size_x i64 optional
Attribute workgroup_cluster_size_y i64 optional
Attribute workgroup_cluster_size_z i64 optional
Attribute allocation enum LowAllocationMode optional
Attribute schedule enum LowScheduleMode optional
Attribute predicates predicate_list optional
Attribute retain enum Retain optional
Region body region required Low kernel body. (terminator low.return.)

Verification constraints

  • BlockArgsSatisfy(body)

Examples

low.kernel.def target<amdgpu.gfx11.generic.core>(@gfx11_generic) export("matmul") workgroup_size(16, 4, 1) @matmul(%lhs: reg<amdgpu.sgpr x4>, %rhs: reg<amdgpu.sgpr x4>, %out: reg<amdgpu.sgpr x4>) {
  low.return
}