- Docente: Gianluigi Zavattaro
- Credits: 6
- SSD: INF/01
- Language: English
- Moduli: Gianluigi Zavattaro (Modulo 1) Luca Benini (Modulo 2)
- Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
- Campus: Bologna
- Corso: Second cycle degree programme (LM) in Artificial Intelligence (cod. 9063)
-
from Sep 18, 2023 to Dec 18, 2023
-
from Sep 21, 2023 to Nov 03, 2023
Learning outcomes
At the end of the course, the student has a deep understanding of the requirements of machine-learning workloads for computing systems, has an understanding of the main architectures for accelerating machine learning workloads and heterogeneous architectures for embedded machine learning, and of the most popular platforms made available by cloud providers to specifically support machine/deep learning applications.
Course contents
Module 1:
Introduction to parallel programming.
Parallel programming patterns: embarassingly parallel, decomposition, master/worker, scan, reduce, ...
Shared-Memory programming with OpenMP.
OpenMP programming model: the “omp parallel” costruct, scoping costructs, other work-sharing costructs.
Some examples of applications.
Module 2:
- From ML to DNNs - a computational perspective
- Introduction to key computational kernels (dot-product, matrix multiply...)
- Inference vs training - workload analysis characterization
- The NN computational zoo: DNNs, CNNs, RNNs, GNNs, Attention-based Networks
- Running ML workloads on programmable processors
- recap of processor instruction set architecture (ISA) with focus on data processing
- improving processor ISAs for ML: RISC-V and ARM use cases
- fundamentals of parallel processor architecture and parallelization of ML workloads
- Algorithmic optimizations for ML
- Key bottlenecks taxonomy of optimization techniques
- Algorithmic techniques: Strassen, Winograd, FFT
- Topology optimization: efficient NN models - depthwise convolutions, inverse bottleneck, introduction to Neural Architectural Search
Readings/Bibliography
Refer to Virtuale
Teaching methods
Frontal Lectures for theory. In addition, both Module 1 and Module 2 will include hands-on sessions requiring a student laptop.
Assessment methods
Module 1: Project work
Module 2: Written exam with oral discussion
Teaching tools
Refer to Virtuale. Refer to Virtuale. For module 2, refer to Module 1 of the course: https://www.unibo.it/en/teaching/course-unit-catalogue/course-unit/2023/492293
Office hours
See the website of Gianluigi Zavattaro
See the website of Luca Benini
SDGs

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.