Periodic AI Engine Status Output Using XRT
You can enable the run-time deadlock detection and status output using
the
xrt.ini
file. This is a one-time set up, which
results in periodic output of status data, including deadlock detection. To turn on
this feature, add the following to the xrt.ini
file: [Debug]
aie_status=true
To specify the interval of probing and analysis the AI Engine
status:
[Debug]
aie_status=true
aie_status_interval_us=1000
The AI Engine status is copied to the following files when the host
program is running:
- xrt.run_summary: Run summary information that can be used by the IDE.
- aie_status_<device>_<current time>.json: Status of AI Engine, AI Engine memory and AI Engine Interface tiles.
- summary.csv: Always created for other profiling capabilities, like guidance.
If a potential deadlock is detected, an warning message is reported,
such as the
following:
[XRT] WARNING: Potential deadlock/hang found in AI Engines. Graph : gr
[XRT] WARNING: Potential stuck cores found in AI Engines. Graph : gr Tile : (25,1) Status 0x81 : Enable,Lock_Stall_W
Besides the AI Engine status, if any error event occurred, it is recorded in the JSON file.
You are responsible for determining the severity of the error, and whether it is recoverable. Use the summary and JSON files for analyzing in the IDE.
Manual AI Engine Status Output
You can output a single snapshot of the AI Engine status to the JSON file at any time after the device has been loaded. This is a static snapshot of the AI Engine running status, along with the events that happened before.
Use the xbutil
command with option
-f json
to output status to the JSON file. For
example:
xbutil examine -r aie -d 0 -f json -o aie_status_xbutil.json