You are in: Home » Teaching » HPC 2017-2018

High Performance Computing
Laurea in Ingegneria e Scienze Informatiche, Università di Bologna, 2017/2018

[ Avvisi | Introduzione | Programma | Esami | Orario delle lezioni | Lucidi delle lezioni | Codice di esempio]

Avvisi

4/7/2018
I voti della prova scritta del 3/7/2018 sono disponibili su AlmaEsami. I dettagli dei punteggi assegnati a ogni esercizio sono consultabili su questo file. È possibile sostenere nuovamente la prova scritta per migliorare il voto; tuttavia, chi consegna un nuovo scritto perde automaticamente tutti i voti degli scritti precedenti, a prescindere dal nuovo risultato (che nella peggiore delle ipotesi potrebbe anche essere insufficiente).
19/6/2018
I voti della prova scritta del 19/6/2018 sono disponibili su AlmaEsami. I dettagli dei punteggi assegnati a ogni esercizio sono consultabili su questo file. È possibile sostenere nuovamente la prova scritta per migliorare il voto; tuttavia, chi consegna un nuovo scritto perde automaticamente tutti i voti degli scritti precedenti, a prescindere dal nuovo risultato (che nella peggiore delle ipotesi potrebbe anche essere insufficiente).
19/6/2018
Cambio d'orario: l'appello di martedì 3 luglio si svolgerà dalle ore 13:00 alle 14:00 in aula C. Ricordo che è obbligatoria l'iscrizione tramite AlmaEsami (le liste chiudono alcuni giorni prima della prova). Raccomando gli interessati di iscriversi per tempo.
11/6/2018
Informo sto per completare la valutazione di tutti i progetti consegnati ad oggi; gli interessati riceveranno una mail con la proposta di voto.
8/6/2018
Causa sovrapposizione di impegni del docente, il secondo appello della sessione estiva previsto per martedì 3 luglio alle ore 10:00 dovrà essere spostato ad una nuova data oppure ad un nuovo orario. Si prega di controllare questa pagina per aggiornamenti.
17/4/2018
Mi sono state trasmesse le schede di valutazione del corso. Ringrazio tutti coloro che hanno dedicato il proprio tempo alla compilazione dei questionari e hanno fornito suggerimenti utili per migliorare il corso.
6/3/2018
Sono state pubblicate le date degli esami della sessione estiva (giugno-luglio 2018). Ricordo che è necessario iscriversi tramite AlmaEsami; l'iscrizione chiude alcuni giorni prima per consentire la gestione degli aspetti logistici.
12/2/2018
I voti della prova scritta del 7/2/2018 sono disponibili su AlmaEsami. I dettagli dei punteggi assegnati a ogni esercizio, e alcuni commenti generali sul compito, sono consultabili su questo file. È possibile sostenere nuovamente la prova scritta (negli appelli di giugno-luglio o settembre) per migliorare il voto; tuttavia, chi consegna un nuovo scritto perde automaticamente tutti i voti degli scritti precedenti, a prescindere dal nuovo risultato (che nella peggiore delle ipotesi potrebbe anche essere insufficiente).
22/1/2018
I voti della prova scritta del 17/1/2018 sono disponibili su AlmaEsami. I dettagli dei punteggi assegnati a ogni esercizio, e alcuni commenti generali sul compito, sono consultabili su questo file. È possibile sostenere nuovamente la prova scritta per migliorare il voto; tuttavia, chi consegna un nuovo scritto perde automaticamente tutti i voti degli scritti precedenti, a prescindere dal nuovo risultato (che nella peggiore delle ipotesi potrebbe anche essere insufficiente).
18/12/2017
Sono disponibili le specifiche del progetto per l'anno accademico corrente.

Introduzione

Questa è la pagina del corso di High Performance Computing, corso di laurea in Ingegneria e Scienze Informatiche, AA 2017/2018, Università di Bologna (campus di Cesena). Il corso intende fornire agli studenti le conoscenze teoriche e pratiche necessarie per progettare, implementare e analizzare programmi paralleli su architetture a memoria condivisa e distribuita.

