Francesco MOSCATO | HIGH PERFORMANCE COMPUTING
Francesco MOSCATO HIGH PERFORMANCE COMPUTING
cod. 0622700073
HIGH PERFORMANCE COMPUTING
0622700073 | |
DIPARTIMENTO DI INGEGNERIA DELL'INFORMAZIONE ED ELETTRICA E MATEMATICA APPLICATA | |
CORSO DI LAUREA MAGISTRALE | |
INGEGNERIA INFORMATICA | |
2020/2021 |
OBBLIGATORIO | |
ANNO CORSO 2 | |
ANNO ORDINAMENTO 2017 | |
SECONDO SEMESTRE |
SSD | CFU | ORE | ATTIVITÀ | |
---|---|---|---|---|
ING-INF/05 | 3 | 24 | LEZIONE | |
ING-INF/05 | 3 | 24 | ESERCITAZIONE |
Obiettivi | |
---|---|
L’insegnamento introduce lo studente alle caratteristiche delle architetture parallele, ai paradigmi di computazione parallela ed ai relativi linguaggi e framework. Al termine del corso lo studente sara in grado di progettare algoritmi paralleli su architetture a memoria condivisa e distribuita utilizzando i linguaggi, gli strumenti e le tecnologie piu appropriate al contesto applicativo unitamente alla misurazione delle prestazioni e dell'efficienza delle soluzioni individuate. Conoscenze e capacità di comprensione Architetture ad elevate prestazioni. Architetture parallele e loro programmazione. Architetture a memoria distribuita. Cluster. GPU. Conoscenze e capacità di comprensione applicate Sviluppo di applicazioni per architetture a memoria condivisa e a memoria distribuita. Framework per lo sviluppo di applicazioni massivamente parallele secondo il paradigma Map/Reduce. Sviluppo di applicazioni parallele basate su GPU. |
Prerequisiti | |
---|---|
L'insegnamento richiede conoscenze sull'architettura dei calcolatori e sulla programmazione nei linguaggi C e Java. |
Contenuti | |
---|---|
Architetture ad elevate prestazioni: pipelining, architetture superscalari, hyperthreading. Architetture parallele: tassonomia di Flynn, sistemi a memoria condivisa e distribuita; GPGPU. Pattern per la programmazione parallela. Valutazione delle prestazioni di programmi paralleli: speedup, efficienza, scalabilita. (8/0/0) Cenni Programmazione parallela su architetture a memoria condivisa con OpenMP. (4/0/8) Cenni Programmazione parallela su architetture a memoria distribuita con MPI. (4/0/8) Cluster programming con Hadoop/Map-Reduce. (6/0/12) Programmazione di GPU. Cenni Programmazione parallela con OpenACC. (8/0/14) TOTALE LEZ/ESE/LAB: 30/0/42 |
Metodi Didattici | |
---|---|
L’INSEGNAMENTO CONTEMPLA LEZIONI TEORICHE, ED ESERCITAZIONI PRATICHE DI LABORATORIO. La frequenza delle lezioni è obbligatoria. Per accedere all'esame finale, lo studente deve aver frequentato almeno il 70% delle ore di didattica frontale. |
Verifica dell'apprendimento | |
---|---|
LA VALUTAZIONE DEL RAGGIUNGIMENTO DEGLI OBIETTIVI PREFISSATI AVVERRÀ MEDIANTE LA REALIZZAZIONE DI UN PROGETTO DI GRUPPO ED UN COLLOQUIO ORALE. LA VALUTAZIONE TERRÀ CONTO DEI SEGUENTI ASPETTI: CONOSCENZA DELLE TECNOLOGIE E DELLE METODOLOGIE PRESENTATE NEL CORSO; CAPACITÀ DI PROGETTARE, SVILUPPARE E VALUTARE UN ALGORITMO PARALLELO USANDO LE METODOLOGIE E GLI STRUMENTI PRESENTATI NEL CORSO. |
Testi | |
---|---|
Peter Pacheco, An Introduction to Parallel Programming, Morgan Kaufmann I. Foster. Designing and Building Parallel Programs. Addison-Wesley Jason Sanders, Edward Kandrot, CUDA by Example: An Introduction to General-Purpose GPU Programming, Addison-Wesley Georg Hager, Gerhard Wellein, Introduction to High Performance Computing for Scientists and Engineers, CRC Press |
Altre Informazioni | |
---|---|
Il corso è tenuto in lingua inglese. |
BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2022-05-23]