Abstract
A wide range of programming models are currently under rapid development to meet the needs of application devel-opers looking to work on more complex machines. These models fill a variety of roles. Some look to abstract supercomputer architecture, including both processors and memory, to present a strategy for portable performance across a wide range of machines. Others look to expose concurrency by explicitly con-structing task-driven dependency graphs that allow a scheduler to find parallelism. Here we explore the implications for application codes of adopting two such programming models, Kokkos and Legion, one from each class of models. We specifically focus on the software design implications on refactoring existing applications, rather than the performance and performance tuning of these models. We identify a strategy for refactoring the Energy Exas-cale Earth System Model's Land Surface Model, an extremely complex code for climate applications, and prototype a series of mini-Apps that explore the adoption of Kokkos and Legion. In doing this, we identify commonalities across the models, leading to a series of conclusions about application software design and refactoring for the adoption of novel programming models. Specifically, we find that refactoring efforts to abstract physics algorithms from data structures enable the use of a variety of programming models. With this refactoring done, we find that, at least in the case of Kokkos and Legion, these types of programming models are sufficiently mature for active use by even small application software development teams.
Original language | English |
---|---|
Title of host publication | Proceedings of PAW-ATM 2019 |
Subtitle of host publication | Parallel Applications Workshop, Alternatives to MPI+X, Held in conjunction with SC 2019: The International Conference for High Performance Computing, Networking, Storage and Analysis |
Publisher | Institute of Electrical and Electronics Engineers Inc. |
Pages | 1-10 |
Number of pages | 10 |
ISBN (Electronic) | 9781728159799 |
DOIs | |
State | Published - Nov 2019 |
Event | 2019 IEEE/ACM Parallel Applications Workshop, Alternatives to MPI+X, PAW-ATM 2019 - Denver, United States Duration: Nov 17 2019 → … |
Publication series
Name | Proceedings of PAW-ATM 2019: Parallel Applications Workshop, Alternatives to MPI+X, Held in conjunction with SC 2019: The International Conference for High Performance Computing, Networking, Storage and Analysis |
---|
Conference
Conference | 2019 IEEE/ACM Parallel Applications Workshop, Alternatives to MPI+X, PAW-ATM 2019 |
---|---|
Country/Territory | United States |
City | Denver |
Period | 11/17/19 → … |
Funding
ACKNOWLEDGMENT This work was supported by the US Department of Energy’s Office of Science’s Scientific Discovery through Advanced Computing (SciDAC) project, Coupling Approaches for Next-Generation Architectures (CANGA). 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. This manuscript has been authored by UT-Battelle, LLC, under contract DE-AC05-00OR22725 with the US Department of Energy (DOE). The US government retains and the publisher, by accepting the article for publication, acknowledges that the US government retains a nonexclusive, paid-up, irrevocable, worldwide license to publish or reproduce the published form of this manuscript, or allow others to do so, for US government purposes. DOE will provide public access to these results of federally sponsored research in accordance with the DOE Public Access Plan (http://energy.gov/downloads/doe-public-access-plan).
Keywords
- Coprocessors
- Distributed processing
- Multitasking
- Parallel processing
- Runtime
- Software testing