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 of the AI Engines being used in the design. Review the AI Engine Kernel Programming section in the AI Engine documentation for a high-level overview of kernel programming. These kernels can be stitched together to function as AI Engine graphs written in C++. In this design, the AI Engine compiler writes a summary of compilation results. 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 also the twiddle factor LUTs (fft_lut_tw*
) and temporary buffers for FFT stages (fft_2048/1024_tmp*
).