Basic understanding of motivation and goals of parallel computing, basic knowledge of parallel algorithms, architectures, programming models, languages and interfaces (concrete examples OpenMP, Cilk, MPI), performance analysis and modeling, pitfalls, basic programming skills in the discussed parallel interfaces (C or C++ with MPI and OpenMP; pthreads and Cilk or related).
Motivation, goals of parallel computing. Parallel algorithms, architectures, programming models, performance measurement and analysis. Problems in parallel algorithms. Introduction to MPI (Message-Passing interface), hreads and OpenMP. Task-parallel models and interfaces (Cilk). Other languages for multi-core processors.
First lecture (including planning and overview): Monday, 4.3.2019
For current plan, see course Homepage.
Literature:
Additional literature will be announced. Course material (slides) should suffice for the programming projects.
ECTS Breakdown:
Total: 150h = 6 ECTS
Programming projects, exercises, written exam.
Application is currently locked manually.
Knowledge of programming languages, computer architectures, operating systems. Basic Algorithms and Datastructures (asymptotic worst-case analysis). Programming skills in C, C++, Fortran or Java.