19th Workshop on high performance computing in meteorology

Implementation of a performance-portable global atmospheric model using a domain-specific language in Python

Speaker

Oliver Fuhrer (Allen Institute for Artificial Intelligence)

Description

The weather and climate community has set ambitious goals to reach global km-scale modeling capability on future exascale high-performance computing (HPC) systems. But currently, state-of-the-art models are executed using much coarser grid spacing and almost none of the productive weather and climate models are capable of exploiting modern HPC architectures with hybrid node designs.

Alongside rapidly evolving HPC hardware, new associated programming models are coming out and no de-facto standard has been adopted by the community. As a consequence, some groups are opting for compiler directives, some groups are shifting from Fortran to other programming languages and - finally - some groups are actively developing and using domain-specific languages (DSLs) and compilers. By increasing the level of abstraction in the user code, a DSL toolchain is able to target different programming models and hardware architectures, as well as apply domain-specific optimization which are out of reach of standard compilers.

In this talk we summarize our experience from an effort to port the FV3GFS/xSHIELD atmospheric model to a Python-based DSL. We will discuss design decisions, testing strategy and the use of containers for development, as well as performance compared to the original Fortran code. We will conclude with an outline of the further development roadmap as well as a summary of remaining challenges.

Primary author

Oliver Fuhrer (Allen Institute for Artificial Intelligence)

Co-authors

Rusty Benson (NOAA Geophysical Fluid Dynamics Laboratory) Johann Dahm (Allen Institute for Artificial Intelligence) Eddie Davis (Allen Institute for Artificial Intelligence) Florian Deconinck (Allen Institute for Artificial Intelligence) Oliver Elbert (NOAA Geophysical Fluid Dynamics Laboratory) Rhea George (Allen Institute for Artificial Intelligence) Lucas Harris Jeremy McGibbon (Allen Institute for Artificial Intelligence) Tobias Wicky (Allen Institute for Artificial Intelligence) Elynn Wu (Allen Institute for Artificial Intelligence)

Presentation materials