Lecture with practical project part (VU), attendendance is mandatory and really recommended. Lectures by Jesper Larsson Träff.
Lectures on Wednesdays 12.00 - 14.00 in lecture hall HS 13 Paul Ludwik (main building, Karlsplatz 13), see TISS and TUWEL.


The aim of this lecture is to given an introduction to parallel computing on different types of larger, dedicated, parallel computing systems. This includes basic concepts on how to achieve and estimate parallel performance, and practical exposure to 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 architectures (GPU and others), new languages, other paradigms.

Lectures, material

  1. Wednesday, 11.3.2020: Planning, Intro, Basics, Models
  2. Wednesday, 18.3.2020: Work, speed-up, Amdahl's Law, scalability
  3. Wednesday, 25.3.2020: Patterns, algorithms
  4. Wednesday, 1.4.2020: Shared-memory systems, (p)threads
  5. Wednesday, 8.4.2020: No lecture (Easter holidays)
  6. Wednesday, 15.04.2020: No lecture (Easter holidays)
  7. Wednesday, 22.4.2020: OpenMP
  8. Wednesday, 29.4.2020: OpenMP
  9. Wednesday, 6.5.2020: OpenMP
  10. Wednesday, 13.5.2020: Distributed memory systems
  11. Wednesday, 20.5.2020: MPI
  12. Wednesday, 27.5.2020: MPI
  13. Wednesday, 3.6.2020: MPI


  1. Wednesday 18.3.: Exercise 0 (getting access to system, ssh key). Last chance 22.4. (via TUWEL).
  2. Wednesday 6.5.: Exercise 1 (shared-memory, OpenMP, with programming exercises). Hand-in 20.5. (via TUWEL).
  3. Wednesday 3.6.: Exercise 2 (distributed memory, MPI, with programming exercises). Hand-in 17.6. (via TUWEL).





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.