Visualizing Deadlock in the Vitis Analyzer - 2023.2 English

Vitis Tutorials: AI Engine (XD100)

Document ID
XD100
Release Date
2024-03-05
Version
2023.2 English

This topic is a continuation of the Deadlock Detection section and walks you through the visualization of the deadlock (Lock stall and stream stall) in the Vitis Analyzer.

  1. After simulating with the --hang-detect-time=60 option, open the trace analysis view -> aie_component -> AIE SIMULATOR/HARDWARE -> Run-aie_component -> Trace.

  2. Expand the data_shuffle kernel function. It ran for only two iterations and went into a stream stall. stream stall

  3. Expand the peak_detect kernel function, and observe the lock stall after three iterations. lock stall The kernel data_shuffle expects more stream data from the kernel peak_detect which it cannot provide. So, the stream port in the data_shuffle went into the stream stall, and the kernel hangs. It cannot accept more inputs from the buffer port which causes the back pressure on the peak_detect kernel leading to a lock stall, which is the potential root cause for the deadlock.