20410426 - IN480 - PARALLEL AND DISTRIBUTED COMPUTING

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

teacher profile | teaching materials

Mutuazione: 20410426 IN480 - CALCOLO PARALLELO E DISTRIBUITO in Scienze Computazionali LM-40 R LOMBARDI FLAVIO

Programme

Flynn Taxonomy
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)


Core Documentation

Peter Pacheco, Matthew Malensek, An Introduction to Parallel Programming, 2nd ed., Morgan Kaufmann, 2021, ISBN 9780128046050

CUDA C++ programming guide

Slides on TEAMS


Attendance

Active participation is strongly encouraged

Type of evaluation

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.

teacher profile | teaching materials

Mutuazione: 20410426 IN480 - CALCOLO PARALLELO E DISTRIBUITO in Scienze Computazionali LM-40 R LOMBARDI FLAVIO

Programme

Flynn Taxonomy
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)


Core Documentation

Peter Pacheco, Matthew Malensek, An Introduction to Parallel Programming, 2nd ed., Morgan Kaufmann, 2021, ISBN 9780128046050

CUDA C++ programming guide

Slides on TEAMS


Attendance

Active participation is strongly encouraged

Type of evaluation

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.