Questo è il sito web del corso di Calcolo Parallelo e Distribuito (IN 480) per l'a.a. 2022/2023, attivo presso il corso di Laurea in Scienze Computazionali, Dipartimento di Matematica e Fisica, Università degli Studi di Roma Tre. Sono a disposizione il canale Teams e Moodle
Su questo sito verranno rese disponibili le informazioni aggiornate sul corso e verrà reso disponibile il materiale didattico utilizzato durante le lezioni. Sono inoltre presenti alcuni riferimenti bibliografici per approfondire le tematiche affrontate durante il corso.
Docente: Marco Cianfriglia
e-mail: marco.cianfriglia(AT)uniroma3.it
Ricevimento: il Mercoledì dalle 12:30 - 13.30 presso il mio ufficio - palazzina C 3° piano - stanza 310
Obiettivi del corso: Il corso introduce le tecniche di programmazione parallela e distribuita sulle moderne architetture di calcolo ad alte prestazioni con particolare riferimento alla programmazione general-purpose su GPU. 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.
Requisiti: conoscenza del linguaggio C e dei calcolatori
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
Modalità di esame: l'esame consiste nella realizzazione di un progetto e nella presentazione e discussione di una breve relazione sul progetto stesso.
Le lezioni si terranno il Lunedì dalle ore 12:00 alle 14:00 in aula M5, il Mercoledì dalle 14:00 alle 16:00 ed il Venerdì dalle 12:00 alle 14:00 nel Laboratorio di Informatica.
Non c'è obbligo di frequenza delle lezioni (anche se consigliato); gli studenti potranno prepararsi all'esame utilizzando il materiale didattico fornito dal docente ed i testi riportati nei riferimenti bibliografici.
ESERCIZI :Fino alla fine del corso vi proporrò ogni tanto la risoluzione di alcuni problemi che vi permettono di fare pratica in vista del progetto finale.
Non è obbligatorio fare gli esercizi per superare l'esame ma chi decide di farlo avrà dei bonus sul voto finale.
Chi risolve correttamente almeno 50% di TUTTI esercizi proposti entro le deadline assegnate avrà 0.5 punti aggiuntivi sul voto finale.
Chi risolve correttamente almeno 75% di TUTTI esercizi proposti entro le deadline assegnate avrà 1.5 punti aggiuntivi sul voto finale.
Chi risolve correttamente il 100% di TUTTI esercizi proposti entro le deadline assegnate avrà 3 punti aggiuntivi sul voto finale.
In sede di discussione del progetto, potrò fare domande sugli esercizi che avete svolto per verifica.
Per la consegna mi dovete inviare una mail con all'interno il codice C funzionante dei problemi che avete risolto. I nomi dei file devono avere il seguente formato:
Problema_<numero-problema>_<numero-matricola>.c
Ad esempio se lo studente ha matricola n° 123456 e decide di svolgere il problema 3 il file dovrà essere "Problema_3_123456.c"
Le lezioni inizieranno Lunedì 19 Settembre 2022
Lunedì 26 Settembre su disposizione dell'Ateneo la didattica è sospesa in occasione delle elezioni politiche ( nota rettorale n. prot. 89925 del 6 settembre )
Per le esercitazioni utilizzeremo sia i pc del laboratorio che la DGX1 del dipartimento. Per gli account del laboratorio compilare la modulistica presente qui.
Per la DGX1 compilare il form seguente per richiedere un account: http://www.matfis.uniroma3.it/ateneo/DGX-1/
ATTENZIONE: il lunedì le lezioni si terranno in aula M5 anzichè nel laboratorio di informatica.
Il giorno 05 Ottobre il ricevimento si terrà nel pomeriggio dalle 16:30 - 17:30
Su Teams ho caricato il primo file con gli esercizi - la deadline di consegna è il 20 Ottobre 2022 ore 23.59
Il giorno 24 Ottobre la lezione è sospesa per permettere agli studenti interessati di partecipare al workshop Privacy preserving systems, software and tools
http://www.matfis.uniroma3.it/cryptoworkshop
Le lezioni del lunedi saranno dalle 12 alle 14 in aula M5
Su Teams ho caricato il secondo file con gli esercizi - la deadline di consegna è il 18 Novembre 2022 ore 23.59
È stato caricato su TEAMS il testo del progetto