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

High Performance Computing
Laurea in Ingegneria e Scienze Informatiche, Università di Bologna, 2019/2020

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

Avvisi

27/11/2019
Per chi fosse interessato: alcune aziende attive in ambito HPC (in nessun ordine particolare): Doit-Systems, E4 Computer Engineering, CINECA (divisione supercalcolo), ENI, HPE (Hewlett Packard Enterprise), Eurotech, ECMWF (European Centre for Medium-Range Weather Forecasts, il nuovo datacenter è a Bologna), ...
27/11/2019
Ultima lezione del corso.
12/11/2019
Ricordo che il laboratorio di domani mercoledì 13 novembre terminerà alle ore 16:00
27/10/2019
Sono disponibili le date degli appelli d'esame (scritti) della sessione invernale (gennaio/febbraio 2020). È possibile iscriversi tramite AlmaEsami.
7/9/2019
Slide di presentazione del corso.

Introduzione

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

Guide introduttive alla shell Linux

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

Esame

Prove scritte di High Performance Computing 2019/2020
Sessione invernale (Gennaio-Febbraio 2020)
I 14/1/2020 ore 10:00 aula 2.13
È obbligatoria l'iscrizione tramite AlmaEsami
II 6/2/2020 ore 10:00 aula 2.13
È obbligatoria l'iscrizione tramite AlmaEsami
Sessione estiva (Giugno-Luglio 2020)
I TBD
II TBD
III TBD
Sessione autunnale (Settembre 2020)
I TBD

Specifiche del progetto per l'AA 2019/2020

Specifiche del progetto [PDF] (consegna entro le ore 23:59 del 30 settembre 2020)

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:

Orario delle lezioni

Tutte le lezioni si svolgeranno presso il nuovo campus universitario di Cesena.

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

Orario del corso di High Performance Computing, AA 2019/2020
Lunedì 9:00—12:00, Aula 3.7
Mercoledì 14:00—17:00, Lab 2.2

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, specialmente prima delle lezioni.

18/9/2019 ore 14:00 lab 2.2
Introduzione al corso (Pacheco cap. 1)
[ODP] [PDF]
Per approfondire
23/9/2019 ore 9:00 aula 3.7
Parallel architectures (Pacheco cap. 2 escluso 2.3.3)
[ODP] [PDF]
Per approfondire
25/9/2019 ore 14:00 lab 2.2
Performance Evaluation of Parallel Programs (Pacheco cap. 2.6)
[ODP] [PDF]
Per approfondire
30/9/2019 ore 9:00 aula 3.7
Parallel Programming Patterns (McCool et al. cap 3)
[ODP] [PDF]
Per approfondire
2/10/2019 ore 14:00 lab 2.2
Parallelizing Loops
[ODP] [PDF]
7/10/2019 ore 09:00 aula 3.7
Shared-Memory Programming with OpenMP (Pacheco cap. 5)
[ODP] [PDF]
Per approfondire
9/10/2019 ore 14:00 lab 2.2
Lab OpenMP
[ODT] [PDF] [ex1-openmp.zip] [possibili soluzioni] [Istruzioni per la connessione al server]
14/10/2019 ore 09:00 aula 3.7
Shared-Memory Programming with OpenMP (cont.)
16/10/2019 ore 14:00 lab 2.2
Lab OpenMP
[ODT] [PDF] [ex2-openmp.zip] [possibili soluzioni]
21/10/2019 ore 09:00 aula 3.7
Distributed-Memory Programming with MPI (Pacheco cap. 3)
[ODP] [PDF]
Per approfondire
23/10/2019 ore 14:00 lab 2.2
Lab MPI
[ODT] [PDF] [ex1-mpi.zip] [possibili soluzioni]
28/10/2019 ore 09:00 aula 3.7
Distributed-Memory Programming with MPI (cont.)
30/10/2019 ore 14:00 lab 2.2
Lab MPI
[ODT] [PDF] [ex2-mpi.zip] [possibili soluzioni]
4/11/2019 ore 09:00 aula 3.7
CUDA Programming
[ODP] [PDF]
Per approfondire
6/11/2019 ore 14:00 lab 2.2
Lab CUDA
[ODT] [PDF] [ex1-cuda.zip] [possibili soluzioni]
11/11/2019 ore 09:00 aula 3.7
CUDA Programming (cont.)
Per approfondire
13/11/2019 ore 14:00 lab 2.2 (termina alle 16:00)
Lab CUDA
[ODT] [PDF] [ex2-cuda.zip] [possibili soluzioni]
18/11/2019 ore 09:00 aula 3.7
SIMD Programming
[ODP] [PDF]
20/11/2019 ore 14:00 lab 2.2
Lab SIMD
[ODT] [PDF] [ex1-simd.zip] [possibili soluzioni]
25/11/2019 ore 09:30 aula 3.7
Seminario dr. Andrea Bartolini: Sviluppo e progettazione di apparati di supercalcolo in ER
[PDF]
27/11/2019 ore 14:00 lab 2.2
Presentazione del progetto d'esame

Codice di esempio

HPC1920.zip: esempi di programmazione illustrati durante il corso.

Istruzioni per l'accesso al server usato in laboratorio.

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 November 27 2019 informativa sulla privacy