Title :
The OPS Domain Specific Abstraction for Multi-block Structured Grid Computations
Author :
Reguly, Istvan Z. ; Mudalige, Gihan R. ; Giles, Michael B. ; Curran, Dan ; McIntosh-Smith, Simon
Author_Institution :
e-Res. Centre, Univ. of Oxford, Oxford, UK
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.
Keywords :
C++ language; grid computing; parallel programming; software libraries; specification languages; API; C/C++ language; CloverLeaf; OPS domain specific abstraction; OPS high-level abstraction; Oxford parallel library for structured mesh solvers; active library; automated execution techniques; back-end logic; cache-blocking; checkpointing; code maintainability; communication patterns optimization; distributed memory parallelization; domain knowledge; domain specific languages; high performance computing; high-level programming approach; multiblock structured grid computations; parallel programming; performance portability; text manipulation; DSL; Data structures; Hardware; Kernel; Libraries; Optimization; Programming; Domain Specific Languages; Software Design; Structured Grid; High Performance Computing;
Conference_Titel :
Domain-Specific Languages and High-Level Frameworks for High Performance Computing (WOLFHPC), 2014 Fourth International Workshop on
DOI :
10.1109/WOLFHPC.2014.7