20410133 - 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
scheda docente | materiale didattico

Fruizione: 20410148 IN480 - CALCOLO PARALLELO E DISTRIBUITO in Scienze Computazionali LM-40 PAOLUZZI ALBERTO, D'AUTILIA ROBERTO

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. Sviluppo di un progetto collaborativo: Simulazione di terremoti, LAR parallelo.



Testi Adottati

Blaise N. Barney, HPC Training Materials, per gentile concessione del Lawrence Livermore National Laboratory's Computational Training Center



Fruizione: 20410148 IN480 - CALCOLO PARALLELO E DISTRIBUITO in Scienze Computazionali LM-40 PAOLUZZI ALBERTO, D'AUTILIA ROBERTO