HIGH PERFORMANCE COMPUTING

Luca GRECO HIGH PERFORMANCE COMPUTING

0622700073
DIPARTIMENTO DI INGEGNERIA DELL'INFORMAZIONE ED ELETTRICA E MATEMATICA APPLICATA
CORSO DI LAUREA MAGISTRALE
INGEGNERIA INFORMATICA
2021/2022



OBBLIGATORIO
ANNO CORSO 1
ANNO ORDINAMENTO 2017
PRIMO SEMESTRE
CFUOREATTIVITÀ
324LEZIONE
324ESERCITAZIONE
324LABORATORIO


Obiettivi
L’INSEGNAMENTO INTRODUCE LO STUDENTE ALLE CARATTERISTICHE DELLE ARCHITETTURE PARALLELE, AI PARADIGMI DI COMPUTAZIONE PARALLELA ED AI RELATIVI LINGUAGGI E FRAMEWORK.

CONOSCENZE E CAPACITÀ DI COMPRENSIONE
SCHEMI ARCHITETTURALI DI SISTEMI DI CALCOLO AD ELEVATE PRESTAZIONI. ARCHITETTURE PARALLELE E LORO PROGRAMMAZIONE. ARCHITETTURE A MEMORIA DISTRIBUITA. CLUSTER DI NODI DI ELABORAZIONE. GENERAL-PURPOSE GRAPHICAL PROCESSING UNITS (GPU). FRAMEWORK PER LO SVILUPPO DI APPLICAZIONI MASSIVAMENTE PARALLELE SECONDO IL PARADIGMA MAP/REDUCE.

CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE
PROGETTARE ED IMPLEMENTARE APPLICAZIONI BASATE SU ALGORITMI PARALLELI PER ARCHITETTURE A MEMORIA CONDIVISA E DISTRIBUITA E SU GPU UTILIZZANDO I LINGUAGGI, GLI STRUMENTI E LE TECNOLOGIE PIÙ APPROPRIATE AL CONTESTO APPLICATIVO. MISURARE LE PRESTAZIONI E L'EFFICIENZA DELLE SOLUZIONI INDIVIDUATE.
Prerequisiti
L'INSEGNAMENTO RICHIEDE CONOSCENZE DEI PRINCIPI DI BASE DELLE ARCHITETTURE DEI CALCOLATORI, DEI PRINCIPALI COMPONENTI DEI SISTEMI OPERATIVI, DEI LINGUAGGI DI PROGRAMMAZIONE C E JAVA E DEI PRINCIPI DI PROGRAMMAZIONE CONCORRENTE.
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. (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 8/0/0)

- CENNI PROGRAMMAZIONE PARALLELA SU ARCHITETTURE A MEMORIA CONDIVISA CON OPENMP. (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 4/0/6)

- CENNI PROGRAMMAZIONE PARALLELA SU ARCHITETTURE A MEMORIA DISTRIBUITA CON MPI. (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 4/0/6)

- PROGRAMMAZIONE DI GPU: CUDA (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 6/0/12)

- CLUSTER PROGRAMMING CON HADOOP/MAP-REDUCE. (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 6/0/12)

- HETEROGENEOUS COMPUTING: OPENCL (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 4/0/4)

TOTALE ORE LEZIONE/ESERCITAZIONE/LABORATORIO 32/0/40
Metodi Didattici
L’INSEGNAMENTO CONTEMPLA LEZIONI TEORICHE (24 ORE), ED ESERCITAZIONI PRATICHE DI LABORATORIO (24 ORE) .

LE LEZIONI FRONTALI PREVEDONO UNA ESPOSIZIONE TEORICA PER OGNI ARGOMENTO PER CONSENTIRE L'APPLICAZIONE PRATICA IN LABORATORIO A PROBLEMI REALI. I LAVORI DI LABORATORIO INCLUDONO ATTIVITÀ INDIVIDUALE E ATTIVITÀ DI GRUPPO. LE ATTIVITÀ DI GRUPPO SONO DISCUSSE IN CLASSE E PRESENTATE AGLI ALTRI GRUPPI DURANTE LE ORE DI LABORATORIO E DISCUSSE IN AULA E DURANTE LE ORE DI RICEVIMENTO DEL DOCENTE.

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.

