Biological and Environmental Research - Earth and Environmental System Sciences
Earth and Environmental System Modeling

A Performance-Portable Nonhydrostatic Atmospheric Dycore for the Energy Exascale Earth System Model Running at Cloud-Resolving Resolutions

TitleA Performance-Portable Nonhydrostatic Atmospheric Dycore for the Energy Exascale Earth System Model Running at Cloud-Resolving Resolutions
Publication TypeJournal Article
Year of Publication2020
JournalSC20: International Conference for High Performance Computing, Networking, Storage and Analysis
Volume1
Pages1-14
Abstract / Summary

We present an effort to port the nonhydrostatic atmosphere dynamical core of the Energy Exascale Earth System Model (E3SM) to efficiently run on a variety of architectures, including conventional CPU, many-core CPU, and GPU. We specifically target cloud-resolving resolutions of 3 km and 1 km. To express on-node parallelism we use the C++ library Kokkos, which allows us to achieve a performance portable code in a largely architecture-independent way. Our C++ implementation is at least as fast as the original Fortran implementation on IBM Power9 and Intel Knights Landing processors, proving that the code refactor did not compromise the efficiency on CPU architectures. On the other hand, when using the GPUs, our implementation is able to achieve 0.97 Simulated Years Per Day, running on the full Summit supercomputer. To the best of our knowledge, this is the most achieved to date by any global atmosphere dynamical core running at such resolutions.

URLhttp://dx.doi.org/10.1109/sc41405.2020.00096
DOI10.1109/sc41405.2020.00096
Journal: SC20: International Conference for High Performance Computing, Networking, Storage and Analysis
Year of Publication: 2020
Volume: 1
Pages: 1-14
Publication Date: 11/2020

We present an effort to port the nonhydrostatic atmosphere dynamical core of the Energy Exascale Earth System Model (E3SM) to efficiently run on a variety of architectures, including conventional CPU, many-core CPU, and GPU. We specifically target cloud-resolving resolutions of 3 km and 1 km. To express on-node parallelism we use the C++ library Kokkos, which allows us to achieve a performance portable code in a largely architecture-independent way. Our C++ implementation is at least as fast as the original Fortran implementation on IBM Power9 and Intel Knights Landing processors, proving that the code refactor did not compromise the efficiency on CPU architectures. On the other hand, when using the GPUs, our implementation is able to achieve 0.97 Simulated Years Per Day, running on the full Summit supercomputer. To the best of our knowledge, this is the most achieved to date by any global atmosphere dynamical core running at such resolutions.

DOI: 10.1109/sc41405.2020.00096
Citation:
Bertagna, L, O Guba, M Taylor, J Foucar, J Larkin, A Bradley, S Rajamanickam, and A Salinger.  2020.  "A Performance-Portable Nonhydrostatic Atmospheric Dycore for the Energy Exascale Earth System Model Running at Cloud-Resolving Resolutions."  SC20: International Conference for High Performance Computing, Networking, Storage and Analysis 1: 1-14.  https://doi.org/10.1109/sc41405.2020.00096.