20810157 - CALCOLO PARALLELO E DISTRIBUITO

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

Curriculum

scheda docente | materiale didattico

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.

http://www.dia.uniroma3.it/~paoluzzi/
http://www.dia.uniroma3.it/~paoluzzi/web/did/calcoloparallelo/2022/index.html

Testi Adottati

Trasparenze delle lezioni

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


Bibliografia Di Riferimento

https://juliaacademy.com/p/julia-programming-for-nervous-beginners

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.

Modalità Valutazione

valutazione progetto , valutazione in itinere

scheda docente | materiale didattico

Mutuazione: 20810157 CALCOLO PARALLELO E DISTRIBUITO in Ingegneria informatica LM-32 PAOLUZZI ALBERTO

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.

http://www.dia.uniroma3.it/~paoluzzi/
http://www.dia.uniroma3.it/~paoluzzi/web/did/calcoloparallelo/2022/index.html

Testi Adottati

Trasparenze delle lezioni

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


Bibliografia Di Riferimento

https://juliaacademy.com/p/julia-programming-for-nervous-beginners

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.

Modalità Valutazione

valutazione progetto , valutazione in itinere

Mutuazione: 20810157 CALCOLO PARALLELO E DISTRIBUITO in Ingegneria informatica LM-32 (docente da definire)

scheda docente | materiale didattico

Mutuazione: 20810157 CALCOLO PARALLELO E DISTRIBUITO in Ingegneria informatica LM-32 PAOLUZZI ALBERTO

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.

http://www.dia.uniroma3.it/~paoluzzi/
http://www.dia.uniroma3.it/~paoluzzi/web/did/calcoloparallelo/2022/index.html

Testi Adottati

Trasparenze delle lezioni

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


Bibliografia Di Riferimento

https://juliaacademy.com/p/julia-programming-for-nervous-beginners

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.

Modalità Valutazione

valutazione progetto , valutazione in itinere