Periodic AI Engine Status Output Using XRT
You can enable the runtime deadlock detection and status output using the
xrt.ini file. This is a one-time set up,
resulting in periodic outputs of status data, including deadlock detection. Add the
following to the xrt.ini file to enable runtime
deadlock detection and status
output:[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 tool copies the AI Engine status to the following files when the host program is running:
- xrt.run_summary: The run summary information that the IDE can use.
- 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, such as guidance.
If a potential deadlock is detected, a 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
As well as the AI Engine status, if any error event occurs, it is also 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 loaded. This is a static snapshot of the AI Engine running status, along with the events that happened before.
Use the xrt-smi command with option -f json to output status to the JSON file. For
example:
xrt-smi examine -r aie -d 0 -f json -o aie_status_xrt-smi.json