Abstract
In this work, we demonstrate the process for porting the cloud resolving model (CRM) used in the Energy Exascale Earth System Model Multi-Scale Modeling Framework (E3SM-MMF) from its original Fortran code base to C++ code using a portability library. This porting process is performed using the Yet Another Kernel Library (YAKL), a simplified C++ portability library that specializes in Fortran porting. In particular, we detail our step-by-step approach for porting the System for Atmospheric Modeling (SAM), the CRM used in E3SM-MMF, using a hybrid Fortran/C++ framework that allows for systematic reproduction and correctness testing of gradually ported YAKL C++ code. Additionally, analysis is done on the performance of the ported code using OLCF’s Summit supercomputer.
Original language | English |
---|---|
Pages (from-to) | 214-230 |
Number of pages | 17 |
Journal | International Journal of High Performance Computing Applications |
Volume | 36 |
Issue number | 2 |
DOIs | |
State | Published - Mar 2022 |
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This research was supported by the Exascale Computing Project (17-SC-20-SC), a collaborative effort of the U.S. Department of Energy Office of Science and the National Nuclear Security Administration. This research used resources of the Oak Ridge Leadership Computing Facility, which is a DOE Office of Science User Facility supported under contract DE-AC05-00OR22725.
Funders | Funder number |
---|---|
U.S. Department of Energy | |
Office of Science | 17-SC-20-SC, DE-AC05-00OR22725 |
National Nuclear Security Administration |
Keywords
- Accelerator Computing
- C++
- C++/Fortran Interoperability
- Cloud Resolving Model
- Portability