Skip to content

func.ukernel

func dialect

Constraint-matched opaque implementation of an abstract op.

Operation contract

Property Value
Semantic phase
Traits SymbolDefine
Interfaces FuncLike

Symbol contract

Property Value
Kind function
Defining field callee
Interfaces func_like, callable
Flags

Signature

Kind Name Type Cardinality Description
Operand args any variadic
Result results any variadic
Attribute implements string required
Attribute callee symbol required
Attribute visibility enum Visibility optional
Attribute cc enum CallingConv optional
Attribute purity enum Purity optional
Attribute temperature enum Temperature optional
Attribute inline_policy enum InlinePolicy optional
Attribute predicates predicate_list optional
Attribute target symbol (target) optional
Attribute requires parameterized_array optional Typed proof requirements over the application-site target facts. Requirements filter provider eligibility and never add facts.
Attribute priority i64 optional
Attribute retain enum Retain optional

Examples

func.ukernel<tile.contract> device @vnni_q8_asm(%w: tensor<[%M]xi8>, %x: tensor<[%K]xf32>) -> (tensor<[%M]xf32>) where [mul(%M, 16)]
func.ukernel<tile.contract> requires [#target.subgroup.size<64>] priority(20) @subgroup64_q8_asm(%a: tile<4xf32>) -> (tile<4xf32>)
func.ukernel<tile.contract> target(@gfx11_generic) @gfx11_q8_asm(%a: tile<4xf32>) -> (tile<4xf32>)