IN480 - Calcolo Parallelo e Distribuito

Codice: 20410426

Scheda insegnamento

Anno Accademico di erogazione
2026/2027
Corso di studi
Scienze Computazionali
Periodo di erogazione
Secondo semestre
CFU
9 CFU
Lingua
Italiano
SSD
INF/01

Scopri il programma didattico

Programma, testi adottati e modalità d’esame sono quelli pubblicati dai docenti per l’anno accademico 2026/2027. L’insegnamento è diviso in canali: ogni canale ha il suo programma.

Docente
Flavio Lombardi
Curriculum
Crittografia e sicurezza informatica
Anno di corso
1
Periodo
Secondo semestre
Ore
72
CUIN
260008586

Programma

Tassonomia di Flynn
Architetture parallele a memoria condivisa, a memoria distribuita e GPGPU
Pattern per la programmazione parallela: problemi embarassingly parallel; work farm; partitioning; reduce; stencil
Valutazione delle prestazioni di programmi paralleli: Speedup, legge di Amdahl, strong e weak scalability.
Caratteristiche ed utilizzo programmazione SIMD
Programmazione di architetture a memoria condivisa con OpenMP
Programmazione di architetture a memoria distribuita con MPI
Programmazione GPGPU tramite linguaggi CUDA, OpenCL e SYCL.
Calcolo distribuito su Cloud e cenni ad approcci innovativi per HPC (K8s, OpenACC, Rust)

Prerequisiti

fondamenti di programmazione C

Testi adottati

Peter Pacheco, Matthew Malensek, An Introduction to Parallel Programming, 2nd ed., Morgan Kaufmann, 2021, ISBN 9780128046050

CUDA C++ programming guide

Appunti del docente - Slide del corso a cura del docente

Modalità di erogazione

Lo svolgimento prevede lezioni (fortemente consigliate), esercitazioni, seminari, simulazioni e laboratori

Modalità di frequenza

La partecipazione attiva alle lezioni ed esercitazioni è fortemente consigliata,

Modalità di valutazione

La valutazione prevede una prova scritta sugli argomenti del corso
(durata 2 ore circa 16 domande aperte)
più la implementazione di un progetto software concordato con il docente e della relativa documentazione

Prove previste

  • Prova scritta
  • Prove intermedie
  • Valutazione di un progetto

Docente
Flavio Lombardi
Curriculum
Modellistica fisica e simulazioni numeriche
Anno di corso
1
Periodo
Secondo semestre
Ore
72
CUIN
260008641

Programma

Tassonomia di Flynn
Architetture parallele a memoria condivisa, a memoria distribuita e GPGPU
Pattern per la programmazione parallela: problemi embarassingly parallel; work farm; partitioning; reduce; stencil
Valutazione delle prestazioni di programmi paralleli: Speedup, legge di Amdahl, strong e weak scalability.
Caratteristiche ed utilizzo programmazione SIMD
Programmazione di architetture a memoria condivisa con OpenMP
Programmazione di architetture a memoria distribuita con MPI
Programmazione GPGPU tramite linguaggi CUDA, OpenCL e SYCL.
Calcolo distribuito su Cloud e cenni ad approcci innovativi per HPC (K8s, OpenACC, Rust)

Prerequisiti

fondamenti di programmazione C

Testi adottati

Peter Pacheco, Matthew Malensek, An Introduction to Parallel Programming, 2nd ed., Morgan Kaufmann, 2021, ISBN 9780128046050

CUDA C++ programming guide

Appunti del docente - Slide del corso a cura del docente

Modalità di erogazione

Lo svolgimento prevede lezioni (fortemente consigliate), esercitazioni, seminari, simulazioni e laboratori

Modalità di frequenza

La partecipazione attiva alle lezioni ed esercitazioni è fortemente consigliata,

Modalità di valutazione

La valutazione prevede una prova scritta sugli argomenti del corso
(durata 2 ore circa 16 domande aperte)
più la implementazione di un progetto software concordato con il docente e della relativa documentazione

Prove previste

  • Prova scritta
  • Prove intermedie
  • Valutazione di un progetto

Docente
Flavio Lombardi
Curriculum
Analisi dei dati e statistica
Anno di corso
1
Periodo
Secondo semestre
Ore
72
CUIN
260008696

Programma

Tassonomia di Flynn
Architetture parallele a memoria condivisa, a memoria distribuita e GPGPU
Pattern per la programmazione parallela: problemi embarassingly parallel; work farm; partitioning; reduce; stencil
Valutazione delle prestazioni di programmi paralleli: Speedup, legge di Amdahl, strong e weak scalability.
Caratteristiche ed utilizzo programmazione SIMD
Programmazione di architetture a memoria condivisa con OpenMP
Programmazione di architetture a memoria distribuita con MPI
Programmazione GPGPU tramite linguaggi CUDA, OpenCL e SYCL.
Calcolo distribuito su Cloud e cenni ad approcci innovativi per HPC (K8s, OpenACC, Rust)

Prerequisiti

fondamenti di programmazione C

Testi adottati

Peter Pacheco, Matthew Malensek, An Introduction to Parallel Programming, 2nd ed., Morgan Kaufmann, 2021, ISBN 9780128046050

CUDA C++ programming guide

Appunti del docente - Slide del corso a cura del docente

Modalità di erogazione

Lo svolgimento prevede lezioni (fortemente consigliate), esercitazioni, seminari, simulazioni e laboratori

Modalità di frequenza

La partecipazione attiva alle lezioni ed esercitazioni è fortemente consigliata,

Modalità di valutazione

La valutazione prevede una prova scritta sugli argomenti del corso
(durata 2 ore circa 16 domande aperte)
più la implementazione di un progetto software concordato con il docente e della relativa documentazione

Prove previste

  • Prova scritta
  • Prove intermedie
  • Valutazione di un progetto

Esplora gli obiettivi dell’insegnamento

Ambito disciplinare: Attività formative affini o integrative

Risultati di apprendimento attesi — Flavio Lombardi

Acquisire le tecniche di programmazione parallela e distribuita

Risultati di apprendimento attesi — Flavio Lombardi

Acquisire le tecniche di programmazione parallela e distribuita

Risultati di apprendimento attesi — Flavio Lombardi

Acquisire le tecniche di programmazione parallela e distribuita

Esempi di domande d’esame

Flavio Lombardi

Discutere vantaggi e svantaggi degli approcci a memoria condivisa e a memoria distribuita
Discutere dei problemi di Race Condition e Deadlock

Flavio Lombardi

Discutere vantaggi e svantaggi degli approcci a memoria condivisa e a memoria distribuita
Discutere dei problemi di Race Condition e Deadlock

Flavio Lombardi

Discutere vantaggi e svantaggi degli approcci a memoria condivisa e a memoria distribuita
Discutere dei problemi di Race Condition e Deadlock

I corsi che comprendono questo insegnamento nell’A.A. 2026/2027

Matematica e Fisica

Fisica

Cod 198331

  • Laurea magistrale
  • 2 anni
  • 120 CFU
  • LM-17 R
Matematica e Fisica

Matematica

Cod 198373

  • Laurea magistrale
  • 2 anni
  • 120 CFU
  • LM-40 R
Matematica e Fisica

Matematica

Cod 198330

  • Laurea triennale
  • 3 anni
  • 180 CFU
  • L-35 R
API