Prerequisiti: Questo corso richiede una buona conoscenza della programmazione in linguaggio C, e delle architetture dei calcolatori (a livello di quanto presentato nel corso di architettura dei calcolatori). Lavoreremo in ambiente Linux utilizzando prevalentemente software libero (compilatore gcc, libreria Open MPI; per la programmazione CUDA useremo il software proprietario NVIDIA, dato che al momento mancano alternative libere). È quindi auspicabile avere già acquisito confidenza con l'ambiente Unix/Linux e i suoi strumenti di sviluppo.

Programma del corso e libri di testo

Programma di massima

Testi di riferimento

Materiale per approfondimenti

Ulteriore materiale di interesse

Guide introduttive alla shell Linux

(per chi non ha seguito il corso di Sistemi Operativi con il prof. Vittorio Ghini)

Materiale sul linguaggio C

Segnalo anche il materiale seguente, liberamente disponibile in rete:

Esame

Specifiche del progetto per l'AA 2017/2018

Le specifiche del progetto per l'anno accademico corrente sono contenute nell'archivio ProgettoHPC1718.zip . Le specifiche rimangono valide fino alla sessione d'esami di settembre 2018 compresa. Dopo tale data inizierà la nuova edizione del corso e sarà assegnato un nuovo progetto. L'ultimo giorno utile per la consegna del progetto è il 30 settembre 2018. Non verranno accettati progetti consegnati in ritardo.

Regole d'esame

Per sostenere la prova scritta è obbligatorio iscriversi tramite AlmaEsami. Le liste di iscrizione chiudono alcuni giorni prima per consentire la gestione degli aspetti logistici dell'esame, per cui è necessario iscriversi per tempo. Le date delle prove scritte sono riportate nella tabella seguente:

Prove scritte di High Performance Computing 2017/2018
Sessione autunnale (Gennaio-Febbraio 2018)
I 17/1/2018 ore 10:00 Aula C
II 7/2/2018 ore 10:00 Aula C
Sessione estiva (Giugno-Luglio 2018)
I 19/6/2018 ore 14:00 aula C
II 3/7/2018 ore 13:00 aula C
III 16/7/2018 ore 14:00 aula C
È obbligatoria l'iscrizione tramite AlmaEsami
Sessione autunnale (Settembre 2018)
I

Orario delle lezioni

Alcune lezioni subiranno delle variazioni rispetto all'orario indicato sotto; si prega di fare riferimento al calendario delle lezioni che verrà aggiornato di volta in volta.

Orario del corso HPC, AA 2017/2018
Lunedì 9:00—11:00 Lab 3
Martedì 14:00—17:00 Aula A

Lucidi delle lezioni

I lucidi non sono da considerare come sostitutivi né dei testi di riferimento né della frequenza alle lezioni, che costituiscono importanti elementi per una buona preparazione dell'esame; i lucidi messi a disposizione costituiscono soltanto uno schema di parte delle lezioni. Ringrazio chi mi segnalerà eventuali errori.

I lucidi al momento disponibili sono quelli usati l'anno accademico precedente; saranno possibili modifiche durante il corso.

Lunedì 25/9/2017, ore 09:00 Lab 3
Introduzione al corso [ODP] [PDF]
Altro materiale
Martedì 26/9/2017, ore 14:00 Aula A
Introduzione al corso (cont.)
Lunedì 2/10/2017, ore 09:00 Lab 3
Parallel computing architectures [ODP] [PDF]
Altro materiale
Martedì 3/10/2017, ore 14:00 Aula A
Performance Evaluation of Parallel Programs [ODP] [PDF]
Lunedì 9/10/2017, ore 09:00 Lab 3
Parallel Programming Patterns [ODP] [PDF]
Martedì 10/10/2017, ore 14:00 Aula A
Parallel Programming Patterns (cont.)
Lunedì 16/10/2017, ore 09:00 Lab 3
Shared-Memory Programming with OpenMP [ODP] [PDF]
Altro materiale
  • Blaise Barney, OpenMP Tutorial, Lawrence Livermore National Laboratory.
  • I programmi di esempio illustrati a lezione sono disponibili nella sezione codice di esempio
