Compiling an AI Engine Graph Application - 2024.1 English

AI Engine Tools and Flows User Guide (UG1076)

Document ID
UG1076
Release Date
2024-05-30
Version
2024.1 English

This chapter describes all the command line options passed to the AI Engine compiler. It takes the code for the data flow graph, the code for individual kernels, and produces an executable 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, mapping and subsequently placing its kernels within the AI Engines. It is important to note that the AI Engine graph and kernels can be compiled individually or combined into a standalone application. These in turn can be executed either through emulation, or directly, on the AI Engine array 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 subsystem design, that incorporates the AI Engine graph as an ELF application running on the AI Engine 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™ Unified 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, you should start by setting up the environment.