Performance Metrics - 2022.1 English

Versal ACAP AI Engine Programming Environment User Guide (UG1076)

Document ID
UG1076
Release Date
2022-05-25
Version
2022.1 English

The Performance Metrics view shows the percentage of each type of stall against total simulation time or total stall count.

Figure 1. Performance Metrics View
  1. Click on the Performance Metrics view.
  2. Choose the stall type from the drop-down list. The metrics separate different types of stalls. It will show the existing stalls in the simulation result.
    Lock Stall Time (%)
    Percentage of lock stall time during which buffers in the AI Engine tile are being acquired.
    Lock Stall Count (%)
    Percentage of lock stall count in a specific tile against total lock stall count in all AI Engine tiles.
    Memory Stall Time (%)
    Percentage of memory stall time that memory accesses in the AI Engine tile have conflicts.
    Memory Stall Count (%)
    Percentage of memory stall count in a specific tile against total memory stall count in all AI Engine tiles.
    Stream Stall Time (%)
    Percentage of stream stall time due to full or empty stream.
    Stream Stall Count (%)
    Percentage of stream stall count in a specific tile against total stream stall count in all AI Engine tiles.
    Cascade Stall Time (%)
    Percentage of cascade stream stall time that either due cascade stream is full or empty.
    Cascade Stall Count (%)
    Percentage of cascade stream stall count in specific tile against total cascade stream stall count in all AI Engine tiles.
  3. Each AI Engine tile is shown as a bar in the Performance Metrics view. The higher the stall percentage, the more towards the right the bar will be. More attention should be payed to the highest bars. Click one of the bars to select the tile to focus.
  4. The Tiles view at the bottom lists all the AI Engine tiles with the information about column, row, kernels, buffers, and all the stall times, percentage, as well as count. You can click on the title row to sort on a specific column.
    Tip: When the number or information in the view is in blue, it can be cross-probed with other views.
  5. There is a % button beside the drop-down list. By clicking on this button, you can switch between displaying the stall time in percentage or nano seconds (ns).
  6. Click the Show Percentage button above the Tiles view to switch between displaying the stalls in time and count, and displaying the stalls in percentage in the Tiles view. While exploring the information in the Performance Metrics view, it is usually helpful to cross-probe with other views. For example:
    Figure 2. Trace View
  7. Choose the tile that has the largest stall time. Then go to the Trace view to see the position and frequency of the stalls.
  8. Zoom in and out of the Trace view for a better view of the stall in the timeline.
  9. Click on the Stalls view and from the drop-down list, select the type of stalls to examine. Select a stall in the Stalls view to highlight it in the Trace view.

The Performance Metrics view, Trace view, Graph view, and Array view can be cross-probed between each other. Graph view helps in understanding where the stall happens in the graph, and Array view helps in viewing the positions of the objects in hardware. Additional details about analyzing each type of stall are explained in the following sections.