Lecturers
Teaching Assistants
- Michalis Chatzimanolakis (Head TA)
- Ivica Kicic
- Pascal Auf der Maur
- Johan Lokna
- Vyacheslav Samokhvalov
- Noah Marti
Class Times & Rooms
- Lecture: Monday, 14:15-16:00 (Zoom link), Classroom: ML H44
- Exercise: Monday, 10:15-12:00 (Zoom link), Classroom: ML H44
- Lecture recordings can be found below.
GitLab Repository
https://gitlab.ethz.ch/hpcse-public-repos/hpcseii-spring-2022-lecture
Course Moodle (For Homework Submission & Discussion Board)
Exam Material
Schedule and Lecture Slides
Date | Lecture |
21.02.2022 | Introduction (Lecture) |
28.02.2022 | Bayesian UQ (Lecture) (Notes) |
07.03.2022 | The Korali Framework (Tutorial) (Slides) (Video) |
14.03.2022 | Integration and Sampling Methods (Notes) (Video) |
21.03.2022 | Sampling Strategies & Korali Part II (Tutorial) (Slides) (Video) |
28.03.2022 | Advanced MPI (Slides) (Video) |
04.04.2022 | Communication-Tolerant Programming (Slides) (Video) |
11.04.2022 | GPU Programming I (Slides)(Video) |
18.04.2022 | << No lecture - Easter week >> |
02.05.2022 | Particle Methods I (Video) |
09.05.2022 | GPU Programming II (Slides) (Video) |
16.05.2022 | Reduction on GPU (Slides)(Video) |
23.05.2022 | Particle Methods II (Video) (Slides) |
Exercise & Tutorial Sessions
Date | Session |
28.02.2022 |
Probability Theory : Handwritten notes , Video |
07.03.2022 | Sampling Methods : Handwritten notes , Video |
14.03.2022 | Korali Tutorial : Video |
21.03.2022 | Bash and Git Tutorial : Video |
28.03.2022 | MPI Topics and Numerical Methods: Video, Slides |
04.04.2022 | Advanced MPI – Communicators: Video, Slides |
11.04.2022 | Debugging: Video , Slides |
25.04.2022 | Introduction to Particle Methods: Video, Notes |
02.05.2022 | Piz Daint & CUDA Tutorial: Piz Daint Intro GPUs Tutorial Video |
09.05.2022 | CUDA Tutorial II: Video Slides |
16.05.2022 | CUDA Tutorial III: Video, Slides |
23.05.2022 | CUDA Tutorial IV: Video, Slides |
30.05.2022 | Mock Exam: Video, Exam, Solution, Mock-Exam-Code |
Homework
# | Issue Date | Handout | Solution |
1 | 28.02.2022 | Probabilities and Bayesian Uncertainty Quantification | |
2 | 14.03.2022 | Korali Framework | |
3 | 28.03.2022 | Advanced MPI High Throughput Computation | |
4 | 11.04.2022 | Hybrid MPI & OPENMP and Communication/Computation Overlap | |
5 | 02.05.2022 | GPU Programming with CUDA | |
6 | 16.05.2022 | Reduction, Inscan, Cell Lists |
Textbooks & Recommended Reads
- Kowarschik, M. and Weiß, C., An overview of cache optimization techniques and cache-aware numerical algorithms.
-
Parallel Programming in MPI and OpenMP, V. Eijkhout.
- CUDA C Programming Guide, NVIDIA
-
CUDA by example, J. Sanders and E. Kandrot
-
Data Analysis: A Bayesian Tutorial, Devinderjit Sivia
-
Introduction to High Performance Computing for Scientists and Engineers, G. Hager and G. Wellein, CRC Press, 2011
-
Computer Organization and Design, D.H. Patterson and J.L. Hennessy
Additional Material
- Bash tutorial
- Command Reference
- Getting Started With Euler
- Euler wiki
- CSCS users page
- CSCS Piz Daint Tutorial
- www.hpc-ch.org
Tutorials
- HPC tutorial at LLNL – Blaise Barney
- SC15 Tutorial Preview Videos
- Argonne Training Program on Extreme-Scale Computing
C++
- C++ lecture notes: Basics, Templates, Classes
- cppreference.com
- cplusplus.com
OpenMP
MPI
MATE – Runtime system for hybrid approach to overdecomposition
CUDA
For Windows users
- PuTTY: a simple free SSH client for Windows
- WinSCP: for copying files between Windows and Euler
- Cygwin: Linux-like environment on Windows (Installation hints)
Others
- The Parallel Dwarfs project
- The Landscape of Parallel Computing Research: A View from Berkeley
- KAUST Live: Thomas Schulthess, Swiss National Supercomputing Center
- Parallel Program Design – Ian Foster
- How the Computer Works – The CPU and Memory
- A Multiprecision World – SIAM News
- Should We Trust Algorithms – MIT Press