Back

Minisymposium Presentation

Loki: A Source-To-Source Translation Tool for Numerical Weather Prediction Codes and More

Wednesday, June 5, 2024
10:30
-
11:00
CEST
Climate, Weather and Earth Sciences
Climate, Weather and Earth Sciences
Climate, Weather and Earth Sciences
Chemistry and Materials
Chemistry and Materials
Chemistry and Materials
Computer Science and Applied Mathematics
Computer Science and Applied Mathematics
Computer Science and Applied Mathematics
Humanities and Social Sciences
Humanities and Social Sciences
Humanities and Social Sciences
Engineering
Engineering
Engineering
Life Sciences
Life Sciences
Life Sciences
Physics
Physics
Physics

Presenter

Balthasar
Reuter
-
ECMWF

Balthasar Reuter is a Senior Computational Scientist in the Research Department of ECMWF. He investigates modern software engineering techniques such as source-to-source translation and code generation to bring performance portability and accelerator readiness into numerical weather prediction models. He leads the HPC adaptation workstream at ECMWF in the European Commission's Destination Earth initiative. His scientific background is in numerical methods, in particular discontinuous Galerkin methods, and parallel computing.

Description

Established numerical weather prediction (NWP) and climate modeling codes, such as ECMWF's Integrated Forecasting System (IFS), have been developed over decades and comprise a large monolithic code base. Over the course of their lifetime, compute architectures have evolved from vector computers to distributed memory multi-processors and hybrid accelerated supercomputers. Not least thanks to the systems procured by the EuroHPC JU, NWP codes are run on a larger variety of systems and have to target diverse hardware architectures today. Meanwhile, the objective of performance portability using a single programming model remains elusive and accommodating multiple bespoke and sometimes conflicting optimisations for specific hardware architectures becomes increasingly unsustainable.

We present Loki, an open-source Python package purpose-built for the IFS that offers source-to-source translation capabilities for Fortran code. It provides experts with a freely-programmable API and inter-procedural analysis features to encode custom transformations that are applied programmatically across large source trees. Loki is a cornerstone of the GPU adaptation strategy for ECMWF's IFS and has been deployed successfully to adapt multiple components of the forecast model for GPU execution. Recently, other users in the weather and climate community have started evaluating Loki for their own code adaptation work.

Authors