This guide describes the tools and flows for developing, simulating, profiling, and debugging AI Engine applications on AMD Versal™ adaptive SoCs. AI Engines are SIMD VLIW vector processors optimized for compute-intensive workloads including DSP, 5G, and machine learning inference. The AI Engine-ML (AIE-ML) variant delivers 2x compute throughput over its predecessor and targets ML inference applications.
AI Engine programs consist of C/C++ kernels and a data flow graph specification compiled using the AI Engine compiler, which is included in the AMD Vitis™ core development kit. The AMD Vitis™ Unified IDE and v++ command-line interface are the primary tools for building, simulating, and debugging AI Engine designs.
For details on the IDE environment and system project flows, refer to the Vitis Reference Guide (UG1702). For kernel and graph programming, refer to the AI Engine Kernel and Graph Programming Guide (UG1079).
AI Engine Architecture provides a high-level overview of the AI Engine architecture, components, tools, and reference documentation.
Compiling an AI Engine Graph Application describes AI Engine compiler compilation options, input files, and outputs. Kernels and graphs can be compiled standalone or as part of a larger AMD Versal™ system design.
Simulating an AI Engine Graph Application covers the available simulation targets:
- The x86 functional simulator for fast iteration.
- The AI Engine simulator for cycle-approximate verification.
- Hardware emulation for full-system validation.
Performance Analysis of AI Engine Graph Application during Simulation describes how to extract and analyze performance data during simulation and hardware emulation. Data includes event tracing, stall analysis, FIFO depth visualization, and the Trace View in the Vitis IDE.
Performance Analysis of AI Engine Graph Application on Hardware covers profiling and event tracing when running the design on hardware, including AI Engine profiling, NoC profiling, and guidance views in the Vitis IDE.
Programming the PS Host Application describes how to create a PS host application to initialize, control, and reload AI Engine graphs at runtime. It covers both Linux and bare-metal flows.
Mapper and Router Troubleshooting and Optimization describes the mapper/router methodology — how to interpret failures and apply techniques to achieve design convergence and improve performance.