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

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

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

Avvisi

23/10/2017
Mi sono state (finalmente) trasmesse le schede di valutazione del corso. Ringrazio tutti coloro che hanno dedicato il proprio tempo alla compilazione dei questionari e hanno fornito suggerimenti su come migliorare il corso.
14/9/2017
Sono state pubblicate le date delle prove scritte della sessione invernale (gennaio/febbraio 2018). Si ricorda che è obbligatorio iscriversi prima della chiusura della lista su AlmaEsami.

Introduzione

Questa è la pagina del corso di High Performance Computing, corso di laurea in Ingegneria e Scienze Informatiche, AA 2016/2017, 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

Le date delle prove scritte sono riportate nella tabella seguente:

Prove scritte di High Performance Computing 2016/2017
Sessione estiva (Giugno-Luglio 2017)
I 12/6/2017 ore 10:00 Aula C
[Testo d'esame con alcuni commenti]
II 29/6/2017 ore 10:00 Aula C
[Testo d'esame con alcuni commenti]
III 17/7/2017 ore 10:00 Aula C
Sessione autunnale (Settembre 2017)
I 5/9/2017 ore 14:00 Aula C
Sessione invernale (Gennaio-Febbraio 2018)
I 17/1/2018 ore 10:00 aula C
È obbligatoria l'iscrizione tramite AlmaEsami
II 7/2/2018 ore 10:00 aula C
È obbligatoria l'iscrizione tramite AlmaEsami

Orario delle lezioni

Nota: la prima lezione si terrà giovedì 2 marzo ore 11:00 in Aula C.

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 (indicando anche se la lezione si svolgerà in aula o in laboratorio).

Orario del corso HPC, AA 2016/2017
Mercoledì 11:00—13:00 Aula C
Giovedì 11:00—13:00 Aula C/Lab 2
Venerdì 12:00—14:00 Aula C/Lab 3

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. Non si garantisce la correttezza di quanto riportato nei lucidi: segnalazioni di errori sono sempre gradite.

I lucidi verranno messi a disposizione durante il corso; per farsi un'idea del contenuto del corso è possibile consultare il materiale del vecchio corso di Algoritmi Avanzati, di cui HPC rappresenta un ampliamento.

Mercoledì 1/3/2017
No lezione
Giovedì 2/3/2017, aula C
Introduzione al corso [ODP] [PDF]
Altro materiale
Venerdì 3/3/2017, aula C
Introduzione al corso (cont.)
Mercoledì 8/3/2017
No lezione
Giovedì 9/3/2017, aula C
Architetture per il calcolo parallelo [ODP] [PDF]
Altro materiale
Venerdì 10/3/2017, aula C
Valutazione delle prestazioni [ODP] [PDF]
Mercoledì 15/3/2017, aula C
Parallel Programming Patterns [ODP] [PDF]
Giovedì 16/3/2017, aula C
Parallel Programming Patterns (cont.)
Venerdì 17/3/2017, aula C
Parallel Programming Patterns (cont.)
Mercoledì 22/3/2017, aula C
OpenMP [ODP] [PDF]
Altro materiale
Giovedì 23/3/2017, aula C
OpenMP (cont.)
Venerdì 24/3/2017, Lab. 3
Esercitazione OpenMP [Testo esercitazione (PDF)] [Testo esercitazione (ODT)] [ex1-openmp.zip] [Alcune soluzioni]
Mercoledì 29/3/2017, aula C
OpenMP (cont.)
Giovedì 30/3/2017, Lab 2
Esercitazione OpenMP [Testo esercitazione (PDF)] [Testo esercitazione (ODT)] [ex2-openmp.zip] [Alcune soluzioni]
Venerdì 31/3/2017, Lab 3
Esercitazione OpenMP [Testo esercitazione (PDF)] [Testo esercitazione (ODT)] [ex3-openmp.zip] [Alcune soluzioni]
Mercoledì 5/4/2017, aula C
Parallelizing loops [ODP] [PDF]
Giovedì 6/4/2017, aula C
MPI [ODP] [PDF]
Altro materiale
Venerdì 7/4/2017
No lezione
Mercoledì 12/4/2017, aula C
MPI (cont., operazioni di comunicazione collettiva)
Giovedì 13/4/2017
No lezione (Pasqua)
Venerdì 14/4/2017
No lezione (Pasqua)
Mercoledì 19/4/2017, aula C
MPI (cont., esempi con comunicazioni collettive: somma di vettori, odd-even transposition sort)
Giovedì 20/4/2017, Lab 2
Esercitazione MPI [Testo esercitazione (PDF)] [Testo esercitazione (ODT)] [ex1-mpi.zip] [Alcune soluzioni]
Venerdì 21/4/2017, Lab 3
Esercitazione MPI [Testo esercitazione (PDF)] [Testo esercitazione (ODT)] [ex2-mpi.zip] [Alcune soluzioni]
Mercoledì 26/4/2017, aula C
MPI (cont., user-defined datatypes)
Giovedì 27/4/2017, Lab 2
Esercitazione MPI [Testo esercitazione (PDF)] [Testo esercitazione (ODT)] [ex3-mpi.zip] [Alcune soluzioni]
Venerdì 28/4/2017, aula C
CUDA [ODP] [PDF]
Mercoledì 3/5/2017, aula C
CUDA (cont., gestione della memoria)
Giovedì 4/5/2017, Lab 2
Distribuzione questionari sulla didattica
Esercitazione CUDA [Testo esercitazione (PDF)] [Testo esercitazione (ODT)] [ex1-cuda.zip] [Alcune soluzioni]
Venerdì 5/5/2017
No lezione (Olimpiadi Problem Solving)
Mercoledì 10/5/2017
No lezione (Job Day)
Giovedì 11/5/2017, aula C
CUDA (cont., decomposizione 2D, accessi alla memoria)
Venerdì 12/5/2017, Lab 3
Esercitazione CUDA [Testo esercitazione (PDF)] [Testo esercitazione (ODT)] [ex2-cuda.zip] [Alcune soluzioni]
Mercoledì 17/5/2017, aula C
Programmazione SIMD [ODP] [PDF]
Giovedì 18/5/2017, Lab 2
Esercitazione CUDA [Testo esercitazione (PDF)] [Testo esercitazione (ODT)] [ex3-cuda.zip] [Alcune soluzioni]
Venerdì 19/5/2017, Lab 3
Esercitazione SIMD [Testo esercitazione (PDF)] [Testo esercitazione (ODT)] [ex1-simd.zip] [Alcune soluzioni]
Mercoledì 24/5/2017, aula C
Simulazione esame [PDF] [ODT]
Progetto [ProgettoHPC1617.zip]

Materiale per laboratorio

Istruzioni per l'accesso ai server HPC del corso.

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

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 October 23 2017 informativa sulla privacy