Oliver Fuhrer on High-Level Abstractions and Domain Specific Languages

  • February 23, 2021
  • Feature Story,Home Page Feature
  • Porting COSMO (Consortium for Small-Scale Modeling) to acceleration based higher architecture

    Porting COSMO (Consortium for Small-Scale Modeling) to acceleration based higher architecture by replacing physical parametrization and data assimilation with code using Fortran and directives, and dynamical core with C++ and a domain-specific language (DSL) that abstracts the hardware architecture. (https://doi.org/10.5194/gmd-11-1665-2018).

    Keynote speaker Oliver Fuhrer from the Federal Institute of Meteorology and Climatology MeteoSwiss and Vulcan Inc. presented a captivating talk on “Learning how to forget – how high-level abstractions can help bridge the gap between productivity and performance” at the virtual Earth System Model Development (ESMD) program area Principal Investigator (PI) and Energy Exascale Earth System Model (E3SM) Annual All-Hands Meeting at the end of October 2020.

    Fuhrer pointed out that although the weather and climate community has set ambitious goals to reach global km-scale modeling capability on future exascale high-performance computing (HPC) systems, current state-of-the-art models are executed using much coarser grid spacing and only a few of the productive weather and climate models are capable of fully exploiting modern HPC architectures with hybrid node designs. Alongside rapidly evolving HPC hardware, new associated programming models are being introduced and no de-facto standard has been adopted.

    Fuhrer’s presentation focused on higher-level abstraction using domain-specific languages (DSLs). Based on efforts made so far on the European COSMO (Consortium for Small-Scale Modeling) model and NCEP’s FV3GFS (Global Forecast System with Finite Volume dynamical core version 3) model (Fig. 1), Fuhrer pointed out that:

    1. domain-specific languages (DSLs) have the potential for achieving a good balance between performance, portability and productivity (at the price of generality);
    2. optimizing for data-movement on different hardware targets can require a higher-level of abstraction in geophysical codes; and
    3. there are no turn-key solutions, but existing tools and libraries can be exploited.

    Like Nils Wedi’s talk, Furher’s presentation inspired significant audience interest and the Q&A discussion continued on the session’s Slack channel after his talk.

     Demonstration and validation of domain-specific language (DSL) use in finite volume dynamical core

    Demonstration and validation of domain-specific language (DSL) use in finite volume dynamical core (FV3) ported using GT4Py DSL in Python and conducting a km-scale global simulation (Ref: Keynote Talk).

    • Keynote talk at the ESMD-E3SM 2020 meeting: “Learning how to forget – how high-level abstractions can help bridge the gap between productivity and performance
    • Publications
      • Fuhrer, O., Chadha, T., Hoefler, T., Kwasniewski, G., Lapillonne, X., Leutwyler, D., Lüthi, D., Osuna, C., Schär, C., Schulthess, T. C., and Vogt, H.: Near-global climate simulation at 1 km resolution: establishing a performance baseline on 4888 GPUs with COSMO 5.0, Geosci. Model Dev., 11, 1665–1681, https://doi.org/10.5194/gmd-11-1665-2018, 2018.
      • Schär, C., Fuhrer, O., Arteaga, A., Ban, N., Charpilloz, C., Di Girolamo, S., Hentgen, L., Hoefler, T., Lapillonne, X., Leutwyler, D., Osterried, K., Panosetti, D., Rüdisühli, S., Schlemmer, L., Schulthess, T. C., Sprenger, M., Ubbiali, S., and Wernli, H. (2020). Kilometer-Scale Climate Models: Prospects and Challenges. Bulletin of the American Meteorological Society 101, 5, E567-E587, https://doi.org/10.1175/BAMS-D-18-0167.1
      • Osuna, C., Wicky, T., Thuering, F., Hoefler, T., & Fuhrer, O. (2020). Dawn: a High-level Domain-Specific Language Compiler Toolchain for Weather and Climate Applications. Supercomputing Frontiers And Innovations, 7(2), 79-97. doi:http://dx.doi.org/10.14529/jsfi200205
    Send this to a friend