Acquisire le tecniche di programmazione parallela e distribuita, e la conoscenza delle moderne architetture hardware e software per il calcolo scientifico ad alte prestazioni. Paradigmi di parallelizzazione, parallelizzazione su CPU che su GPU, sistemi a memoria distribuita. Applicazioni Data intensive, Memory Intensive and Compute Intensive. Analisi delle prestazioni nei sistemi HPC.
Curriculum
scheda docente
materiale didattico
- Concetti base: architetture hardware e gerarchie di memorie
- Il linguaggio C
- Modelli di programmazione parallela
- MPI: Message Passing Interface
- Calcolo parallelo con OpenMP: Open Multiprocessing
- Input/Output parallelo
- Introduzione alla programmazione general-purpose su Graphics Processing Unit (GPU)
- CUDA e OpenCL
Programming on Parallel Machines, Norm Matloff
Programma
- Introduzione al calcolo parallelo e distribuito- Concetti base: architetture hardware e gerarchie di memorie
- Il linguaggio C
- Modelli di programmazione parallela
- MPI: Message Passing Interface
- Calcolo parallelo con OpenMP: Open Multiprocessing
- Input/Output parallelo
- Introduzione alla programmazione general-purpose su Graphics Processing Unit (GPU)
- CUDA e OpenCL
Testi Adottati
Introduction to Parallel Computing: From Algorithms to Programming on State-of-the-Art Platforms, Trobec, Slivnik, Bulić, Robič, SpringerProgramming on Parallel Machines, Norm Matloff
Modalità Erogazione
Il corso consiste in lezioni frontali ed esercitazioni al computer.Modalità Frequenza
Facoltativa (ma consigliata)Modalità Valutazione
L'esame consiste nella realizzazione di un progetto e nella presentazione e discussione di una breve relazione sul progetto stesso e delle scelte implementative.
scheda docente
materiale didattico
- Concetti base: architetture hardware e gerarchie di memorie
- Il linguaggio C
- Modelli di programmazione parallela
- MPI: Message Passing Interface
- Calcolo parallelo con OpenMP: Open Multiprocessing
- Input/Output parallelo
- Introduzione alla programmazione general-purpose su Graphics Processing Unit (GPU)
- CUDA e OpenCL
Programming on Parallel Machines, Norm Matloff
Programma
- Introduzione al calcolo parallelo e distribuito- Concetti base: architetture hardware e gerarchie di memorie
- Il linguaggio C
- Modelli di programmazione parallela
- MPI: Message Passing Interface
- Calcolo parallelo con OpenMP: Open Multiprocessing
- Input/Output parallelo
- Introduzione alla programmazione general-purpose su Graphics Processing Unit (GPU)
- CUDA e OpenCL
Testi Adottati
Introduction to Parallel Computing: From Algorithms to Programming on State-of-the-Art Platforms, Trobec, Slivnik, Bulić, Robič, SpringerProgramming on Parallel Machines, Norm Matloff
Modalità Erogazione
Il corso consiste in lezioni frontali ed esercitazioni al computer.Modalità Frequenza
Facoltativa (ma consigliata)Modalità Valutazione
L'esame consiste nella realizzazione di un progetto e nella presentazione e discussione di una breve relazione sul progetto stesso e delle scelte implementative.
scheda docente
materiale didattico
- Concetti base: architetture hardware e gerarchie di memorie
- Il linguaggio C
- Modelli di programmazione parallela
- MPI: Message Passing Interface
- Calcolo parallelo con OpenMP: Open Multiprocessing
- Input/Output parallelo
- Introduzione alla programmazione general-purpose su Graphics Processing Unit (GPU)
- CUDA e OpenCL
Programming on Parallel Machines, Norm Matloff
Programma
- Introduzione al calcolo parallelo e distribuito- Concetti base: architetture hardware e gerarchie di memorie
- Il linguaggio C
- Modelli di programmazione parallela
- MPI: Message Passing Interface
- Calcolo parallelo con OpenMP: Open Multiprocessing
- Input/Output parallelo
- Introduzione alla programmazione general-purpose su Graphics Processing Unit (GPU)
- CUDA e OpenCL
Testi Adottati
Introduction to Parallel Computing: From Algorithms to Programming on State-of-the-Art Platforms, Trobec, Slivnik, Bulić, Robič, SpringerProgramming on Parallel Machines, Norm Matloff
Modalità Erogazione
Il corso consiste in lezioni frontali ed esercitazioni al computer.Modalità Frequenza
Facoltativa (ma consigliata)Modalità Valutazione
L'esame consiste nella realizzazione di un progetto e nella presentazione e discussione di una breve relazione sul progetto stesso e delle scelte implementative.