Introduction - 2025.1 English - XD100

Vitis Tutorials: AI Engine Development (XD100)

Document ID
XD100
Release Date
2025-06-17
Version
2025.1 English

This tutorial implements a Convolutional Neural Network classifier on AMD VersalTM adaptive SoC AIE-ML for identifying hand-written digits from the MNIST database. The goal is to illustrate how to partition & vectorize a simple machine learning example to Versal AI Engines. An MNIST ConvNet classifier makes a good learning example because it contains only ~100,000 parameters and a handful of layers. This tutorial example illustrates a number of key topics fundamental to custom coding machine learning designs using the AIE API including:

  • Using multi-channel matrix multiply intrinsics to vectorize ConvNet layer compute workloads

  • Using 3D addressing patterns of memory tiles to access layer I/O in the order required for consumption by the compute

  • Using local tile memory for capturing stored network weights

  • Structuring AIE-ML kernel code to implement convolutional & pooling layers efficiently