Martedì 17/10/2017
Lezione annullata
Lunedì 23/10/2017, ore 09:00 Lab 3
Prima esercitazione OpenMP [ODT] [PDF] [ex1-openmp.zip] [possibile soluzione] [Istruzioni per la connessione al server]
Martedì 24/10/2017, ore 14:00—16:00 Aula A
Shared-Memory Programming with OpenMP (cont.)
Martedì 24/10/2017, ore 16:00—18:00 Lab 3
Seconda esercitazione OpenMP [ODT] [PDF] [ex2-openmp.zip] [possibile soluzione]
Lunedì 30/10/2017, ore 09:00 Lab 3
Shared-Memory Programming with OpenMP (cont.)
Martedì 31/10/2017, ore 14:00 aula A
Parallelizing Loops [ODP] [PDF]
Lunedì 6/11/2017, ore 09:00 Lab 3
Terza esercitazione OpenMP [ODT] [PDF] [ex3-openmp.zip] [possibile soluzione]
Martedì 7/11/2017, ore 14:00 aula A
Distributed-Memory Programming with MPI [ODP] [PDF]
Altro materiale
Martedì 7/11/2017, ore 16:00 Lab 3
Prima esercitazione MPI [ODT] [PDF] [ex1-mpi.zip] [possibile soluzione]
Lunedì 13/11/2017, ore 09:00 Lab 3
Distributed-Memory Programming with MPI (cont.)
Martedì 14/11/2017, ore 14:00 aula A
Distributed-Memory Programming with MPI (cont.)
Lunedì 20/11/2017, ore 09:00 Lab 3
Seconda esercitazione MPI [ODT] [PDF] [ex2-mpi.zip] [possibile soluzione]
Martedì 21/11/2017, ore 14:00 aula A
CUDA Programming [ODP] [PDF]
Altro materiale
Martedì 21/11/2017, ore 16:00 Lab 2
Terza esercitazione MPI [ODT] [PDF] [ex3-mpi.zip] [possibile soluzione]
Lunedì 27/11/2017
Lezione annullata (Lab 3 occupato)
Martedì 28/11/2017, ore 14:00 aula A
CUDA Programming (cont.)
Lunedì 4/12/2017, ore 09:00 Lab 3
Prima esercitazione CUDA [ODT] [PDF] [ex1-cuda.zip] [possibile soluzione]
Martedì 5/12/2017, ore 14:00 aula A
CUDA Programming (cont.)
Compilazione dei questionari di valutazione della didattica: si raccomanda la massima partecipazione
Martedì 5/12/2017, ore 16:00 Lab 2
Seconda esercitazione CUDA [ODT] [PDF] [ex2-cuda.zip] [possibile soluzione]
Lunedì 11/12/2017, ore 09:00 Lab 3
Terza esercitazione CUDA [ODT] [PDF] [ex3-cuda.zip] [possibile soluzione]
Martedì 12/12/2017, ore 14:00 aula A
SIMD Programming [ODP] [PDF]
Lunedì 18/12/2017, ore 09:00 Lab 3
Esercitazione SIMD [ODT] [PDF] [ex1-simd.zip] [possibile soluzione]
Nota: nei file precedenti è stato incluso un esercizio in più (mappa del gatto di Arnold) rispetto a quelli assegnati in laboratorio.
Martedì 19/12/2017, ore 14:00 aula A
Ultima lezione del corso: presentazione del progetto d'esame

Codice di esempio

Istruzioni per l'accesso ai server HPC del corso.

È disponibile un archivio contenente alcuni esempi di programmazione (HPC1718.tar.gz ) che verranno illustrati durante il corso e in laboratorio. Il contenuto dell'archivio è soggetto a modifiche.

This page validates as XHTML 1.0 strict This page validates as CSS Check the accessibility of this page with WAVE
This page was last updated on July 04 2018 informativa sulla privacy