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
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
Programme
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)
Core Documentation
Peter Pacheco, Matthew Malensek, An Introduction to Parallel Programming, 2nd ed., Morgan Kaufmann, 2021, ISBN 9780128046050CUDA C++ programming guide
Slides on TEAMS
Attendance
Active participation is strongly encouragedType 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
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
Programme
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)
Core Documentation
Peter Pacheco, Matthew Malensek, An Introduction to Parallel Programming, 2nd ed., Morgan Kaufmann, 2021, ISBN 9780128046050CUDA C++ programming guide
Slides on TEAMS
Attendance
Active participation is strongly encouragedType 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.