Lecture with practical project part (VU), attendendance is mandatory and really recommended. Lectures by Jesper Larsson Träff.
Lectures on Mondays 15.15 - 17.00 in lecture hall "Informatikhörsaal". Additional slots for exercises Tuesdays, 15:15 - 17:00 (Informatikhörsaal). See TISS and TUWEL.


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, 2.03.2020: Planning, Intro, Basics
  2. Monday, 9.03.2020: Principles (I): time, work, cost, speed-up, Amdahls Law, scalability
  3. Monday, 16.03.2020: Principles (II): Patterns, tasks
  4. Monday, 23.03.2020: Examples and Algorithms
  5. Monday, 30.03.2020: Shared-memory systems, (p)threads
  6. Monday, 6.04.2020: No lecture (Easter holidays)
  7. Monday, 13.04.2020: No lecture (Easter holidays)
  8. Monday, 20.04.2020: OpenMP
  9. Tuesday, 21.04.2020: Feedback (lecture) on Exercise 1
  10. Monday, 27.04.2020: OpenMP
  11. Monday, 04.05.2020: OpenMP
  12. Monday, 11.05.2020: Distributed memory systems
  13. Monday, 18.05.2020: MPI
  14. Monday, 25.05.2020: MPI
  15. Tuesday, 26.05.2020: Feedback (lecture) on Exercise 2
  16. Monday, 1.06.2020: No lecture (Whitsun holiday)
  17. Monday, 08.06.2020: MPI
  18. Tuesday, 09.06.2020: Feedback (lecture) on Exercise 3
  19. Monday, 15.06.2020: TBA
  20. Monday, 22.06.2020: (EPiLOG)

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

  1. Monday 16.3: Exercise 0 (getting access to system, ssh key). Hand-in 20.4 (via TUWEL).
  2. Monday 23.3: Exercise 1 (basic concepts). Hand-in 30.3 (via TUWEL).
  3. Monday 4.5: Exercise 2 (shared-memory, OpenMP, with programming exercises). Hand-in 18.5 (via TUWEL).
  4. Monday 25.5: Exercise 3 (distributed memory, MPI, with programming exercises). Hand-in 8.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.