The AMD 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 so you can 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 because it is possible to configure the AI Engine with PDI at boot time or runtime. To configure the AI Engine with PDI at runtime, the AI Engine application loads the PDI with the FPGA manager before using the AI Engine driver for runtime control and data transaction. XRT stack figures out the AI Engine partition ID and image UID from the metadata packaged into the xclbin. XRT uses the AI Engine userspace library to update runtime parameters, configure AI Engine interface tiles DMA, and monitor AI Engine core running status. Besides loading PDI at runtime, it is possible to configure AI Engine at boot time.
Figure 1. Linux XRT AI Engine Runtime Configuration with AI Engine PDI
Flow
Figure 2. AI Engine Linux Application with AI Engine Configured from Boot PDI
Figure 3. AI Engine Bare-metal Application with AI Engine Configured from Boot
PDI