You are in: Home » Teaching » High Performance Computing 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

Pagina in continuo aggiornamento; le informazioni sono ancora soggette a modifiche.

13/6/2017
I voti della prova scritta del 12/6/2017 sono disponibili su AlmaEsami. I dettagli dei punteggi assegnati a ogni esercizio sono consultabili su questo file. È possibile prendere visione del proprio elaborato lunedì 19 giugno alle ore 10:00 presso l'ufficio del docente (stanza 12, primo piano). Si prega però di prendere preventivamente visione dei commenti ad alcuni degli esercizi che illustrano i problemi più comuni che ho riscontrato durante la correzione. È 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).
12/6/2017
È disponibile il testo della prova scrita di oggi con commenti su due esercizi che si sono rivelati problematici.
26/5/2017
Ho aggiornato le specifiche del progetto per segnalare la necessità di prestare la massima attenzione alla gestione delle ghost cell (se si decide di usarle).
24/5/2017
È disponibile il testo del progetto per l'Anno Accademico 2016/2017
26/4/2017
In vista delle prossime esercitazioni in laboratorio, invito gli studenti a richiedere l'account su disi-hpc-cuda mandandomi mail (moreno.marzolla@unibo.it) dal vostro indirizzo di posta istituzionale, con oggetto [HPC] Richiesta account disi-hpc-cuda e indicando nel testo il proprio cognome, nome e numero di matricola.
4/4/2017
Sono state pubblicate le date delle prove scritte della sessione estiva (giugno/luglio 2017).
1/3/2017
La lezione di mercoledì 8/3/2017 è annullata; le lezioni di giovedì 9/3 e venerdì 10/3 si svolgeranno regolarmente in aula C.
11/1/2017
La prima lezione del corso si svolgerà giovedì 2 marzo 2017 alle ore 11:00 in aula C
7/11/2016
Mi sono procurato una Parallella Board. Questa scheda minuscola (a occhio è più piccola di un Raspberry Pi) è dotata di un processore ARM dual core affiancato da 16 core RISC. In pratica, un supercomputer di pochi anni fa che si può tenere in tasca. Se ci sarà il tempo, ne parleremo durante il corso.
Scheda parallellaScheda parallella con case LegoScheda parallella e Nvidia Jetson TK1 con case Lego
30/5/2016
Pagina creata.

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 con alcuni commenti]
II 29/6/2017 ore 10:00 Aula C
È obbligatoria l'iscrizione tramite AlmaEsami
III 17/7/2017 ore 10:00 Aula C
È obbligatoria l'iscrizione tramite AlmaEsami
Sessione autunnale (Settembre 2017)
I
Sessione invernale (Gennaio-Febbraio 2018)
I
II

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 June 20 2017 informativa sulla privacy