Skip to main content
If you continue browsing this website, you agree to our policies:
  • Condizioni di utilizzo e trattamento dei dati
Continue
x
e-Learning - UNIMIB
  • Home
  • My Media
  • More
Listen to this page using ReadSpeaker
 Log in
e-Learning - UNIMIB
Home My Media
Percorso della pagina
  1. Science
  2. Master Degree
  3. Artificial Intelligence for Science and Technology [F9103Q - F9102Q]
  4. Courses
  5. A.Y. 2025-2026
  6. 2nd year
  1. High-Perfomance Computing for Ai Applications in Physics
  2. Summary
Insegnamento Course full name
High-Perfomance Computing for Ai Applications in Physics
Course ID number
2526-2-F9102Q041
Course summary SYLLABUS

Course Syllabus

  • Italiano ‎(it)‎
  • English ‎(en)‎
Export

Obiettivi

Gli obiettivi formativi del corso includono:

  1. (Conoscenza e comprensione)
    Gli studenti svilupperanno una solida conoscenza dei principi del calcolo ad alte prestazioni (HPC), incluse le architetture parallele, i modelli di programmazione e le infrastrutture necessarie per supportare carichi di lavoro di intelligenza artificiale (AI) ad alta intensità computazionale.
  2. (Capacità di applicare conoscenza e comprensione)
    Gli studenti saranno in grado di progettare e implementare semplici applicazioni parallele utilizzando OpenMP e MPI, eseguire carichi di lavoro di AI su sistemi HPC e applicare tecniche di ottimizzazione per migliorarne le prestazioni e la scalabilità.
    3 (Autonomia di giudizio)
    Gli studenti valuteranno criticamente i requisiti computazionali di carichi di lavoro HPC e AI, selezionando le architetture e le strategie di parallelizzazione più appropriate, e analizzando i compromessi tra prestazioni e utilizzo delle risorse.
  3. (Abilità comunicative)
    Gli studenti saranno in grado di comunicare in modo chiaro ed efficace – sia oralmente che per iscritto – riguardo alla progettazione, implementazione e valutazione delle prestazioni di soluzioni HPC e AI, utilizzando un linguaggio tecnico appropriato e una terminologia specifica del dominio.
  4. (Capacità di apprendimento)
    Gli studenti acquisiranno la capacità di apprendere autonomamente nuovi strumenti HPC, framework AI e tecniche di calcolo parallelo, preparandosi a seguire l’evoluzione continua dell'HPC per l’AI.

Contenuti sintetici

Fondamenti del calcolo ad alte prestazioni (HPC). Tipi di hardware HPC. Modelli di programmazione parallela come OpenMP e MPI. I/O e file system paralleli. Benchmaking e ottimizzazione dello scaling. Scheduling batch. Archiviazione dei dati.
Tipi di carichi di lavoro di intelligenza artificiale. Parallelismo sui dati, parallelismo sul modello e altre strategie per la distribuzione dei carichi di lavoro di intelligenza artificiale. Uso efficiente di CPU e hardware specializzato.

Programma esteso

Il programma del corso coprirà i seguenti argomenti:

  • Architetture HPC e modelli di programmazione parallela
    Fondamenti del calcolo ad alte prestazioni (High Performance Computing). Panoramica dell’hardware HPC, inclusi CPU, GPU, gerarchie di memoria e tecnologie di interconnessione che abilitano il rapido trasferimento dei dati e il calcolo.
    Programmazione a memoria condivisa con OpenMP e programmazione a memoria distribuita con MPI. Compromessi tra overhead di comunicazione, sincronizzazione e località dei dati nelle applicazioni parallele.
    Esercitazione: scrittura di semplici programmi OpenMP e MPI.

  • Scalabilità delle applicazioni
    Scalabilità delle applicazioni su più nodi di un cluster HPC, affrontando temi come il bilanciamento del carico e la pianificazione dei task. Fondamenti di I/O parallelo e dei file system paralleli. Principi di gestione dei dati. Strategie di checkpointing.
    Esercitazione: esecuzione di job paralleli su un cluster HPC.

  • Ottimizzazione delle prestazioni
    Profilazione e benchmarking di applicazioni HPC. Ottimizzazione della memoria ed efficienza della cache. Vettorizzazione e parallelismo a livello di istruzioni. Panoramica su tecniche di scheduling consapevoli del consumo energetico e hardware ad alta efficienza energetica.
    Esercitazione: benchmarking dello scaling debole e forte di un’applicazione.

  • Introduzione all’AI in ambito HPC
    Perché l’AI ha bisogno dell’HPC: sfide computazionali del deep learning. Panoramica sui carichi di lavoro AI: training vs. inferenza. Esempi di framework AI e loro integrazione con l’HPC.
    Esercitazione: esecuzione di un modello AI di base su un sistema HPC.

  • Scalabilità dei carichi di lavoro AI
    Tecniche di containerizzazione e riproducibilità in ambito HPC. Parallelismo sui dati, parallelismo sul modello e altre strategie per il deep learning distribuito. Tecniche di ottimizzazione. Checkpointing dei carichi di lavoro AI.
    Esercitazione: training di modelli AI su più nodi HPC.

