Npu kernel ops
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:
| Attribute | MLIR Type | Description |
size | ::mlir::IntegerAttr | 64-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:
| Attribute | MLIR Type | Description |
symbol | ::mlir::StringAttr | string attribute |
Operands:
| Operand |
Description |
inputs |
variadic of tensor of any type values |
Results:
| Result |
Description |
result |
tensor of any type values |