Throughput Measurements Using Event Trace - 2023.1 English

AI Engine Kernel and Graph Programming Guide (UG1079)

Document ID
UG1079
Release Date
2023-06-23
Version
2023.1 English

Using event trace for throughput measurements requires that you compile the AI Engine application using aiecompiler flag --event-trace=runtime and run the complete system in hardware using XRT or XSDB flow to extract event trace.

once the trace data are extracted they can be visualized within vitis_analyzer. An example of trace data can be seen here:

You can position markers where you want to compute the data throughput. Marker can be precisely positioned on signal edges using icons and a new marker can be added with the icon at the exact position of the mobile marker.

In order to have the most precise result in throughput computation, markers should be positioned at the beginning of the kernel frame run. The added marker should be positioned at the beginning of the first frame you want to take into account, and the mobile one on the first frame after the last one you want to take into account for the throughput computation:
Figure 1. First frame and last frame marker position

Clicking on the flag of the fixed marker which is on the first frame edge will define it as the origin of time, and relative time is displayed on the time scale and at the bottom of all other markers:

Figure 2. Relative Time Displayed on Time Scale and at Bottom of all Other Markers

Knowing the number of samples processed by each run of the kernel and the number of frames processed allows the user to compute the average throughput on this set of frames with the duration in between the first and last frame processing time.