The OPS Domain Specific Abstraction for Multi-block Structured Grid Computations
Citations Over TimeTop 10% of 2014 papers
Abstract
Code maintainability, performance portability and future proofing are some of the key challenges in this era of rapid change in High Performance Computing. Domain Specific Languages and Active Libraries address these challenges by focusing on a single application domain and providing a high-level programming approach, and then subsequently using domain knowledge to deliver high performance on various hardware.In this paper, we introduce the OPS high-level abstraction and active library aimed at multi-block structured grid computations, and discuss some of its key design points; we demonstrate how OPS can be embedded in C/C++ and the API made to look like a traditional library, and how through a combination of simple text manipulation and back-end logic we can enable execution on a diverse range of hardware using different parallel programming approaches.Relying on the access-execute description of the OPS abstraction, we introduce a number of automated execution techniques that enable distributed memory parallelization, optimization of communication patterns, checkpointing and cache-blocking. Using performance results from CloverLeaf from the Mantevo suite of benchmarks, we demonstrate the utility of OPS.
Related Papers
- → An operating system abstraction layer for portable applications in wireless sensor networks(2010)14 cited
- → Building fast and accurate SW simulation models based on hardware abstraction layer and simulation environment abstraction layer(2003)40 cited
- → A Hybrid Programming Model for Compressible Gas Dynamics Using OpenCL(2010)10 cited
- → FPGA Software Architecture for Software Defined Radio(2012)5 cited
- → Writing efficient C++ programs (abstract)(1992)