Oliver Fuhrer: Katalogdaten im Frühjahrssemester 2021

NameHerr Dr. Oliver Fuhrer
NamensvariantenOliver Fuhrer
Adresse
Operation Center 1
P.O. Box 257
8058 Zürich
SWITZERLAND
Telefon+41798171949
E-Mailoliver.fuhrer@env.ethz.ch
URLhttps://www.meteoswiss.ch/
DepartementUmweltsystemwissenschaften
BeziehungDozent

NummerTitelECTSUmfangDozierende
701-1270-00LHigh Performance Computing for Weather and Climate3 KP3GO. Fuhrer
KurzbeschreibungState-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.
LernzielAfter 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
InhaltHPC 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
Literatur- 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)
Voraussetzungen / Besonderes- 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)