The Vitis design execution model has multiple considerations that impact how the AI Engine graph is loaded onto the board, run, reset, and reloaded. Depending on the needs of the application you have a choice of loading the AI Engine graph at board boot up time, or using the PS host application. In addition, you can also control running the graph as soon as the graph is loaded or defer it to a later time. You also have the option of running the graph infinitely or for a fixed number of iterations or cycles.
AI Engine Graph Load and Run
The AI Engine graph can be loaded and
run immediately at boot, or it can be loaded by the host PS application.
Additionally, you also have the option of deferring the running of the graph after
the graph has been loaded using the
host API XRT call. By default, the
platform management controller (PMC) loads and runs the
graph. However the
option will let you defer the graph run until after the graph has been loaded using
graph.run() API call. The following table
lists the deployment options.
|Host Control||Run Forever|
||Enable it in the PDI and let the graph run forever.|
|Enable the graph from the PS program using
AI Engine Run Iterations
The AI Engine graph can run for a
limited number of iterations or infinitely. By default, the graph runs infinitely.
You can use the
graph.end(cycles) to limit the number of
graph runs to a specific number of iterations or for a specific number of cycles.
See Run-Time Graph Control API.