701-1270-00L High Performance Computing for Weather and Climate
Semester | Spring Semester 2021 |
Lecturers | O. Fuhrer |
Periodicity | yearly recurring course |
Language of instruction | English |
Abstract | State-of-the-art weather and climate simulations rely on large and complex software running on supercomputers. This course focuses on programming methods and tools for understanding, developing and optimizing the computational aspects of weather and climate models. Emphasis will be placed on the foundations of parallel computing, practical exercises and emerging trends such as using GPUs. |
Learning objective | After attending this course, students will be able to: - Understand a broad variety of high performance computing concepts relevant for weather and climate simulations - Work with weather and climate simulation codes that run on large supercomputers |
Content | HPC Overview: - Why does weather and climate require HPC? - Today's HPC: Beowulf-style clusters, massively parallel architectures, hybrid computing, accelerators - Scaling / Parallel efficiency - Algorithmic motifs in weather and climate Writing HPC code: - Data locality and single node efficiency - Shared memory parallelism with OpenMP - Distributed memory parallelism with MPI - GPU computing - High-level programming and domain-specific languages |
Literature | - 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 - Parallel Computing, A. Grama, A. Gupta, G. Karypis, V. Kumar (https://www-users.cs.umn.edu/~karypis/parbook/) - Parallel Programming in MPI and OpenMP, V. Eijkhout (http://pages.tacc.utexas.edu/~eijkhout/pcse/html/index.html) |
Prerequisites / Notice | - fundamentals of numerical analysis and atmospheric modeling - basic experience in a programming language (C/C++, Fortran, Python, …) - experience using command line interfaces in *nix environments (e.g., Unix, Linux) |