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 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 We will provide a vidcast together with the feedback to your solutions.
  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 We will provide a vidcast together with the feedback to your solutions.
  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 23.3. (via TUWEL) (Last chance 20.4., we keep the submission open until this date, who wants to update, change, or add a key, can do it until 20.4.)
  2. Monday 23.3.: Exercise 1 (basic concepts). Hand-in 6.4. (firm deadline) (via TUWEL).
  3. Monday 4.5.: Exercise 2 (shared-memory, OpenMP, with programming exercises). Hand-in 18.5. (via TUWEL).
  4. Tuesday 2.6.: Exercise 3 (distributed memory, MPI, with programming exercises). Hand-in 16.6. (via TUWEL).

Exams

See TISS

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.