151-0116-10L High Performance Computing for Science and Engineering (HPCSE) for Engineers II
Semester | Spring Semester 2020 |
Lecturers | P. Koumoutsakos, S. M. Martin |
Periodicity | yearly recurring course |
Language of instruction | English |
Abstract | This 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. |
Learning objective | The 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 |
Content | High 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 notes | https://www.cse-lab.ethz.ch/teaching/hpcse-ii_fs20/ 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 / Notice | Students must be familiar with the content of High Performance Computing for Science and Engineering I (151-0107-20L) |