Skip to content

'runtime' Dialect

A runtime out-of-tree MLIR dialect This dialect contains dedicated operations, types, and attributes designed for representing hardware runtimes in MLIR.

Operations

runtime.delete_pointer (streamtensor::runtime::DeletePointerOp)

Delete a runtime Pointer

Syntax:

operation ::= `runtime.delete_pointer` $pointer attr-dict `:` type(operands)

Operands:

Operand Description
pointer pointer type of any type

runtime.load_binary_file (streamtensor::runtime::LoadBinaryFileOp)

Load a binary file

Syntax:

operation ::= `runtime.load_binary_file` $globalName attr-dict `:` type(results)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface), SymbolUserOpInterface

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
globalName::mlir::FlatSymbolRefAttrflat symbol reference attribute

Results:

Result Description
fileBuffer pointer type of any type

runtime.memref_to_pointer (streamtensor::runtime::MemRefToPointerOp)

Convert a runtime MemRef to a Pointer

Syntax:

operation ::= `runtime.memref_to_pointer` $memref attr-dict `:` functional-type(operands, results)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

Operand Description
memref statically shaped memref of any type values

Results:

Result Description
pointer pointer type of any type

runtime.memref_unwiden (streamtensor::runtime::MemRefUnWidenOp)

Unwiden a runtime MemRef instance

Syntax:

operation ::= `runtime.memref_unwiden` $source attr-dict `:` functional-type(operands, results)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface), ViewLikeOpInterface

Effects: MemoryEffects::Effect{}

Operands:

Operand Description
source statically shaped memref of any type values

Results:

Result Description
result statically shaped memref of any type values

runtime.memref_widen (streamtensor::runtime::MemRefWidenOp)

Widen a runtime MemRef instance

Syntax:

operation ::= `runtime.memref_widen` $source attr-dict `:` functional-type(operands, results)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface), ViewLikeOpInterface

Effects: MemoryEffects::Effect{}

Operands:

Operand Description
source statically shaped memref of any type values

Results:

Result Description
result statically shaped memref of any type values

runtime.pointer_to_memref (streamtensor::runtime::PointerToMemRefOp)

Convert a runtime Pointer to a MemRef

Syntax:

operation ::= `runtime.pointer_to_memref` $pointer attr-dict `:` functional-type(operands, results)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

Operand Description
pointer pointer type of any type

Results:

Result Description
memref statically shaped memref of any type values

runtime.xrt_buffer (streamtensor::runtime::XRTBufferOp)

Create an XRT buffer object

Syntax:

operation ::= `runtime.xrt_buffer` `device` $xrtDevice `size` $sizeInByte `group` $xrtKernel `[` $argIndex `]`
              attr-dict `:` functional-type(operands, results)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
sizeInByte::mlir::IntegerAttr64-bit signed integer attribute
argIndex::mlir::IntegerAttr64-bit signed integer attribute

Operands:

Operand Description
xrtDevice opaque type with name of xrt::device
xrtKernel opaque type with name of xrt::kernel

Results:

Result Description
xrtBuffer opaque type with name of xrt::bo

runtime.xrt_buffer_sync_read (streamtensor::runtime::XRTBufferSyncReadOp)

Read from an XRT buffer object

Syntax:

operation ::= `runtime.xrt_buffer_sync_read` $xrtBuffer `to` $hostBuffer attr-dict `:` type(operands)

Operands:

Operand Description
xrtBuffer opaque type with name of xrt::bo
hostBuffer pointer type of any type

runtime.xrt_buffer_write_sync (streamtensor::runtime::XRTBufferWriteSyncOp)

Write to an XRT buffer object

Syntax:

operation ::= `runtime.xrt_buffer_write_sync` $xrtBuffer `from` $hostBuffer attr-dict `:` type(operands)

Operands:

Operand Description
xrtBuffer opaque type with name of xrt::bo
hostBuffer pointer type of any type

runtime.xrt_device (streamtensor::runtime::XRTDeviceOp)

Create an XRT device

Syntax:

