'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)
- runtime.load_binary_file (streamtensor::runtime::LoadBinaryFileOp)
- runtime.memref_to_pointer (streamtensor::runtime::MemRefToPointerOp)
- runtime.memref_unwiden (streamtensor::runtime::MemRefUnWidenOp)
- runtime.memref_widen (streamtensor::runtime::MemRefWidenOp)
- runtime.pointer_to_memref (streamtensor::runtime::PointerToMemRefOp)
- runtime.xrt_buffer (streamtensor::runtime::XRTBufferOp)
- runtime.xrt_buffer_sync_read (streamtensor::runtime::XRTBufferSyncReadOp)
- runtime.xrt_buffer_write_sync (streamtensor::runtime::XRTBufferWriteSyncOp)
- runtime.xrt_device (streamtensor::runtime::XRTDeviceOp)
- runtime.xrt_kernel (streamtensor::runtime::XRTKernelOp)
- runtime.xrt_load_xclbin (streamtensor::runtime::XRTLoadXclbinOp)
- runtime.xrt_logf (streamtensor::runtime::XRTLogFOp)
- runtime.xrt_run (streamtensor::runtime::XRTRunOp)
- runtime.xrt_run_set_arg (streamtensor::runtime::XRTRunSetArgOp)
- runtime.xrt_run_start (streamtensor::runtime::XRTRunStartOp)
- runtime.xrt_run_wait (streamtensor::runtime::XRTRunWaitOp)
- Types
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:¶
Attribute | MLIR Type | Description |
---|---|---|
globalName | ::mlir::FlatSymbolRefAttr | flat 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:¶
Attribute | MLIR Type | Description |
---|---|---|
sizeInByte | ::mlir::IntegerAttr | 64-bit signed integer attribute |
argIndex | ::mlir::IntegerAttr | 64-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:¶
Attribute | MLIR Type | Description |
---|---|---|
kernelName | ::mlir::FlatSymbolRefAttr | flat 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:¶
Attribute | MLIR Type | Description |
---|---|---|
kernelName | ::mlir::FlatSymbolRefAttr | flat 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:¶
Attribute | MLIR Type | Description |
---|---|---|
format | ::mlir::StringAttr | string 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:¶
Attribute | MLIR Type | Description |
---|---|---|
argIndex | ::mlir::IntegerAttr | 64-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:¶
Attribute | MLIR Type | Description |
---|---|---|
timeoutInMs | ::mlir::IntegerAttr | 64-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 |