AI Engine Kernels and Graph Representation - 2023.2 English

Vitis Tutorials: AI Engine

Document ID
XD100
Release Date
2023-11-29
Version
2023.2 English

An AI Engine kernel is a C/C++ program written using specialized intrinsic calls that target the VLIW vector processor. The AI Engine compiler compiles the kernel code to produce an executable ELF file for each AI Engines used in the design. These kernels can be stitched together as AI Engine graphs written in C++. In this design, the AI Engine compiler summarizes compilation results. Review the AI Engine Kernel Programming section in the AI Engine documentation for a high-level overview of kernel programming. You can view the graph by running the following command:

vitis_analyzer $(BUILD_TARGET_DIR)/Work/graph.aiecompile_summary

The following figures show the graph representation of the AI Engine kernels (default FFT 2048 point and FFT 1024 point, FFT_2D_INSTS=1). In addition to the compute units, there are the twiddle factor LUTs (fft_lut_tw*) and temporary buffers for FFT stages (fft_2048/1024_tmp*).

Image of 2D-FFT AI Engine 2K point Graph Image of 2D-FFT AI Engine 1K point Graph

Adaptive Data Flow (ADF) Graph