L'ELABORATO CONSISTE IN ASSEGNAZIONI DI GRUPPO. LE ASSEGNAZIONI COMPRENDONO DEI PROBLEMI DA RISOLVERE CON LE TECNICHE E LE METODOLOGIE PRESENTATE AL CORSO, ASSEGNATI IN MANIERA COMUNE A TUTTI I GRUPPI, E DEI PROBLEMI ASSEGNATI IN MANIERA ESCLUSIVA AD OGNI GRUPPO. LE SOLUZIONI DEI PROBLEMI HANNO LO SCOPO DI VALUTARE LE CAPACITÀ PROGETTUALI E CRITICHE DEGLI STUDENTI NEL RISOLVERE I PROBLEMI ASSEGNATI.
ALL'ELABORATO VIENE ASSEGNATA UN PUNTEGGIO IN TRENTESIMI (DA 18 A 30, O INSUFFICIENTE) CHE DIPENDE DALLA CORRETTEZZA ED EFFICIENZA DEI RISULTATI, , DAL GRADO APPROFONDIMENTO DELL’ELABORATO E DALLA CAPACITÀ DELLO STUDENTE DI PRESENTARE EFFICACEMENTE I CONTENUTI E DISCUTERE CRITICAMENTE DEGLI ARGOMENTI ILLUSTRATI.
LA PRESENTAZIONE DI UN ELABORATO CON UN SUFFICIENTE LIVELLO DI APPROFONDIMENTO, CHE SIA CORRETTO E SUFFICIENTEMENTE ESPOSTO, PER QUANTO RIGUARDA LE SOLE ASSEGNAZIONI COMUNI, CONSENTE AGLI STUDENTI DI RAGGIUNGERE LA SUFFICIENZA (18). LA PRESENZA NELL'ELABORATO DI SOLUZIONI CORRETTE, EFFICIENTI E DOCUMENTATE PER I PROBLEMI ASSEGNATI IN MANIERA ESCLUSIVA, A SECONDA DEL LIVELLO DI APPROFONDIMENTO TRATTATO, PERMETTE DI INCREMENTARE IL VOTO PER LA PRESENTAZIONE DELL'ELABORATO DA 0 A 4 PUNTI.
GLI STUDENTI CHE SUPERERANNO IL PUNTEGGIO DI 30 ALL'ELABORATO SARANNO CANDIDATI PER LA LODE.


LA PROVA ORALE È ACCESSIBILE A TUTTI GLI STUDENTI CHE ABBIANO PRESFORERANNOENTATO IL PROPRIO ELABORATO ED ABBIANO OTTENUTO UNA VALUTAZIONE NON INSUFFICIENTE

LA PROVA ORALE HA LO SCOPO DI VALUTARE L'EFFETTIVA CONOSCENZA DEGLI STUDENTI E DI VALUTARNE LE PROPRIETÀ ESPOSITIVE. COMPRENDE UNA O DUE DOMANDE PER OGNI ARGOMENTO AFFRONTATO, E UNA DOMANDA SU OGNI PARTE DELL'ELABORATO PRESENTATO. A SECONDA DEL LIVELLO DI APPROFONDIMENTO DELLE RISPOSTE, E DELLA LORO CORRETTEZZA, IL VOTO DELL'ELABORATO PUÒ VARIARE DI UN INTERVALLO TRA -2 E +2 PUNTI PER OGNI DOMANDA ORALE.

LA LODE VIENE ASSEGNATA SOLO ALL'UNANIMITÀ DELLA COMMISSIONE.
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

MATERIALE DIDATTICO INTEGRATIVO SARà DISPONIBILE NELLA SEZIONE DEDICATA DELL'INSEGNAMENTO ALL'INTERNO DELLA PIATTAFORMA E-LEARNING DI ATENEO (HTTP://ELEARNING.UNISA.IT) ACCESSIBILE AGLI STUDENTI DEL CORSO TRAMITE LE CREDENZIALI UNICHE DI ATENEO
Altre Informazioni
L'INSEGNAMENTO E' EROGATO IN INGLESE
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2022-11-21]