Skip to content

'npu_kernel' Dialect

NPU kernel semantic dialect Public NPU layer for kernel-level semantics that cannot be represented precisely in existing standard dialects.

Operations

npu_kernel.dma_await (iree_compiler::NPUKernel::DmaAwaitOp)

Wait on async DMA token

Syntax:

operation ::= `npu_kernel.dma_await` $token attr-dict `:` type($token)

Operands:

Operand Description
token any type

npu_kernel.dma_start (iree_compiler::NPUKernel::DmaStartOp)

Async DMA launch returning an async token

Syntax:

operation ::= `npu_kernel.dma_start` $src `,` $dst `size` `=` $size attr-dict `:` type($src) `to` type($dst) `->` type($token)

Attributes:

AttributeMLIR TypeDescription
size::mlir::IntegerAttr64-bit signless integer attribute

Operands:

Operand Description
src memref of any type values
dst memref of any type values

Results:

Result Description
token any type

npu_kernel.matmul (iree_compiler::NPUKernel::MatmulOp)

NPU kernel-level matmul intent

Syntax:

operation ::= `npu_kernel.matmul` $lhs `,` $rhs attr-dict `:` type($lhs) `,` type($rhs) `->` type($result)

Operands:

Operand Description
lhs tensor of any type values
rhs tensor of any type values

Results:

Result Description
result tensor of any type values

npu_kernel.ukernel_generic (iree_compiler::NPUKernel::UKernelGenericOp)

Kernel-level generic ukernel call

Syntax:

operation ::= `npu_kernel.ukernel_generic` $symbol `(` $inputs `)` attr-dict `:` type($inputs) `->` type($result)

Attributes:

AttributeMLIR TypeDescription
symbol::mlir::StringAttrstring attribute

Operands:

Operand Description
inputs variadic of tensor of any type values

Results:

Result Description
result tensor of any type values