Tentative semester plan 2026


Lectures
Thursdays: 11:15-12:00, auditorium S8
Fridays: 14:15-16:00, auditorium VE1

Topics

WeekDateSlide setTopicRemarks
34 20.0801 Introduction
21.0801b, 02Introduction pt. 2
The von Neumann computer
35 27.0803 Caches and virtual memory
28.0804,05 Instruction-level parallelism
Flynn's taxonomy
Shared and distributed memory, interconnects
36 03.0906 Speedup and efficiency
04.0907,08 The advection equation
Concepts of MPI
Sequential advection equation solvers
37 10.0909 Six-function MPI with point-to-point communicationSix-function MPI examples
11.0910 Advection eq. with MPI
38 17.0911 Collective operationsReduction example
18.0912,13 MPI: Communication modes
Timing, scattering and gathering data
39 24.0914 MPI: Derived data types
25.0915,16 MPI: Communicators
MPI: Parallel I/O
Communicator examples
Parallel I/O example
40 01.1017 Pthreads introduction
02.1018,19 Pthreads: starting and stopping
Pthreads: operations
Pthreads examples
41 08.1020 OpenMP introductionOpenMP introductory examples
09.1021,22 OpenMP: atomicity
OpenMP: worksharing directives
OpenMP atomicity examples
OpenMP worksharing examples
42 15.1023 OpenMP: loop schedulesOpenMP schedule examples
16.1024,25 Cache coherence
Loop tiling and vector operations
x86 SSE2 version
ARM neon version
43 22.1026 OpenMP: tasksTask example
23.1027,28 Roofline analysis
Application classes
44 29.1030 CUDA: The GPU and U
30.1031 CUDA: Cooperation organisation
45 05.1132 CUDA: Shuffle shenanigans
06.1133 CUDA: Thread lightly
46 12.1129 Loose ends: SMT, superlinear speedup, load balancing, and hybrid programming
13.11 ARM guest lecture
47 19.11 Summary
20.11 Summary

Slide sets

Slide set 01 - TDT4200 Parallel Computing overture
Slide set 02 - The von Neumann computer
Slide set 03 - Cache memory
Slide set 04 - Instruction level parallelism
Slide set 05 - Flynn's taxonomy, shared and distributed memory
Slide set 06 - Amdahl's and Gustafson's laws
Slide set 07 - A numerical solver for the advection equation
Slide set 08 - Concepts of MPI
Slide set 09 - Six-function MPI
Slide set 10 - The advection equation using six-function MPI
Slide set 11 - Collective operations
Slide set 12 - Point-to-point communication modes (and other variants)
Slide set 13 - Timing, scatter and gather
Slide set 14 - Derived data types
Slide set 15 - Communicators
Slide set 16 - Cartesian communicators and parallel I/O
Slide set 17 - Pthreads introduction
Slide set 18 - Creating and removing pthreads
Slide set 19 - Pthreads operations and sychronization
Slide set 20 - OpenMP introduction
Slide set 21 - Atomicity in OpenMP
Slide set 22 - OpenMP worksharing directives
Slide set 23 - OpenMP loop scheduling + threads vs. caches
Slide set 24 - Cache coherence
Slide set 25 - Cache optimizations: loop tiling and vector operations
Slide set 26 - OpenMP tasks
Slide set 27 - Roofline analysis
Slide set 28 - Application types
Slide set 29 - Loose ends