After successful completion of the course, students are able to
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.
Lectures, own study, home exercises, programming project.
Literature:
Additional literature will be announced. Course material (slides) should suffice for the programming projects.
ECTS Breakdown:
Total: 150h = 6 ECTS
Exercises, projects, quizzes Planned are 3 quizzes (online), and project/exercises with both theoretical and practical parts. Breakdown for final grade will be announced
Knowledge of programming languages, computer architectures, operating systems. Basic Algorithms and Datastructures (asymptotic worst-case analysis). Programming skills in C, C++, Fortran or Java.