Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Page Properties
1.Poster TitlePerformance Portability, Embedded Ensembles, and Implicit Methods: Why we love C++ Templates
2.AuthorsAndy Salinger, the Albany code team
3.GroupPerformance
4.ExperimentN/A
5.Poster CategoryFuture Direction
6.Submission Typepresentation, or poster

Abstract

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. The Kokkos programming model allows for a → A single implementation that can achieve good on-node parallel performance for diverse architectures by capitalizing on abstracting out the flexibility of data structure allocation and access. 
  • Climate projections need to be informed by ensembles of runs to establish the probabilistic. While launching ensembles , which can be run as an outer loop is trivially-parallel, 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 (1) are enabled throughout :

  1. Are facilitated by using C++ templates to swap out data types in single common code base

...

  1. , and
  2. Will already exist in ACME v1 within MPAS-Land Ice in the

...

  1. Albany/FELIX velocity solver.