151-0116-00L High Performance Computing for Science and Engineering (HPCSE) for CSE
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 Bayesian Uncertainty Quantification and Machine Learning including the implementation of these algorithms on HPC architectures. |
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. - fundamentals of Deep Learning |
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 Machine Learning - Deep Neural Networks and Stochastic Gradient Descent - Deep Neural Networks for Data Compression (Autoencoders) - Recurrent Neural Networks |
Lecture notes | Link 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 | Attendance of HPCSE I |