Plan

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.

Overview

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 architectures (GPU and others), new languages, other paradigms.

Lectures / Exercise discussions (in lecture hall)

  1. Monday, 04.03.2019: Planning, Intro, Basics
  2. Monday, 11.03.2019: Principles (I): time, work, cost, speed-up, Amdahls Law, scalability
  3. Monday, 18.03.2019: Principles (II): Patterns, tasks
  4. Monday, 25.03.2019: Examples and Algorithms
  5. Monday, 01.04.2019: Shared-memory systems, (p)threads
  6. Monday, 08.04.2019: OpenMP
  7. Tuesday, 09.04.2019: Feedback (lecture) on Exercise 1
  8. Monday, 15.04.2019: No lecture (Easter holidays)
  9. Monday, 22.04.2019: No lecture (Easter holidays)
  10. Monday, 29.04.2019: OpenMP
  11. Monday, 06.05.2019: Distributed memory systems
  12. Monday, 13.05.2019: MPI
  13. Tuesday, 14.05.2019: Feedback (lecture) on Exercise 2
  14. Monday, 20.05.2019: MPI
  15. Monday, 27.05.2019: MPI
  16. Monday, 03.06.2019: Cilk/OpenMP tasks
  17. Tuesday, 04.06.2019: Feedback (lecture) on Exercise 3
  18. Monday, 10.06.2019: No lecture (Whitsun holiday)
  19. Monday, 17.06.2019: More efficient shared-memory programming
  20. Monday, 24.06.2019: Exam

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

  1. Tuesday, 26.03.2019: Hand-in, Exercise 0, upload ssh key (Getting access to the system)
  2. Tuesday, 02.04.2019: Hand-in, Exercise 1
  3. Tuesday, 07.05.2019: Hand-in, Exercise 2
  4. Tuesday, 14.05.2019: Hand-in, Project 1 (OpenMP)
  5. Tuesday, 28.05.2019: Hand-in, Exercise 3
  6. Tuesday, 04.06.2019: Hand-in, Project 2 (MPI)

Final exam

Monday 24.6.

Resources

Standards

Canonical, indispensable when programming and debugging

Programs

Literature

Additional literature

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