Lecturers
Teaching Assistants
- Athena Economides (Head TA)
- Ivica Kicic
- Pantelis Vlachas
- Fabian Wermelinger
- Tobia Claglüna
Class Times & Rooms
Lecture: Monday, 14:00-16:00
Exercise: Monday, 10:00-12:00
- >Class-room lectures suspended<
- Find recorded lectures below.
Computer Rooms
- HG E26.1 (The environment provided by these computers is similar to the exam environment.)
Gitlab Repository
https://gitlab.ethz.ch/hpcse_ii_fs21/lecture
Course Moodle (For Homework Submission)
Discussion Board / Questions
!! If you are not enrolled in the course on piazza, please contact the TAs !!
Exam Material
- Documentation available during the HPCSE II exam: zip (300 MB)
- Students taking the Block exam (HPCSE I + II), will additionally have available the package with HPCSE I material.
Schedule and Lecture Slides
Date | Lecture |
22.02.2021 | Introduction to Bayesian Uncertainty Quantification (video) (slides) |
01.03.2021 | UQ Part I – Laplace Methods (video) (Notes on UQ) |
08.03.2021 | UQ Part II – Priors, MCMC (video) (slides) |
15.03.2021 | The Korali Framework (code, slides, mhmcmc-demo, video) |
22.03.2021 | High Throughput Computing (code, slides, video) |
29.03.2021 | Advanced MPI (slides, video) |
05.04.2021 | << No class - Easter week >> |
12.04.2021 | Communication Tolerant Programming (slides, video) |
19.04.2021 | << No class - Holiday >> |
26.04.2021 | GPU Programming I (slides, video) |
03.05.2021 | GPU Programming II (slides, video) |
10.05.2021 | Particle methods (slides, video) |
17.05.2021 | GPU Programming III (video) |
24.05.2021 | << No class - Holiday >> |
31.05.2021 | Recap/Mock Exam (see below for video recordings) |
Exercise & Tutorial Sessions
Date | Session |
22.02.2021 | No Session |
01.03.2021 | Exercise 1: Probabilities & Bayesian inference |
08.03.2021 | Tutorial 1: Bayes rule & MCMC |
15.03.2021 | (i) Solution of Ex.1, (ii) Release of Ex. 2: Applied Sampling with Korali, (iii) CMA-ES tutorial |
22.03.2021 | Tutorial 2: (i) MPI recap, (ii) n-candle model selection example, (iii) MCMC tutorial. |
29.03.2021 | (i) Solution of Ex.2, (ii) Release of Ex. 3: Advanced MPI and parallel tasking |
05.04.2021 | << No class - Easter week >> |
12.04.2021 | Tutorial 3: Advanced MPI |
19.04.2021 | (i) Solution of Ex.3, (ii) Release of Ex.4: Asynchronous communication and compute/transfer overlap |
26.04.2021 | Tutorial 4: Intro to GPUs |
03.05.2021 | (i) Solution of Ex.4, (ii) Release of Ex.5: GPU programming with CUDA |
10.05.2021 | Tutorial 5: GPU occupancy, reductions and bank conflicts |
17.05.2021 | (i) Solution of Ex.5. (ii) Release of Ex.6: Scan, Cell Lists, RDF + UQ |
24.05.2021 | << No class - Holiday >> |
31.05.2021 | (Mock-exam pdf) (skeleton codes) (solution) |
Homework
# | Issue Date | Handout | Solution |
1 | 01.03.2021 | ||
2 | 15.03.2021 | ||
3 | 29.03.2021 | ||
4 | 19.04.2021 | ||
5 | 03.05.2021 | ||
6 | 17.05.2021 |
Textbooks & Recommended Reads
- Kowarschik, M. and Weiß, C., An overview of cache optimization techniques and cache-aware numerical algorithms.
- G. Strang – Multigrid Tutorial: http://math.mit.edu/classes/18.086/2006/am63.pdf
-
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
-
A Multigrid Tutorial, 2nd Edition. Briggs, Henson, McCormick.
-
Iterative methods for linear systems. Chris H. Rycroft, 2007.
-
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