DMA Event Trace in AI Engine-ML Tiles - 2024.1 English

AI Engine Tools and Flows User Guide (UG1076)

Document ID
UG1076
Release Date
2024-06-27
Version
2024.1 English

The DMA transfer metric all_dmaenables tracing DMA activity from memory tiles on AI Engine. This metric adds functions and activity events for all four DMA channels to trace, while the all_stalls_dma metric set includes stall events to trace.

These metrics provide information on each channel, such as the amount of data being transferred. In the xrt.ini file, metric sets are supported for AI Engine tiles only.

Table 1. DMA Transfer Metric Set
Event Type / Metric Set all_dma all_stalls_dma
Functions Captured Captured
Stalls (stream/lock/cascade/memory) NA Captured
Running activity of all four DMA Channels Captured Captured
Note: Stalls are grouped in case of all_stalls_dma metric, so stall type is not shown.
Table 2. XRT Flow Trace Options for AI Engine Tiles
Option Description
tile_based_aie_tile_metrics = {<mincolumn,<minrow>}:

{<maxcolumn>,<maxrow>}:<all_dma|all_stalls_dma>

Configures the AI Engine tile DMA event trace metric to be applied for a range of tiles.
tile_based_aie_tile_metrics = <{<column>,<row>}|all>:<all_dma|all_stalls_dma> Configures the AI Engine tile DMA event trace metric to be applied for single or all tiles.
graph_based_aie_tile_metrics =

<graph name|all>:<kernel_name|all:<off|

all_dma|all_stalls_dma>

Configures the AI Engine tile DMA event trace metric to be applied for all DMA in a specific or all graphs.

Following are xrt.ini file examples

#Sets event trace to "all_stalls_dma" for the kernel2 of graph1 and "all_dma" for all kernels in graph3.
graph_based_aie_tile_metrics=graph1:kernel2:all_stalls_dma; graph3:all:all_dma
#Sets event trace to "all_dma" for column 4 and row 1 only.
tile_based_aie_tile_metrics={4,1}:all_dma
Table 3. XSDB Flow Trace Options for AI-Engine Tiles
Option Description
-tile-based-aie-tile-metrics

Sets which AIE-ML tile event to store for specified tiles.

-graph-based-aie-tile-metrics

Sets which AI Engine-ML tile event to store for specified buffers/graph.

Following are examples of event tracing for AI Engine tiles using a XSDB flow:

# Sets event trace to "all_stalls_dma" for the kernel2 of graph1 and "all_dma" for all kernels in graph3.
-graph-based-aie-tile-metrics "graph1:kernel2:all_stalls_dma; graph3:all:all_dma"
#Sets event trace to "all_dma" for column 4 and row 1 only.
-tile-based-aie-tile-metrics "4:1:all_dma"
Figure 1. Trace using the all_dma Metric
Figure 2. Trace using the all_stalls_dma Metric