A simple, clear and intuitive learning process with a specific application focus
The project-based learning focus is twofold:
Programming Model | Application |
---|---|
Single Kernel | Low-Pass Filter |
Multiple Kernel | Mean Filter |
All the labs in this PBL tutorial is divided into three parts. The first part shows the whole process of designing an application and verifying it using Python. The second part focus on the kernel programming using the AIE APIs to achieve the highest performance on the AI Engine. The primary goal of the part two is to ensure the use of the vector processor and to understand the theoretical maximum. Vectorization of the algorithm is important, but managing the vector registers, memory access, and software pipelining are also paramount. The third part goes through the steps on creating the Adaptive DataFlow (ADF) graph and analyze the performance. The following table shows the key content of the three parts of the tutorial.
Part | Topic | Description | Environment |
---|---|---|---|
1 | Software implementation | Demonstrate the software implementation of the application | Jupyter Notebook |
Using Python and its powerful extensible library | |||
Generate the input and golden data files for the AIE | |||
2 | Single Kernel Programming | Design the FIR single kernel in AIE | AMD Vitis 2022.2 |
Analyze and optimize the read and write efficiency of ports | |||
3 | Graph Programming and Performance Analysis | Create the kernel Graph and the test bench | Jupyter Notebook |
Compare with AIE HW Emulation result with the SW result | |||
Analyze performance and accuracy |
The following images visually illustrate the process of the PBL experiment, starting from Part one where applications are showcased in a Jupyter notebook, progressing to Part 2 where kernel code is compiled and simulated or tested on the board using the Vitis tool, and finally advancing to Part 3 where simulation or on-board test results are exported and imported back into the Jupyter notebook for performance simulation and verification
Install Jupyter Lab on Windows system
pip install jupyterlab
Set up the Python environment with the necessary packages
cd $HOME/xup_aie_training/pbl/common
pip install -r requirements.txt
Open the Jupyter Notebook
cd $HOME/xup_aie_training/pbl/aie_single_kernel/fir_lowpass/notebook
py -m jupyter lab
Install the Vitis tool and setup VCK5000 in Linux system
Copyright© 2023 Advanced Micro Devices