Lecture with practical project part (VU), this semester in distance-learning mode, with (streamed) recordings of the lecture every week. Lectures by Jesper Larsson Träff.
Lectures on Mondays 15:00 - 17:00 in lecture hall "FAV 01". See TISS and TUWEL for additional information.


The aim of this lecture is to given an introduction to parallel computing on different types of dedicated, parallel computing systems. This includes basic concepts on how to achieve and estimate parallel performance, and practical exposure to some of the most common, current programming models, frameworks and paradigms.
Contents: Basic concepts, history, motivation. Shared-memory parallel computing, concrete languages: pthreads, OpenMP (and Cilk). Distributed memory computing, concrete interface: MPI. New languages, other paradigms.

Lectures / Exercise discussions (in lecture hall)

  1. Monday, 1.03.2021: Planning, Intro, Basics
  2. Monday, 8.03.2021: Principles (I): time, work, cost, speed-up, Amdahls Law, scalability
  3. Monday, 15.03.2021: Principles (II): Patterns, tasks
  4. Monday, 22.03.2021: Examples and Algorithms
  5. Monday, 29.03.2021: No lecture (Easter holidays)
  6. Monday, 5.04.2021: No lecture (Easter holidays)
  7. Monday, 12.04.2021: Shared-memory systems, (p)threads
  8. Monday, 19.04.2021: OpenMP
  9. Monday, 26.04.2021: OpenMP
  10. Monday, 03.05.2021: OpenMP
  11. Monday, 10.05.2021: Distributed memory systems
  12. Monday, 17.05.2021: MPI
  13. Monday, 24.05.2021: No lecture (Whitsun holiday)
  14. Monday, 31.05.2021: MPI
  15. Monday, 7.06.2021: MPI
  16. Monday, 14.06.2021: TBA

Exercises / Projects (Hand-in/Abgabe via TUWEL)

  1. Monday 15.3.: Exercise 0 (getting access to system, ssh key). Hand-in 22.3. (via TUWEL)
  2. Monday 12.4.: Exercise 1 (basic concepts). Hand-in 26.4. (firm deadline) (via TUWEL).
  3. Monday 3.5: Exercise 2 (shared-memory, OpenMP programming exercises). Hand-in 17.5. (via TUWEL).
  4. Monday 17.5.: Exercise 3 (distributed memory, MPI programming exercises). Hand-in 7.6. (via TUWEL).


Written exam (Klausur) when possible, see TISS



Canonical, indispensable when programming and debugging



Additional literature

The lecture covers material not in these books (and vice versa). Reading at least one of these books is highly recommended.