Compiling an AI Engine Graph Application - 2023.2 English

AI Engine Tools and Flows User Guide (UG1076)

Document ID
Release Date
2023.2 English

This chapter describes all the command line options passed to the AI Engine compiler (aiecompiler). It takes the code for the data flow graph, the code for individual kernels, and produces an image that can be run on various AI Engine target platforms such as simulators, emulators, and AI Engine devices. The AI Engine compiler statically compiles the graph, map and place the kernels in the AI Engines. The AI Engine graph and kernels can be compiled individually, or as a standalone application to run in the AI Engine processor array through emulation or hardware.

Tip: Unless otherwise specified, all the input file paths are with respect to the current directory, and all the output file paths are with respect to the Work directory.

The graph and kernels can also be used as part of a larger system design, that incorporates the AI Engine graph with ELF application running on the embedded processor of the AMD Versal™ device and programmable logic (PL) kernels running in the programmable logic of the device. The AI Engine compiler is used to compile the graph and kernels, whether in a standalone configuration or as part of a larger system. For more information on building the system project, see the Vitis Unified Software Platform Documentation: Application Acceleration Development (UG1393).

The AMD Vitis™ IDE can be used to create and manage project build settings, and run the AI Engine compiler. Alternatively, you can build the project from the command line, or in a script or Makefile. Either approach lets you perform simulation or emulation to verify the graph application or the integrated system design, debug the design in an interactive debug environment, and build your design to run and deploy on hardware. For more information on using the AI Engine graph application in a larger system project refer to Introduction to Vitis Tools for Embedded System Designers in Vitis Unified Software Platform Documentation: Application Acceleration Development (UG1393). Whatever method you choose to work with the tools, start by setting up the environment.