operation ::= `runtime.xrt_device` $deviceIndex attr-dict `:` functional-type(operands, results)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

Operand Description
deviceIndex index

Results:

Result Description
xrtDevice opaque type with name of xrt::device

runtime.xrt_kernel (streamtensor::runtime::XRTKernelOp)

Create an XRT kernel

Syntax:

operation ::= `runtime.xrt_kernel` `device` $xrtDevice `xclbin` $xrtXclbin $kernelName attr-dict `:`
              functional-type(operands, results)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface), SymbolUserOpInterface

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
kernelName::mlir::FlatSymbolRefAttrflat symbol reference attribute

Operands:

Operand Description
xrtDevice opaque type with name of xrt::device
xrtXclbin opaque type with name of xrt::uuid

Results:

Result Description
xrtKernel opaque type with name of xrt::kernel

runtime.xrt_load_xclbin (streamtensor::runtime::XRTLoadXclbinOp)

Load an XRT xclbin

Syntax:

operation ::= `runtime.xrt_load_xclbin` `device` $xrtDevice $kernelName attr-dict `:`
              functional-type(operands, results)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface), SymbolUserOpInterface

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
kernelName::mlir::FlatSymbolRefAttrflat symbol reference attribute

Operands:

Operand Description
xrtDevice opaque type with name of xrt::device

Results:

Result Description
xrtXclbin opaque type with name of xrt::uuid

runtime.xrt_logf (streamtensor::runtime::XRTLogFOp)

Print a formatted string to the console

Syntax:

operation ::= `runtime.xrt_logf` $format (`,` $args^)? attr-dict `:` type(operands)

Attributes:

AttributeMLIR TypeDescription
format::mlir::StringAttrstring attribute

Operands:

Operand Description
args variadic of any type

runtime.xrt_run (streamtensor::runtime::XRTRunOp)

Run an XRT kernel

Syntax:

operation ::= `runtime.xrt_run` `kernel` $xrtKernel (`buffers` $xrtBuffers^)? attr-dict `:`
              functional-type(operands, results)

Operands:

Operand Description
xrtKernel opaque type with name of xrt::kernel
xrtBuffers variadic of opaque type with name of xrt::bo

Results:

Result Description
xrtRun opaque type with name of xrt::run

runtime.xrt_run_set_arg (streamtensor::runtime::XRTRunSetArgOp)

Set an argument for an XRT kernel run

Syntax:

operation ::= `runtime.xrt_run_set_arg` $xrtRun `[` $argIndex `]` `with` $xrtBuffer attr-dict `:` type(operands)

Attributes:

AttributeMLIR TypeDescription
argIndex::mlir::IntegerAttr64-bit signed integer attribute

Operands:

Operand Description
xrtRun opaque type with name of xrt::run
xrtBuffer opaque type with name of xrt::bo

runtime.xrt_run_start (streamtensor::runtime::XRTRunStartOp)

Start an XRT kernel run

Syntax:

operation ::= `runtime.xrt_run_start` $xrtRun attr-dict `:` type(operands)

Operands:

Operand Description
xrtRun opaque type with name of xrt::run

runtime.xrt_run_wait (streamtensor::runtime::XRTRunWaitOp)

Wait for an XRT kernel run to finish

Syntax:

operation ::= `runtime.xrt_run_wait` $xrtRun `timeout` $timeoutInMs `ms` attr-dict `:` type(operands)

Attributes:

AttributeMLIR TypeDescription
timeoutInMs::mlir::IntegerAttr64-bit signed integer attribute

Operands:

Operand Description
xrtRun opaque type with name of xrt::run

Types

OpaqueType

A runtime opaque type

Syntax:

!runtime.opaque<
  ::llvm::StringRef   # name
>

Parameters:

Parameter C++ type Description
name ::llvm::StringRef

PointerType

A runtime pointer type

Syntax:

!runtime.ptr<
  mlir::Type,   # elementType
  unsigned   # numElements
>

Parameters:

Parameter C++ type Description
elementType mlir::Type
numElements unsigned