Affiliation:
1. Lawrence Livermore National Laboratory, Livermore, CA, USA
Abstract
ROSE is a preprocessor generation tool for the support of compile time performance optimizations of general object-oriented frameworks. Within this work ROSE is being applied first to Overture, a serial/parallel object-oriented framework for solving partial differential equations in two and three space dimensions. The optimization of the interactions between objects within Overture is of particular interest since the Overture applications can be computationally large (many millions of mesh points and iterating over thousands of time-steps). Unfortunately, optimizations that might be obvious to the framework developer or application developer (e.g. cache based optimizations), due to the precise semantics of the framework's abstractions, are often lost through the C++ compiler's inability to recognize or leverage such semantics. Preprocessing steps can be used to introduce transformations using the semantics of a framework's abstractions, but the development of such a preprocessor tool is particularly complicated for a general object-oriented language such as C++. This paper shows how such framework specific preprocessors can be automatically generated. In this paper we briefly present Overture with some examples, and present our approach toward optimizing the performance for Overture and the A++P++ array class abstractions upon which Overture depends. The results we present show that the semantics of the abstractions represented within Overture and the A++P++ array class library can be used to generate a preprocessor using ROSE. The results demonstrate the performance of an Overture application with and without such a preprocessing step, the final performance with preprocessing is equivalent to that of optimized C and Fortran 77. By design, ROSE is general in its application to any object-oriented framework or application and is in no way specific to Overture.
Publisher
World Scientific Pub Co Pte Lt
Subject
Hardware and Architecture,Theoretical Computer Science,Software
Cited by
64 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Runtime-Adaptable Selective Performance Instrumentation;2023 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW);2023-05
2. Domain-Specific Multi-Level IR Rewriting for GPU;ACM Transactions on Architecture and Code Optimization;2021-12-31
3. Machine Learning–enabled Scalable Performance Prediction of Scientific Codes;ACM Transactions on Modeling and Computer Simulation;2021-04-30
4. Inherent Parallelism and Speedup Estimation of Sequential Programs;Annals of Emerging Technologies in Computing;2021-04-01
5. Tools for Reduced Precision Computation;ACM Computing Surveys;2021-03-31