Hide menu

TDDC78 lectures and lessons (2023)


Preliminary lecture/lesson program for 2023, including reading directions.
The times and locations (including for the lab sessions) can be found on the schedule page.

Lectures and lessons are given in English.

  1. Overview and organization 2023 (PDF 1x1)
    Parallel computer architecture concepts I: Clusters and Interconnection Networks (CK)
    Reading directions: Slides, Wilkinson/Allen Chapter 1.
  2. Parallel computer architecture concepts II: Memory Hierarchy, Shared Memory* (CK)
    Reading directions: Slides and references given there. Background: Wilkinson/Allen Chapter 9.1-9.4.
  3. Parallel computer architecture concepts III: TOP500 and trends in supercomputer architecture.
    Reading directions: Slides and online articles.
  4. Guest lecture and guided tour: Introduction to NSC systems (by Frank Bramkamp, NSC) - Mandatory presence
  5. Design of parallel programs I (CK)
    Reading directions: Slides, Compendium Chapter 1. Background: Wilkinson/Allen Chapters 3-6, 11.4.
  6. Design of parallel programs II / MPI (I) (CK)
    Reading directions (MPI): Slides and references given there.
  7. MPI (II+III) (CK)
    Example: hello_mpi.c
    Lesson 1: (45min) Introduction to the lab series (AE) - Mandatory presence
  8. OpenMP (I) (CK)
    Example: hello_openmp.c
    Reading directions (OpenMP): Slides and references given therein. Wilkinson/Allen Section 8.5.
  9. OpenMP (II) (CK)
  10. Tools for performance analysis (CK)
    Reading directions (Tools): Slides and online articles.
  11. Design and analysis of parallel algorithms I* (CK)
    Reading directions (Lect. 11+12): Slides and Compendium Chapter 2.
  12. Design and analysis of parallel algorithms II; Fundamental dataparallel algorithms* (CK)
  13. Parallel Basic Linear Algebra Algorithms (CK)
  14. Parallel Basic Linear Algebra Algorithms (cont.);
    Parallel Solving of Linear Equation Systems (CK)
    Reading directions (Lect. 13+14): Slides and Compendium Chapter 4. Wilkinson/Allen Chapter 11. Background: Elden et al.
  15. Lesson 2: Solving theory exercises for exam preparation (AE)
  16. Loop Parallelization and Optimization* (CK)
    Reading directions): Slides. Background: see references therein.

Remark: The lectures marked by * are largely shared with TDDD56 Multicore and GPU Programming. This minor replication is necessary to make sure that the two courses can be taken stand-alone or in arbitrary order. If you already have taken TDDD56 you may skip these lectures or consider them as an extra repetition opportunity.

Lecture notes:

  • Lecture notes for the lectures by Christoph Kessler (CK) are made available electronically for registered students on this page.
  • For further literature, see the literature list.
  • Lecture notes for the lessons can be downloaded from the lab page. Older lesson lecture notes can be found on the handouts page for reference purposes.
  • Optional theory exercises that you may use to practise on your own. More of these can also be found in the compendium. A few old TDDC78 exams are available on the examination page.

Page responsible: Webmaster
Last updated: 2023-03-24