A022-09
Developing a domain-specific compiler toolchain for global weather and climate models
Developing a domain-specific compiler toolchain for global weather and climate models
Monday, 7 December 2020: 16:24
Virtual
Abstract:
Weather and climate models have been struggling to keep up with the rapid development of heterogeneous hardware and programming ecosystems. The sheer size of the code bases as well as the difficulty of separating algorithmic from hardware specific implementation details are often cited as reasons for this. Domain-specific languages (DSLs) are a possible remedy. DSLs provide a productive, high-level programming environment to the domain-scientist, at the cost of maintaining an additional translation layer between the user-code and the compiler.
We report on the development and application of a DSL for weather and climate models. We present the Python API of the DSL and the DSL compiler toolchain required to generate high-performance code for both CPU and GPU architectures. Specifically, we report on the extension of the DSL toolchain to the particular requirements of the FV3 dynamical core which is implemented on a gnomonic cubed-sphere grid. The advantages and challenges of developing a DSL tailored for weather and climate models will be discussed.