20410148 - IN480 - CALCOLO PARALLELO E DISTRIBUITO

Acquisire le tecniche di programmazione parallela e distribuita, e la conoscenza delle moderne architetture hardware e software per il calcolo scientifico ad alte prestazioni. Introdurre i metodi iterativi distribuiti per la simulazione di problemi numerici. Acquisire la conoscenza dei linguaggi di nuova concezione per la programmazione dinamica nel calcolo scientifico, quali il linguaggio Julia.

Curriculum

scheda docente | materiale didattico

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

Programma

Breve introduzione al linguaggio Julia per calcolo scientifico. Introduzione alle architetture parallele. Principi di progetto di algoritmi paralleli. Tecniche di programmazione parallela e distribuita con Julia. Primitive di comunicazione e sincronizzazione: paradigma MPI. Linguaggi basati su direttive: OpenMP. Metriche di prestazione dei programmi paralleli. Operazioni matriciali e sistemi lineari densi: Cenni a BLAS, LAPACK, scaLAPACK. Sistemi lineari sparsi. Cenni a CombBLAS, GraphBLAS.

Testi Adottati

1. [Lecture slides and diary](https://github.com/cvdlab-courses/pdc/blob/master/schedule.md)

2. [Learning Julia](https://www.manning.com/books/julia-in-action)

3. Blaise N. Barney, [HPC Training Materials](https://computing.llnl.gov/tutorials/parallel_comp/), per gentile concessione del Lawrence Livermore National Laboratory's Computational Training Center

4. J. Dongarra, J. Kurzak, J. Demmel, M. Heroux, [Linear Algebra Libraries for High- Performance Computing: Scientific Computing with Multicore and Accelerators](http://www.netlib.org/utk/people/JackDongarra/SLIDES/sc2011-tutorial.pdf), SuperComputing 2011 (SC11)


Modalità Erogazione

Lezioni frontali

Modalità Valutazione

Valutazione progetto

scheda docente | materiale didattico

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

Programma

Breve introduzione al linguaggio Julia per calcolo scientifico. Introduzione alle architetture parallele. Principi di progetto di algoritmi paralleli. Tecniche di programmazione parallela e distribuita con Julia. Primitive di comunicazione e sincronizzazione: paradigma MPI. Linguaggi basati su direttive: OpenMP. Metriche di prestazione dei programmi paralleli. Operazioni matriciali e sistemi lineari densi: Cenni a BLAS, LAPACK, scaLAPACK. Sistemi lineari sparsi. Cenni a CombBLAS, GraphBLAS.

Testi Adottati

1. [Lecture slides and diary](https://github.com/cvdlab-courses/pdc/blob/master/schedule.md)

2. [Learning Julia](https://www.manning.com/books/julia-in-action)

3. Blaise N. Barney, [HPC Training Materials](https://computing.llnl.gov/tutorials/parallel_comp/), per gentile concessione del Lawrence Livermore National Laboratory's Computational Training Center

4. J. Dongarra, J. Kurzak, J. Demmel, M. Heroux, [Linear Algebra Libraries for High- Performance Computing: Scientific Computing with Multicore and Accelerators](http://www.netlib.org/utk/people/JackDongarra/SLIDES/sc2011-tutorial.pdf), SuperComputing 2011 (SC11)


Modalità Erogazione

Lezioni frontali

Modalità Valutazione

Valutazione progetto

scheda docente | materiale didattico

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

Programma

Breve introduzione al linguaggio Julia per calcolo scientifico. Introduzione alle architetture parallele. Principi di progetto di algoritmi paralleli. Tecniche di programmazione parallela e distribuita con Julia. Primitive di comunicazione e sincronizzazione: paradigma MPI. Linguaggi basati su direttive: OpenMP. Metriche di prestazione dei programmi paralleli. Operazioni matriciali e sistemi lineari densi: Cenni a BLAS, LAPACK, scaLAPACK. Sistemi lineari sparsi. Cenni a CombBLAS, GraphBLAS.

Testi Adottati

1. [Lecture slides and diary](https://github.com/cvdlab-courses/pdc/blob/master/schedule.md)

2. [Learning Julia](https://www.manning.com/books/julia-in-action)

3. Blaise N. Barney, [HPC Training Materials](https://computing.llnl.gov/tutorials/parallel_comp/), per gentile concessione del Lawrence Livermore National Laboratory's Computational Training Center

4. J. Dongarra, J. Kurzak, J. Demmel, M. Heroux, [Linear Algebra Libraries for High- Performance Computing: Scientific Computing with Multicore and Accelerators](http://www.netlib.org/utk/people/JackDongarra/SLIDES/sc2011-tutorial.pdf), SuperComputing 2011 (SC11)


Modalità Erogazione

Lezioni frontali

Modalità Valutazione

Valutazione progetto