AI Engine Status Using XRT - 2023.2 English

Vitis Tutorials: AI Engine (XD100)

Document ID
XD100
Release Date
2024-03-05
Version
2023.2 English
  1. Now program the hardware image on to the VCK190 device, and create an xrt.ini file as follows:

//xrt.ini

[Debug]
aie_status=true
aie_status_interval_us=1000
  1. Run the application, host.exe a.xclbin.

  2. When the host program is running, the AI Engine status is copied to the xrt.run_summary file. A summary of the output files are:

    • xrt.run_summary: Run summary that contains list of files information that can be used by the Vitis Analyzer.

    • aie_status_edge.json: Status of AI Engine and AI Engine memory.

    • aieshim_status_edge.json: AI Engine interface tiles status. -summary.csv: Always created.

You can also see the following messages in the console indicating the actual deadlock:

HOST:
EXE: /run/media/mmcblk0p1/host.exe
[XRT] WARNING: Potential deadlock/hang found in AI Engines. Graph : mygraph
[XRT] WARNING: Potential stuck cores found in AI Engines. Graph : mygraph Tile :       (25,1) Status 0x401 : Enable,Stream_Stall_SS0
  1. Observe the hang, and kill the application by pressing Ctrl+c or suspend using Ctrl+z.

  2. Copy all these files back to the local workspace where the AI Enigne compile Work/ directory is present, and open the xrt.run_summary file in the Vitis Analyzer.

vitis_analyzer --classic xrt.run_summary`
  1. Click Set AI Engine Compile Summary, point to the Work/directory manually, and observe the graph view to identify the stalls. xrt status The highlighted path in the graph indicates the stalls in the design. You can also look at the following Tile Status table to get status of each tile, stalled port, etc. Clicking each stall highlights the corresponding path in the graph view.

  • Tile Status - Status column: Shows the Tiles (24,0),(25,0) are in lock stall and the tile (25,1) is in stream stall. If there are no stalls, you can see the Disabled/Done state.

  • Tile Status - Stalled Net/Port: Shows the corresponding Nets/Ports where the stall happened. Observe the small bubble at the stream port of the peak_detect kernel in the graph view.

  • Tile Status - PC: Shows the current Program Counter value. It can be crossprobed with the compiler generated source code by clicking on it.

  • DMA Status: Shows each tile’s DMA input/output channel status.

For more information, refer to Analyzing AI Engine Status in Vitis Analyzer in the AI Engine Tools and Flows User Guide (UG1076).