151-0116-10L  High Performance Computing for Science and Engineering (HPCSE) for Engineers II

SemesterSpring Semester 2021
LecturersP. Koumoutsakos, S. M. Martin
Periodicityyearly recurring course
Language of instructionEnglish


AbstractThis course focuses on programming methods and tools for parallel computing on multi and many-core architectures. Emphasis will be placed on practical and computational aspects of Uncertainty Quantification and Propagation including the implementation of relevant algorithms on HPC architectures.
ObjectiveThe course will teach
- programming models and tools for multi and many-core architectures
- fundamental concepts of Uncertainty Quantification and Propagation (UQ+P) for computational models of systems in Engineering and Life Sciences
ContentHigh Performance Computing:
- Advanced topics in shared-memory programming
- Advanced topics in MPI
- GPU architectures and CUDA programming

Uncertainty Quantification:
- Uncertainty quantification under parametric and non-parametric modeling uncertainty
- Bayesian inference with model class assessment
- Markov Chain Monte Carlo simulation
Lecture noteshttps://www.cse-lab.ethz.ch/teaching/hpcse-ii_fs21/
Class notes, handouts
Literature- Class notes
- Introduction to High Performance Computing for Scientists and Engineers, G. Hager and G. Wellein
- CUDA by example, J. Sanders and E. Kandrot
- Data Analysis: A Bayesian Tutorial, D. Sivia and J. Skilling
- An introduction to Bayesian Analysis - Theory and Methods, J. Gosh, N. Delampady and S. Tapas
- Bayesian Data Analysis, A. Gelman, J. Carlin, H. Stern, D. Dunson, A. Vehtari and D. Rubin
- Machine Learning: A Bayesian and Optimization Perspective, S. Theodorides
Prerequisites / NoticeStudents must be familiar with the content of High Performance Computing for Science and Engineering I (151-0107-20L)