Il corso introduce alle tecniche di programmazione parallela e distribuita, e alle moderne architetture hardware e software per il calcolo scientifico ad alte prestazioni. Come linguaggio di programmazione si utilizza Julia, linguaggio dinamico di nuova concezione per il calcolo scientifico.
Julia: "A fresh approach to technical computing"
Si utilizzerĂ per scopi didattici il superserver NVIDIA DGX-1 del Dipartimento di Matematica e Fisica, integrato dalle risorse del laboratorio didattico di Matematica e del Laboratorio di Scienze Computazionali come punti di accesso.
Blaise N. Barney, HPC Training Materials, per gentile concessione del Lawrence Livermore National Laboratory's Computational Training Center
McCool, Reinders, and Robison, Structured Parallel Programming: Patterns for Efficient Computation, Morgan Kaufmann, 2012
Avik Sengupta, Julia High Performance: Optimizations, distributed computing, multithreading, and GPU programming with Julia 1.0 and beyond, 2nd Edition, Pakt>, 2019
Ivo Balbaert and Adrian Salceanu, Julia 1.0 Programming, Complete Reference Guide, Pakt>, 2019