Prerequisiti

  • Competenze di programmazione in Python e conoscenze di base di C o C++: gli studenti dovrebbero essere in grado di scrivere e fare il debug di piccoli programmi in Python. Nella prima parte del corso verranno utilizzati anche semplici programmi in C o C++.
  • Familiarità con i fondamenti dell’Intelligenza Artificiale: si presuppone che gli studenti abbiano seguito corsi introduttivi di AI durante il primo anno del corso di laurea magistrale.
  • Esperienza pregressa con ambienti Linux/Unix e strumenti da linea di comando (facoltativa ma fortemente consigliata): gli studenti lavoreranno con la shell, modificheranno semplici script e si muoveranno all’interno di un file system Linux. Verranno forniti materiali pratici per i principianti.

Modalità didattica

L'insegnamento consiste in 12 lezioni da 4 ore, esclusivamente in presenza, per un totale di 48 ore.
Parte del corso (per lo più nella prima metà del corso e di ogni lezione) sarà svolta in modalità erogativa. La parte rimanente sarà in modalità interattiva.
Tutte le lezioni saranno a una postazione informatica nel laboratorio "Marco Comi" (aula 2026, piano 2, edificio U2 Quantum, Università di Milano-Bicocca).

Materiale didattico

Il materiale didattico è disponibile al link:
https://virgilio.mib.infn.it/~marcoce/teaching/hpc4ai/

Periodo di erogazione dell'insegnamento

Primo semestre, secondo anno

Modalità di verifica del profitto e valutazione

Il corso prevede lo svolgimento di esercitazioni pratiche al computer in laboratorio. Ogni studente raccoglie i risultati delle esercitazioni in una relazione individuale da consegnare al docente prima dell'esame finale.
L'esame finale sarà un orale che valuterà sia la relazione sia la comprensione degli aspetti teorici del corso. La valutazione finale terrà conto dell'attività di laboratorio, della relazione finale e dell'esame orale.

Orario di ricevimento

Su appuntamento, scrivendo un'email (marco.ce@unimib.it) al docente del corso.

Sustainable Development Goals

ISTRUZIONE DI QUALITÁ | IMPRESE, INNOVAZIONE E INFRASTRUTTURE
Export

Aims

The educational aims of this course include:

  1. (Knowledge and understanding)
    Students will develop a solid foundation in High Performance Computing (HPC) principles, including parallel architectures, programming models, and the infrastructure required to support computationally intensive AI workloads.
  2. (Applying knowledge and understanding)
    Students will be able to design and implement simple parallel applications using OpenMP and MPI, deploy AI workloads on HPC systems, and apply optimization techniques to improve performance and scalability.
  3. (Making judgements)
    Students will critically assess HPC and AI workload requirements, select appropriate architectures and parallelization strategies, and evaluate the trade-offs involved in performance and resource usage.
  4. (Communication skills)
    Students will communicate clearly and effectively—both orally and in writing—about the design, implementation, and performance evaluation of HPC and AI solutions, using appropriate technical language and domain-specific terminology.
  5. (Learning skills)
    Students will acquire the ability to independently learn and adapt to new HPC tools, AI frameworks, and parallel computing techniques, preparing them for ongoing developments and trends in the HPC for AI landscape.

Contents

Fundaments of High Performance Computing. Types of HPC hardware. Parallel programmiming models such as OpenMP and MPI. Parallel I/O and file systems. Scaling benchmaking and optimization. Batch scheduling. Data storage.
Types of AI workloads. Data parallelism, model parallelism, and other strategies for the distribution of AI workloads. Efficient use of CPUs and specialized hardware.

