|
| None | __init__ (self, bool strict_task_groups=True) |
| |
| None | add_flow (self, flow) |
| |
| None | add_lock (self, lock) |
| |
| None | add_tile_dma (self, tile_dma) |
| |
| | flows (self) |
| |
| | locks (self) |
| |
| | tile_dmas (self) |
| |
| | sequence (self, *type[np.ndarray] input_types) |
| |
| RuntimeTaskGroup | task_group (self) |
| |
| | finish_task_group (self, RuntimeTaskGroup task_group) |
| |
| None | fill (self, ObjectFifoHandle in_fifo, RuntimeData source, TensorAccessPattern|None tap=None, RuntimeTaskGroup|None task_group=None, bool wait=False, Tile tile=AnyShimTile, tuple[int, int]|None packet=None, "ScratchpadParameter | str | None" offset_parameter=None) |
| |
| None | drain (self, ObjectFifoHandle out_fifo, RuntimeData dest, TensorAccessPattern|None tap=None, RuntimeTaskGroup|None task_group=None, bool wait=False, Tile tile=AnyShimTile, tuple[int, int]|None packet=None, "ScratchpadParameter | str | None" offset_parameter=None) |
| |
| | start (self, *Worker args) |
| |
| | inline_ops (self, Callable inline_func, list inline_args) |
| |
| | enable_trace (self, int|None trace_size=None, list|None workers=None, int ddr_id=4, list|None coretile_events=None, list|None coremem_events=None, list|None memtile_events=None, list|None shimtile_events=None, int egress_shim_col=0) |
| |
| | set_barrier (self, WorkerRuntimeBarrier barrier, int value) |
| |
| | sync_parameters (self) |
| |
| list[Worker] | workers (self) |
| |
| list[ObjectFifoHandle] | fifos (self) |
| |
| None | resolve (self, ir.Location|None loc=None, ir.InsertionPoint|None ip=None) |
| |
A Runtime contains that operations and structure of all operations that
need to be taken care of by the host/runtime in order to run a program.
| None iron.runtime.runtime.Runtime.drain |
( |
|
self, |
|
|
ObjectFifoHandle |
out_fifo, |
|
|
RuntimeData |
dest, |
|
|
TensorAccessPattern | None |
tap = None, |
|
|
RuntimeTaskGroup | None |
task_group = None, |
|
|
bool |
wait = False, |
|
|
Tile |
tile = AnyShimTile, |
|
|
tuple[int, int] | None |
packet = None, |
|
|
"ScratchpadParameter | str | None" |
offset_parameter = None |
|
) |
| |
Conceptually fill an ObjectFifoHandle (of type consumer) of data and write that data to a runtime buffer.
This should be called within a Runtime.sequence() context.
Args:
out_fifo (ObjectFifoHandle): The consumer ObjectFifoHandle.
dest (RuntimeData): The output Runtime data buffer.
tap (TensorAccessPattern | None, optional): A way of specifying how data in the buffer is accessed when reading from the out_fifo.
If None is given, this will default to a linear transfer containing all data in the destination buffer. Defaults to None.
task_group (RuntimeTaskGroup | None, optional): A TaskGroup to associate this task with. Defaults to None.
wait (bool, optional): Whether this Task should be awaited on or not. If not, it will be freed when the task group is finished. Defaults to False.
tile (Tile | None, optional): The Shim tile to associate the data transfer with. Defaults to AnyShimTile.
packet (tuple[int, int] | None, optional): Stamp the shim DMA's BD
with a packet header ``(pkt_type, pkt_id)``. Pairs with
downstream packet-switched routing (e.g. ObjectFifos lowered
with ``--packet-sw-objFifos`` or an explicit
:class:`~aie.iron.PacketFlow`). Defaults to None.
offset_parameter (ScratchpadParameter | str | None, optional): A ScratchpadParameter (or its name) whose value is used as the element offset for this DMA transfer. Defaults to None.
Raises:
ValueError: Arguments are validated.
| iron.runtime.runtime.Runtime.enable_trace |
( |
|
self, |
|
|
int | None |
trace_size = None, |
|
|
list | None |
workers = None, |
|
|
int |
ddr_id = 4, |
|
|
list | None |
coretile_events = None, |
|
|
list | None |
coremem_events = None, |
|
|
list | None |
memtile_events = None, |
|
|
list | None |
shimtile_events = None, |
|
|
int |
egress_shim_col = 0 |
|
) |
| |
Enable hardware tracing for this program.
Configures the AIE trace units and routes trace packets to DDR via the shim DMA.
Should be called within a :meth:`sequence` context before data movement operations.
Args:
trace_size (int): Size of the trace buffer in bytes.
workers (list[Worker] | None, optional): Specific workers to trace. If None,
all workers with ``trace`` set will be traced. Defaults to None.
ddr_id (int, optional): XRT inout buffer index (0-4) to write trace data
into, mapping to group_id (3-7). Defaults to 4 (group_id 7).
Set to -1 to append trace data after the last runtime_sequence
tensor argument.
coretile_events (list | None, optional): List of up to 8 core tile trace events.
See ``https://xilinx.github.io/mlir-aie/AIEXDialect.html`` for available
events under (type)EventAIE such as CoreEventAIE.
Defaults to None (uses hardware defaults).
coremem_events (list | None, optional): List of up to 8 core memory trace events.
Defaults to None (uses hardware defaults).
memtile_events (list | None, optional): List of up to 8 mem tile trace events.
Defaults to None (uses hardware defaults).
shimtile_events (list | None, optional): List of up to 8 shim tile trace events.
Defaults to None (uses hardware defaults).
egress_shim_col (int, optional): Column of the shim tile used to
egress trace packets to DDR. Defaults to 0.
| None iron.runtime.runtime.Runtime.fill |
( |
|
self, |
|
|
ObjectFifoHandle |
in_fifo, |
|
|
RuntimeData |
source, |
|
|
TensorAccessPattern | None |
tap = None, |
|
|
RuntimeTaskGroup | None |
task_group = None, |
|
|
bool |
wait = False, |
|
|
Tile |
tile = AnyShimTile, |
|
|
tuple[int, int] | None |
packet = None, |
|
|
"ScratchpadParameter | str | None" |
offset_parameter = None |
|
) |
| |
Conceptually fill an ObjectFifoHandle (of type producer) with data from a runtime buffer.
This should be called within a Runtime.sequence() context.
Args:
in_fifo (ObjectFifoHandle): The producer ObjectFifoHandle.
source (RuntimeData): The input Runtime data buffer.
tap (TensorAccessPattern | None, optional): A way of specifying how data in the buffer is accessed when sending it to the in_fifo.
If None is given, this will default to a linear transfer containing all data in the source buffer. Defaults to None.
task_group (RuntimeTaskGroup | None, optional): A TaskGroup to associate this task with. Defaults to None.
wait (bool, optional): Whether this Task should be awaited on or not. If not, it will be freed when the task group is finished. Defaults to False.
tile (Tile | None, optional): The Shim tile to associate the data transfer with. Defaults to AnyShimTile.
packet (tuple[int, int] | None, optional): Stamp the shim DMA's BD
with a packet header ``(pkt_type, pkt_id)``. Pairs with
downstream packet-switched routing (e.g. ObjectFifos lowered
with ``--packet-sw-objFifos`` or an explicit
:class:`~aie.iron.PacketFlow`). Defaults to None.
offset_parameter (ScratchpadParameter | str | None, optional): A ScratchpadParameter (or its name) whose value is used as the element offset for this DMA transfer. Defaults to None.
Raises:
ValueError: Arguments are validated.