AI Engine users can run into simulator hangs. A common cause is insufficient input data for the requested number of graph iterations, mismatch between production and consumption of stream data, cyclic dependency with stream, cascade stream or asynchronous windows, or wrong order of blocking protocol calls (acquisition of async window, read/write from streams).
You can use the
--stop-on-deadlock option on
x86simulator to detect such deadlocks. This
option will enable
x86simulator to automatically
detect a broad category of deadlocks, stop the simulation, and print a message
stating the simulation has been terminated prematurely because a deadlock has been
detected. When the
x86simulator is invoked with the
x86simulator detects the deadlock and produces a
deadlock diagnosis report.
Additionally, a graph is generated in
x86simulator_output/simulator_state_post_analysis.dot. This is a
.dot file that encodes a description of the
graph in terms of a block diagram where the agents involved in the deadlock are
highlighted in red. To get this file transformed into a
.png file, you must use the
program as follows.
dot -Tpng x86simulator_output/simulator_state_post_analysis.dot > simulator_state_post_analysis.png
--stop-on-deadlockoption is not supported for software emulation or use cases with an external test bench.