TY - GEN
T1 - Developing Ultrahigh-Resolution E3SM Land Model for GPU Systems
AU - Schwartz, Peter
AU - Wang, Dali
AU - Yuan, Fengming
AU - Thornton, Peter
N1 - Publisher Copyright:
© 2023, The Author(s), under exclusive license to Springer Nature Switzerland AG.
PY - 2023
Y1 - 2023
N2 - Designing and refactoring complex scientific code, such as the E3SM land model (ELM), for new computing architectures is challenging. This paper presents design strategies and technical approaches to develop a data-oriented, GPU-ready ELM model using compiler directives (OpenACC/OpenMP). We first analyze the datatypes and processes in the original ELM code. Then we present design considerations for ultrahigh-resolution ELM (uELM) development for massive GPU systems. These techniques include the global data-oriented simulation workflow, domain partition, code porting and data copy, memory reduction, parallel loop restructure and flattening, and race condition detection. We implemented the first version of uELM using OpenACC targeting the NVidia GPUs in the Summit supercomputer at Oak Ridge National Laboratory. During the implementation, we developed a software tool (named SPEL) to facilitate code generation, verification, and performance tuning using these techniques. The first uELM implementation for Nvidia GPUs on Summit delivered promising results: 1) over 98% of the ELM code was automatically generated and tuned by scripts. Most ELM modules had better computational performances than the original ELM code for CPUs. The GPU-ready uELM is more scalable than the CPU code on fully-loaded Summit nodes. Example profiling results from several modules are also presented to illustrate the performance improvements and race condition detection. The lessons learned and toolkit developed in the study are also suitable for further uELM deployment using OpenMP on the first US exascale computer, Frontier, equipped with AMD CPUs and GPUs.
AB - Designing and refactoring complex scientific code, such as the E3SM land model (ELM), for new computing architectures is challenging. This paper presents design strategies and technical approaches to develop a data-oriented, GPU-ready ELM model using compiler directives (OpenACC/OpenMP). We first analyze the datatypes and processes in the original ELM code. Then we present design considerations for ultrahigh-resolution ELM (uELM) development for massive GPU systems. These techniques include the global data-oriented simulation workflow, domain partition, code porting and data copy, memory reduction, parallel loop restructure and flattening, and race condition detection. We implemented the first version of uELM using OpenACC targeting the NVidia GPUs in the Summit supercomputer at Oak Ridge National Laboratory. During the implementation, we developed a software tool (named SPEL) to facilitate code generation, verification, and performance tuning using these techniques. The first uELM implementation for Nvidia GPUs on Summit delivered promising results: 1) over 98% of the ELM code was automatically generated and tuned by scripts. Most ELM modules had better computational performances than the original ELM code for CPUs. The GPU-ready uELM is more scalable than the CPU code on fully-loaded Summit nodes. Example profiling results from several modules are also presented to illustrate the performance improvements and race condition detection. The lessons learned and toolkit developed in the study are also suitable for further uELM deployment using OpenMP on the first US exascale computer, Frontier, equipped with AMD CPUs and GPUs.
KW - Compiler Directives
KW - E3SM Land Model
KW - Exascale Energy Earth System Model
KW - OpenACC
KW - Ultrahigh-Resolution ELM
UR - http://www.scopus.com/inward/record.url?scp=85164923291&partnerID=8YFLogxK
U2 - 10.1007/978-3-031-36805-9_19
DO - 10.1007/978-3-031-36805-9_19
M3 - Conference contribution
AN - SCOPUS:85164923291
SN - 9783031368042
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 277
EP - 290
BT - Computational Science and Its Applications – ICCSA 2023 - 23rd International Conference, Proceedings
A2 - Gervasi, Osvaldo
A2 - Murgante, Beniamino
A2 - Taniar, David
A2 - Apduhan, Bernady O.
A2 - Braga, Ana Cristina
A2 - Garau, Chiara
A2 - Stratigea, Anastasia
PB - Springer Science and Business Media Deutschland GmbH
T2 - 23rd International Conference on Computational Science and Its Applications , ICCSA 2023
Y2 - 3 July 2023 through 6 July 2023
ER -