The target device for the lab sessions is the multi-core PULP platform. The PULP Virtual Platform simulator GVSOC, which is included within the PULP SDK, will be used during the class.
- Subject(s): hello-world, vector sum, matrix-vector mul, profiling code execution;
- Programming Language: C;
- Lab duration: 3h
- Objective: Embedded programming & profiling. You will learn basics of embedded programming, the pulp architecture, basic operations (sum & matmul), and how to profile your code execution (MAC, cycles) !
Use Virtuale, upload only the assignment file named as follows: LAB#_APAI_yourname.pdf
Assignment DEADLINE: Sunday, 18/10/2026 (at 23:59)
See the "Prerequisites" section of the slides for detailed installation instructions.
- (Windows only) Install WSL 2.
- Install Docker Desktop (on Windows, choose the Windows version even if you work with WSL).
- Install VS Code and the Dev Containers extension.
- Open a terminal in the location where you wish to work (on Windows, a WSL terminal).
- Clone this repository:
git clone https://github.com/EEESlab/APAI26-LAB01-PULP-Embedded-Programming.git
- Enter the cloned directory:
cd APAI26-LAB01-PULP-Embedded-Programming/
- Open the directory in VS Code:
code .
- Reopen the project inside the Docker container: press
CTRL + Shift + P, typeDev Containers: Reopen in Containerand press Enter. The bottom-left corner of VS Code confirms that you are inside the container. - Open a terminal inside VS Code (
Terminal -> New Terminal). This terminal runs inside the container, with the PULP SDK already set up. - Now you're ready to start!
Enter one of the exercise folders (00_pulp_hello_world, 01_vector_sum, 02_matrix_vector) and run:
make clean all run
For example, to check that everything works:
cd 00_pulp_hello_world/
make clean all run
You should see the Hello, world! -from PULP message in the VS Code terminal.