/
Software-Facilitated Performance Improvements
Software-Facilitated Performance Improvements
ACME_AllHands2015_Poster_Salinger.pdf
Abstract
We will touch on three avenues for performance improvements. The code development for each can be greatly simplified by use of flexibility built into the C++ programming language.
- Achieving performance portability across numerous current and future architectures is a challenge. → A single implementation can achieve good on-node parallel performance for diverse architectures by abstracting out the data structure allocation and access.
- Climate projections need to be informed by ensembles of runs, which can be run as an outer loop and achieve perfect scalability. → Far superior speed-ups can be gained by embedding the ensembles as an inner loop instead.
- Implicit methods have promise in some climate components to achieve better scalability for high resolution and regionally-refined discretizations. → Analytic Jacobian matrices can be calculated efficiently and accurately with little code development time using automatic differentiation.
All three of these potentially-transformative capabilities:
- Are facilitated by using C++ templates to swap out data types in single common code base, and
- Will already exist in ACME v1 within MPAS-Land Ice in the Albany/FELIX velocity solver.
, multiple selections available,
Related content
B07. Climate Simulations On Summit
B07. Climate Simulations On Summit
More like this
#A13 Advances in the application of parallel split physics and dynamics
#A13 Advances in the application of parallel split physics and dynamics
More like this
Parallel Ensemble Simulations for ACME Performance and Verification
Parallel Ensemble Simulations for ACME Performance and Verification
More like this
Computational Benefits of an Ensemble-Based Approach to Climate Modeling and Testing at Scale
Computational Benefits of an Ensemble-Based Approach to Climate Modeling and Testing at Scale
More like this
#22 Lightweight threading and vectorization with OpenMP in ACME
#22 Lightweight threading and vectorization with OpenMP in ACME
More like this
2020-07-23 All-Hands Presentation Meeting Notes
2020-07-23 All-Hands Presentation Meeting Notes
More like this