Using Miniapplications in a Mantevo Framework for Optimizing Sandia's SPARC CFD Code on Multi-Core, Many-Core, and GPU-Accelerated Compute Platforms

Daniel W. Barnette, Matt Bettencourt, Mark Frederick Hoemmen · 51st AIAA Aerospace Sciences Meeting including the New Horizons Forum and Aerospace Exposition · 2013

Advances toward exascale-class compute system architectures are pushing the limits of code team developers to stay current with correspondingly optimized large-scale applications. Large application codes, often unwieldy, are typically used to explore performance parameters such as processor architecture, grid structure and partition size, network topology and latency, programming models, data structures, power profiles, and various PDE discretization schemes and solver algorithms. Instead, we choose to develop a set of validated, portable, and easy-to-use miniapplications, or miniapps, to individually isolate and explore those parameters which most strongly influence performance metrics of the full application. We use as the target application a new lightweight compressible CFD code being developed at Sandia called SPARC. Our results with miniapps for SPARC will help drive other research efforts in the community to determine optimal platforms for given program needs such as efficient CFD solutions on many-core systems, new algorithmic development for accelerated platforms, and platform acquisition requirements. This paper discusses our efforts to-date on recent testbed and cluster architectures. We also discuss future directions.

Read the paper · More papers on PaperTik