Fornire allo studente conoscenze metodologico-operative e competenze progettuali per quanto attiene ai metodi di progettazione di codice per il calcolo parallelo e distribuito. Lo studente che abbia superato il corso dovrà essere in grado di: progettare e sviluppare applicazioni, nonché di partecipare al progetto e allo sviluppo di librerie e sottosistemi per applicazioni generiche
scheda docente
materiale didattico
Blaise N. Barney, HPC Training Materials, by kind permission of Lawrence Livermore National Laboratory's Computational Training Center
Avik Sengupta, Julia High Performance: Optimizations, distributed computing, multithreading, and GPU programming with Julia 1.0 and beyond, 2nd Edition, Pakt, 2019
Programma
Breve introduzione al linguaggio Julia. Introduzione alle architettura parallele, programmazione parallela e distribuita con Julia. Primitive di comunicazione e sincronizzazione. Parallelizzazione basata su direttive, modelli di programmazione parallela. Metriche di prestazione. Operazioni matriciali e sistemi lineari densi. Sistemi lineari sparsi. Algoritmi cache-oblivious. Tecniche di sviluppo collaborativo di progetti, sviluppo e debugging guidati dai test.Testi Adottati
Trasparenze delle lezioniBlaise N. Barney, HPC Training Materials, by kind permission of Lawrence Livermore National Laboratory's Computational Training Center
Avik Sengupta, Julia High Performance: Optimizations, distributed computing, multithreading, and GPU programming with Julia 1.0 and beyond, 2nd Edition, Pakt, 2019
Modalità Erogazione
Lezioni in aula, progetti, svolti sulla base di indicazioni fornite dal docente. Nel caso di un prolungamento dell’emergenza sanitaria da COVID-19 saranno recepite tutte le disposizioni che regolino le modalità di svolgimento delle attività didattiche e della valutazione degli studenti. In particolare, ove necessario, si procederà con videolezioni sincrone e disponibili anche in forma registrata, supportate dalle forme di interazione che risulteranno possibili, in presenza o a distanza.Modalità Valutazione
valutazione progetto , valutazione in itinere