Parallel Computing

Novità

Orario e aule - Ricevimento - Annunci su lezioni

Inizio lezioni a.a. 2016-2017: 29 Settembre 2016. Termine lezioni: 22 Dicembre 2016.

Vacanze: -

Ricevimento: Lunedì dalle 17:00 alle 19:00 presso l'ufficio a S. Marta - fissare comunque l'appuntamento per email: marco.bertini@unifi.it

Assenze:

Date esame

E' necessario prenotarsi mediante il modulo web disponibile all'indirizzo: http://sol.unifi.it/prenot/prenot

L'esame viene effettuato presso il MICC o a S. Marta. I locali sono sempre segnalati sul modulo di iscrizione. Le modalità di superamento dell'esame sono riportate sotto.

Le date d'esame sono visibili sul sito ufficiale dell'Università http://sol.unifi.it/docprenot/docprenot:

Lucidi lezioni e materiale collegato

I collegamenti sono generalmente fatti a materiale scritto in inglese, a meno di diversa indicazione. I lucidi sono in formato PDF.
Il programma fatto durante le lezioni è riportato nella pagina web: Registro lezioni 2016-2017 e sul sito di e-learning dell'Università.

Sito e-Learning Unifi con materiale del corso: http://e-l.unifi.it. Tutti gli studenti dell'A.A. 2016-2017 devono iscriversi.

Lucidi e materiale a.a. 2016 - 2017

Lucidi e materiale anni precedenti:

Modalità di svolgimento dell'esame

L'esame si compone di una prova di mid-term ed un elaborato.
La prova di mid-term consiste in una relazione e presentazione di capitoli di libro assegnati dal docente. Ogni prova ed elaborato può essere sostenuta singolarmente o da un gruppo di massimo due persone. gli elaborati sono selezionati da un set di temi che sono presentati alla fine del corso. Secondo il numero di crediti gli elaborati avranno un grado di difficoltà maggiore. Ogni elaborato è pensato per essere implementato usando una o due diverse tecnologie viste durante il corso, come per es. PThreads, OpenMP, CUDA, etc. Gli elaborati vanno selezionati dalla seguente lista in formato PDF.

Link utili

CUDA SDK: SDK per la programmazione di GPU con CUDA

OpenMP: specifiche ufficiali di OpenMP

OpenMPI implementazione open source delle specifiche MPI

Ambienti di sviluppo/compilatori consigliati

Per lo sviluppo con CUDA è consigliato l'uso di NVIDIA Nsight che è basato su Eclipse. Nsight è disponibile anche come plugin per Visual Studio.

Per lo sviluppo degli esercizi in PThreads, C++11, OpenMP ed OpenMPI & consigliato fortemente l'uso di CLion, un ambiente di sviluppo integrato multipiattaforma con licenza gratuita per gli studenti. Durante il corso verrà usata questa IDE. I software sviluppati durante il corso DEVONO essere forniti come progetti CLion.

Compilatore per Windows: GCC nella distribuzione MinGW

Compilatore per Linux: G++

Compilatore per OSX: la versione di clang++ di Apple (ultime versioni di XCode per OSX) non è adatta per lo sviluppo con OpenMP e OpenMPI. È consigliato installare le ultime versioni di clang++ o g++ da Homebrew o Macports.

Libri di testo

Copertina SnyderC. Lin, L. Snyder, "Principles of Parallel Programming", Pearson, 2009

 

 

 

 

 

 

 

 

D.B. Kirk, W.-m. W. Hwu, "Programming Massively Parallel Processors: A Hands-on Approach", Morgan Kaufmann, 2012copertina Kirk

 

 

 

 

 

 

 

 

P.S. Pacheco, "An Introduction to Parallel Programming", Morgan Kaufmann, 2012copertina Pacheco

 

 

 

 

 

 

 

Libri consigliati

J. Cheng, M. Grossman, T. McKercher, “Professional Cuda C Programming”, Wrox, 2014Copertina Cheng

 

 

 

 

 

 

 

 

 

T. Rauber, G. Runger, “Parallel Programming: For Multicore and Cluster Systems”, Springer, 2013Copertina Design Patterns