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
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
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
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
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.