Acquire techniques in parallel and distributed programming, and the knowledge of modern hardware and software architectures for high-performance scientific computing. Learn distributed iterative methods for simulating numerical problems. Acquire the knowledge of the newly developed languages for dynamic programming in scientific computing, such as the Julia language.
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
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
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
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.