Detailed program

The program of the course will cover the following topics:

  • HPC architectures and parallel programming models
    The fundamentals of High Performance Computing. Overview of HPC hardware, including CPUs, GPUs, memory hierarchies, and interconnect technologies that enable fast data movement and computation.
    Shared-memory programming with OpenMP and distributed-memory programming with MPI. Trade-offs between communication overhead, synchronization, and data locality in parallel applications.
    Hands-on: Writing basic OpenMP and MPI programs.

  • Scaling applications
    Scaling applications across multiple nodes in an HPC cluster, addressing issues like load balancing and task scheduling. Basics of parallel I/O and parallel file systems. Principles of data managment. Checkpointing strategies.
    Hands-on: Running parallel jobs on an HPC cluster.

  • Performance optimization
    Profiling and benchmarking HPC applications. Memory optimization and cache efficiency. Vectorization and instruction-level parallelism. Overview of power-aware scheduling and energy-efficient hardware.
    Hands-on: Benchmarking weak and strong scaling of an application.

  • Introduction to AI in HPC
    Why AI needs HPC: computational challenges in deep learning. Overview of AI workloads: training vs. inference. Examples of AI framworks and their HPC integration.
    Hands-on: Running a basic AI model on an HPC system.

  • Scaling AI workloads
    Containerization tecniques and reproducibility in HPC. Data parallelism, model parallelism, and other strategies for distributed deep learning. Optimization techniques. Checkpointing AI workloads.
    Hands-on: Training AI models on multiple HPC nodes.

Prerequisites

  • Programming skills in Python, and basic knowledge of C or C++: students should be comfortable writing and debugging small programs in Python. In the first part of the course, simple programs in C or C++ will also be used.
  • Familiarity with the foundations of Artificial Intelligence: students are expected to have completed introductory AI courses from the first year of the master’s programme.
  • Prior exposure to Linux/Unix environments and basic command-line tools (optional but highly recommended): students will work with the shell, edit simple scripts, and navigate a Linux file system. Practical resources for beginners will be provided.

Teaching form

The course consists of 12 lessons of 4 hours in presence, for a total of 48 hours.
Part of the course (mostly in the first half of the course and of each lesson) will be delivered with frontal teaching. The remaining part will consist of interactive teaching.
All lessons will be at a computer station in the "Marco Comi" laboratory (room 2026, floor 2, U2 Quantum building, University of Milan-Bicocca).

Textbook and teaching resource

Teaching resources and textbook references are available at the link:
https://virgilio.mib.infn.it/~marcoce/teaching/hpc4ai/

Semester

First semester, second year

Assessment method

The course includes practical assignments to be completed in the computer lab. Each student collects the results of the assignments in an individual report to be submitted to the teacher before the exam.
The exam will consist in an oral examination that will assess both the report on the assignments and the understanding of the theoretical aspects. The final evaluation will take into account the lab activity, the final report, and the oral exam.

Office hours

By appointment, by writing an email (marco.ce@unimib.it) to the course teacher.

Sustainable Development Goals

QUALITY EDUCATION | INDUSTRY, INNOVATION AND INFRASTRUCTURE
Enter

Key information

Field of research
FIS/02
ECTS
6
Term
First semester
Activity type
Mandatory to be chosen
Course Length (Hours)
48
Degree Course Type
2-year Master Degreee
Language
English

Staff

    Teacher

  • Marco Cè
    Marco Cè

Students' opinion

View previous A.Y. opinion

Bibliography

Find the books for this course in the Library

Enrolment methods

Manual enrolments
Course enrol confirmation
Self enrolment (Student)

Sustainable Development Goals

QUALITY EDUCATION - Ensure inclusive and equitable quality education and promote lifelong learning opportunities for all
QUALITY EDUCATION
INDUSTRY, INNOVATION AND INFRASTRUCTURE - Build resilient infrastructure, promote inclusive and sustainable industrialization and foster innovation
INDUSTRY, INNOVATION AND INFRASTRUCTURE

You are not logged in. (Log in)
Policies
Get the mobile app
Powered by Moodle
© 2025 Università degli Studi di Milano-Bicocca
  • Privacy policy
  • Accessibility
  • Statistics