AI Engine for Machine Learning Development - 2024.1 English - XD100

Vitis Tutorials: AI Engine

Document ID
XD100
Release Date
2024-10-30
Version
2024.1 English

The tutorials under the AI Engine for Machine Learning (AIE-ML) Development help you learn how to target, develop, and deploy advanced algorithms using a Versal AIE-ML array in conjunction with PL IP/kernels and software applications running on the embedded processors.

  • Feature Tutorials highlight specific features and flows that help develop AI Engine-ML applications.

  • Design Tutorials showcase the two major phases of AI Engine-ML application development: architecting the application and developing the kernels. Both phases are demonstrated in these tutorials.

Important

Before beginning a tutorial, ensure you have installed the Vitis 2024.1 software. The Vitis release includes all the embedded base platforms, including the VEK280 base platform that is used in these tutorials. In addition, ensure you have downloaded the Common Images for Embedded Vitis Platforms from Downloads.

The common image package contains a prebuilt Linux kernel and root file system that can be used with the AMD Versal™ board for embedded design development using the Vitis software platform.

Before starting a tutorial, run the following steps:

  1. Go to the directory where you have unzipped the Versal Common Image package.

  2. In a Bash shell, run the /Common Images Dir/xilinx-versal-common-v2024.1/environment-setup-cortexa72-cortexa53-xilinx-linux script. This script sets up the SDKTARGETSYSROOT and CXX variables. If the script is not present, you must run /Common Images Dir/xilinx-versal-common-v2024.1/sdk.sh.

  3. Set up your ROOTFS and IMAGE to point to the rootfs.ext4 and Image files located in the /Common Images Dir/xilinx-versal-common-v2024.1 directory.

  4. Set up your PLATFORM_REPO_PATHS environment variable to $XILINX_VITIS/base_platforms.

Feature Tutorials

These tutorials target the VEK280 board. The table below lists the tutorials available, and the features and flows showcased in all of these tutorials. The various columns correspond to specific features/flows supported in these tutorials and will help you identify tutorials that showcase specific flows and features that you are interested in.

Feature Tutorials

Tutorial

Platform

OS

IDE Flow

Libraries Used

HLS Kernel

x86 simulator

aie simulator

SW Emu

HW Emu

HW

Event Trace in HW

Profile in HW

A to Z Bare-metal Flow

Custom

Baremetal

Vivado, Vitis IDE

MM2S / S2MM

Yes

Yes

Yes

Using GMIO with AIE

Base

Linux

Yes

Yes

Yes

Yes

Runtime Parameter Reconfiguration

Base

Linux

MM2S / S2MM

Yes

Yes

Yes

Packet Switching

Base

Linux

MM2S / S2MM

Yes

Yes

Yes

AIE Versal Integration

Base

Linux

CLI, Vitis Unified IDE

MM2S / S2MM

Yes

Yes

Yes

Yes

Yes

AIE-ML Performance Analysis

Base

Linux

Yes

Yes

Yes

Yes

AIE Compiler Features

Base

Linux

MM2S / S2MM

Yes

Yes

Yes

Yes

Yes

Yes

Performance Validation in Analysis View of the Vitis Unified IDE

Base

Linux

MM2S / S2MM

Yes

Yes

Yes

Yes

Yes

Yes

Design Tutorials

These tutorials target the VEK280 board. The table below lists the tutorials available, and the features and flows showcased in all of these tutorials. The various columns correspond to specific features/flows supported in these tutorials and will help you identify tutorials that showcase specific flows and features that you are interested in.

Design Tutorials

Tutorial

Platform

OS

IDE Flow

Libraries Used

HLS Kernel

x86 simulator

aie simulator

SW Emu

HW Emu

HW

Event Trace in HW

Profile in HW

AIE-ML Programming

Base

Linux

Yes

Yes

Prime Factor FFT-1008 on AIE-ML

Base

Linux

MM2S / S2MM

Yes

Yes

AIE-ML LeNet Tutorial

Base

Linux

MM2S / S2MM

Yes

Yes

Yes

Yes

AIE API based FFT for Many Instances Applications on AIE-ML

Base

Linux

CLI / Vitis Unified IDE

Yes

Yes

Softmax Function on AIE-ML

Base

Linux

Yes

Yes

Migrating Farrow Filter from AIE to AIE-ML

Base

Linux

Yes

Yes

Yes

Yes