Teaching Assistants


Class Room

  • Online (zoom link below)

Class Times

  • Lecture: Friday, 12:15 – 14:00 (online – link to recordings below)
  • Exercise: Friday, 14:15 – 16:00 (online)

Computer Rooms

  • HG E26.1, E26.3, E27

The environment provided by these computers is similar to the exam environment.

Class Material

Exam Material

  • Documentation available during the exam: zip (400 MB)

Course Schedule and Material

Lectures

Zoom meeting link

24.09.2021   Lecture 1: Introduction   (Slides)  (recording)
01.10.2021   Lecture 2: Cache and Concurrency   (Slides)  (recording)
08.10.2021   Lecture 3: Parallel Computing – Concepts  and Definitions   (Slides) (recording)
15.10.2021   Lecture 4: Instruction and Data-Level  Parallelism (Part I)   (Slides) (recording)
22.10.2021   Lecture 5: Data-Level Parallelism (Part 2)  and HPC libraries   (Slides) (recording)
29.10.2021   Lecture 6: Principal Component Analysis   (Slides) (recording)
05.11.2021   Lecture 7: Dimensionality reduction,      Neural Networks, Autoencoders   (slides same as 29.10) (recording)
12.11.2021   Lecture 8: Dimensionality reduction (cont.), Diffusion   (Slides) (recording)
19.11.2021   Lecture 9: HPC Libraries (cont.) +TLP + OpenMP I   (Slides) (recording)
26.11.2021   Lecture 10: OpenMP II   (Slides) (recording)
03.12.2021   Lecture 11: MPI I   (Slides)
10.12.2021    
17.12.2021    

Exercises

Zoom link

Date TA
Exercise Handout Solution
01.10.2021 Ermioni Papadopoulou  Exercise 1. Amdahl's Law, Roofline Model, Cache  (slides), (exercise) , (skeleton code) , (tutorial debugging), (recording) (solution slides), (solution), (solution code), (grading scripts)
15.10.2021 Pascal Auf der Maur  Exercise 2. Vectorization and IPL  (slides), (exercise), (skeleton code), (example code) (example solution code), (recording)  (solution), (solution code), (grading script)
29.10.2021 Johan Lokna  Exercise 3. PCA and Autoencoders  (slides), (exercise), (skeleton code), (example code), (recording)  (solution slides), (solution), (solution code), (grading script)
12.11.2021 Daniel Wälchli  Exercise 4. Diffusion  (slides), (exercise), (skeleton code), (extra material), (recording)  (solution slides), (solution), (solution code), (grading script)
26.11.2021 Pascal Weber  Exercise 5. OpenMP and Monte-Carlo Integration  (slides), (exercise), (skeleton code), (recording)  
10.12.2021 Man Hin Cheng      

Tutorials

Date TA
Session  Handout
24.09.2021 Ermioni Papadopoulou   Tutorial 1. C++, Makefiles, Euler  (slides) , (material) , (recording)
08.10.2021  Daniel Wälchli   Tutorial 2. Cache Optimizations (slides), (material) , (recording)
22.10.2021 Pascal Auf der Maur   Tutorial 3. HPC Libraries  (material), (recording)
05.11.2021 Johan Lokna   Tutorial 4. PCA / Autoencoders  (slides), (material), (recording)
19.11.2020 Pascal Weber   Tutorial 5. Diffusion  (slides), (recording)
03.12.2020 Man Hin Cheng   Tutorial 6. Cell Lists & Visualization  (slides), (material)
17.12.2020      

Student HW scheduling & deadlines

24.09.2021  
01.10.2021  Release HW1
08.10.2021  
15.10.2021   Release HW2
22.10.2021   Hand-in HW1
29.10.2021   Hand-in HW2  &  Release HW3 &      Self-Grading HW1
05.11.2021   Self-Grading HW2
12.11.2021   Hand-in HW3  &  Release HW4
19.11.2021   Self-Grading HW3
26.11.2021   Hand-in HW4  &  Release HW5
03.12.2021   Self-Grading HW4
10.12.2021   Hand-in HW5  &  Release HW6
17.12.2021   Self-Grading HW6
24.12.2021   Hand-in HW6
07.01.2022   Self-Grading HW6

Exam

Computer based session examination involving theoretical questions and coding problems. You are allowed to bring a handwritten summary of 4 A4 sheets, written on the front and back pages (8 pages total). In addition, we will provide you with the following material:

  • Lecture slides
  • Exercise solutions
  • Additional lecture notes distributed during the lecture
  • OpenMP specification and reference card (pdf)
  • MPI standard and reference card (pdf)
  • Offline version of cppreference.com

Textbooks


Additional Material

Old Exam Sheets

 

Useful Links

General links on HPC and clusters
Tutorials
C++
OpenMP
MPI
SIMD
For Windows users
Others