Acquire parallel and distributed programming techniques, and know modern hardware and software architectures for high-performance scientific computing. Parallelization paradigms, parallelization on CPU and GPU, distributed memory systems. Data-intensive, Memory Intensive and Compute Intensive applications. Performance analysis in HPC systems.
Curriculum
scheda docente
materiale didattico
Shared Memory and Distributed Memory parallel architectures and GPGPU
Parallel Programming Pattern: embarassingly parallel problems; work farm; partitioning; reduce; stencil
parallel program performance evaluation: Speedup, Amdahl law, strong e weak scalability.
SIMD Programming
Shared memory with OpenMP
Distributed memory with MPI
Programming GPGPU using CUDA, OpenCL and SYCL.
Cloud distributed computing and nove HPC approaches and technologies (K8s, OpenACC, Rust)
CUDA C++ programming guide
Slides on TEAMS
Mutuazione: 20410426 IN480 - CALCOLO PARALLELO E DISTRIBUITO in Scienze Computazionali LM-40 R LOMBARDI FLAVIO
Programma
Flynn TaxonomyShared Memory and Distributed Memory parallel architectures and GPGPU
Parallel Programming Pattern: embarassingly parallel problems; work farm; partitioning; reduce; stencil
parallel program performance evaluation: Speedup, Amdahl law, strong e weak scalability.
SIMD Programming
Shared memory with OpenMP
Distributed memory with MPI
Programming GPGPU using CUDA, OpenCL and SYCL.
Cloud distributed computing and nove HPC approaches and technologies (K8s, OpenACC, Rust)
Testi Adottati
Peter Pacheco, Matthew Malensek, An Introduction to Parallel Programming, 2nd ed., Morgan Kaufmann, 2021, ISBN 9780128046050CUDA C++ programming guide
Slides on TEAMS
Modalità Frequenza
Active participation is strongly encouragedModalità Valutazione
Evaluation is based on a written exam (16 open questions in about 2h time) plus the implementation of a software project (and its documentation) selected FCFS from a list published by the lecturer.
scheda docente
materiale didattico
Shared Memory and Distributed Memory parallel architectures and GPGPU
Parallel Programming Pattern: embarassingly parallel problems; work farm; partitioning; reduce; stencil
parallel program performance evaluation: Speedup, Amdahl law, strong e weak scalability.
SIMD Programming
Shared memory with OpenMP
Distributed memory with MPI
Programming GPGPU using CUDA, OpenCL and SYCL.
Cloud distributed computing and nove HPC approaches and technologies (K8s, OpenACC, Rust)
CUDA C++ programming guide
Slides on TEAMS
Mutuazione: 20410426 IN480 - CALCOLO PARALLELO E DISTRIBUITO in Scienze Computazionali LM-40 R LOMBARDI FLAVIO
Programma
Flynn TaxonomyShared Memory and Distributed Memory parallel architectures and GPGPU
Parallel Programming Pattern: embarassingly parallel problems; work farm; partitioning; reduce; stencil
parallel program performance evaluation: Speedup, Amdahl law, strong e weak scalability.
SIMD Programming
Shared memory with OpenMP
Distributed memory with MPI
Programming GPGPU using CUDA, OpenCL and SYCL.
Cloud distributed computing and nove HPC approaches and technologies (K8s, OpenACC, Rust)
Testi Adottati
Peter Pacheco, Matthew Malensek, An Introduction to Parallel Programming, 2nd ed., Morgan Kaufmann, 2021, ISBN 9780128046050CUDA C++ programming guide
Slides on TEAMS
Modalità Frequenza
Active participation is strongly encouragedModalità Valutazione
Evaluation is based on a written exam (16 open questions in about 2h time) plus the implementation of a software project (and its documentation) selected FCFS from a list published by the lecturer.