Skip to content

This repository contains the source code of the Project "Versal System Exploration: Benchmark suite for AI Engine".

Notifications You must be signed in to change notification settings

lele1001/AOHW-334

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Benchmark for Xilinx AI Engine

Info & Description

This repository contains the source code of the Project "Versal System Exploration: Benchmark suite for AI Engine".

Information
Team number AOHW-334
Project name Versal System Exploration: Benchmark suite for AI Engine
YouTube's video https://youtu.be/DQ7PJQzX1jk
Project's repository https://github.com/lele1001/AOHW-334
University name Politecnico di Milano
Participant (email) Eleonora Cabai ([email protected])
Supervisor name Davide Conficconi
Supervisor email [email protected]
Board used AMD-Xilinx Versal VCK5000
Software version 2024.1

Main Structure

The archive is structured as follows:

├─ aie/                # AIE kernel for transfomation
|  └─ src/             # Contains the code
├─ data_movers/        # PL kernels for setting up the AIE and for fetching
├─ mutual_info/        # PL Kernel for computing mutual information
├─ common/             # Common codes and variables
├─ hw/                 # System integration
├─ sw/                 # Host application and dataset
└─ Makefile/           # Top-level Makefile to build and run  

Instructions to build and test project

Step 1 - Clone the repository

Open a terminal, then clone the repository by running the following command

git clone https://github.com/github.com/lele1001/AOHW-334.git

Then, move into the repository with

cd AOHW-334

Step 2 - Setup the environment

Before building and/or running the framework, run the following script. Notice that this will source Vitis 2022.1, xrt and devtoolset-7

source ./setup_all.sh

Main Commands

aie

make aie_compile_x86 : compile your code for x86 architecture.
make aie_simulate_x86 : simulate your x86 architecture.
make aie_compile : compile your code for VLIW architecture, as your final hardware for HW ad HW_EMU.
make aie_simulate : simulate your code for VLIW architecture, as your final hardware.
make clean : removes all the output file created by the commands listed above.

data_movers

make compile TARGET=HW/HW_EMU: compiles all your kernel, skipping the ones already compiled.
make run_testbench_setup_aie : compiles and execute the testbench for the kernel setup_aie.
make run_testbench_sink_from_aie : compiles and execute the testbench for the kernel setup_aie.

HW

make all TARGET=HW : builds the hardware linking your components make all TARGET=HW_EMU : builds the hardware emu linking your components make clean: removes all files.

SW

make build_sw : compiles the sw ./setup_emu.sh -s on : enables the hardware emulation ./host_overlay.exe : runs the emulation

General useful commands:

If you need to move your bitstream and executable on the target machine, you may want it prepared in a single folder that contains all the required stuff to be moved. In this case, you can use the

make build_and_pack TARGET=hw/hw_emu : it allows you to pack our build in a single folder. Notice that the hw_emu does not have to be moved on the device, it must be executed on the development machine.

About

This repository contains the source code of the Project "Versal System Exploration: Benchmark suite for AI Engine".

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published