Back

Minisymposium Presentation

Portable Programming Approaches in the ICON Climate Model

Wednesday, June 5, 2024
9:30
-
10: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

Description

The most powerful supercomputers in the (pre)-exascale class are often based on heterogeneous architectures and are produced by different vendors. In order to make use of these various hardware resources, the scientific applications are required to continuously increase their portability. However, the ICON model has been monolithic and Fortran-based for decades, with rather limited GPU support via OpenACC. Firstly, this prevents the scientists from running the model on specific High Performance Computing nodes, whose architecture is not yet supported by Fortran compilers. Secondly, it hinders the ability to use newer heterogeneous frameworks and application programming interfaces, which simplify the development by ensuring portability without the need of rewriting the code for each targeted architecture. In order to enhance the (performance) portability of the model, we investigated several C++ parallel programming approaches and propose a prototype solution that enables ICON to use different backends via a common interface. Additionally, this was aligned with the modularisation efforts, which allow incremental upgrades without disrupting the existing functionality. In this talk, we show the evaluation results in terms of performance, portability and productivity using a standalone microphysics code extracted from ICON; furthermore, we discuss ways of integrating heterogeneous code into the Fortran repository.

Authors