The Specification of Source-to-Source Transformations for the Compile-Time Optimization of Parallel Object-Oriented Scientific Applications
- 316 Downloads
The performance of object-oriented applications in scientific computing often suffers from the inefficient use of high-level abstractions provided by underlying libraries. Since these library abstractions are user-defined and not part of the programming language itself there is no compiler mechanism to respect their semantics and thus to perform appropriate optimizations.
In this paper we outline the design of ROSE and focus on the discussion of two approaches for specifying and processing complex source code transformations. These techniques are intended to be as easy and intuitive as possible for potential ROSE users; i.e., for designers of object-oriented scientific libraries, people most often with no compiler expertise.
KeywordsSource Code Application Code Array Statement Array Object Query Mechanism
Unable to display preview. Download preview PDF.
- 1.Quinlan, D., Philip, B., “ROSETTA: The Compile-Time Recognition Of Object-Oriented Library Abstractions And Their Use Within Applications”, Proceedings of the PDPTA’2001 Conference, Las Vegas, Nevada, June 24–27 2001Google Scholar
- 2.Quinlan, D. Schordan, M. Philip, B. Kowarschik, M. “Parallel Object-Oriented Framework Optimization”, (submitted to) Special Issue of Concurrency: Practice and Experience, also in Proceedings of Conference on Parallel Compilers (CPC2001), Edinburgh, Scotland, June 2001.Google Scholar
- 3.Brown, D., Henshaw, W., Quinlan, D., “OVERTURE: A Framework for Complex Geometries”, Proceedings of the ISCOPE’99 Conference, San Francisco, CA, Dec 7–10 1999.Google Scholar
- 4.ATLAS homepage, http://www.netlib.org/atlas.
- 5.Edison Design Group, http://www.edg.com.
- 6.Bodin, F. et. al., “Sage++: An object-oriented toolkit and class library for building fortran and C++ restructuring tools”, Proceedings of the Second Annual Object-Oriented Numerics Conference, 1994.Google Scholar
- 7.Broom, B., Cooper, K., Dongarra, J., Fowler, R., Gannon, D., Johnsson, L., Kennedy, K., Mellor-Crummey, J., Torczon, L., “Telescoping Languages: A Strategy for Automatic Generation of Scientific Problem-Solving Systems from Annotated Libraries”, Journal of Parallel and Distributed Computing, 2000.Google Scholar
- 8.Silber, G.-A., http://www.ens-lyon.fr/~gsilber/nestor.
- 9.Ishikawa, Y., et. al., “Design and Implementation of Metalevel Architecture in C++ — MPC++ Approach—”, Proceedings of Reflection’96 Conference, April 1996.Google Scholar
- 10.Chiba, S., “Macro Processing in Object-Oriented Languages”, Proc. of Technology of Object-Oriented Languages and Systems (TOOLS Pacific’ 98), Australia, November, IEEE Press, 1998.Google Scholar
- 11.Guyer, S.Z., Lin, C., “An Annotation Language for Optimizing Software Libraries”, Proceedings of the Second Conference on Domain-Specific Languages, October 1999.Google Scholar
- 12.Menon, V., Pingali, K., “High-Level Semantic Optimization of Numerical Codes”, Proceedings of the ACM/IEEE Supercomputing 1999 Conference (SC99), Portland, OR, 1999.Google Scholar
- 13.Bassetti, F., Davis, K., Quinlan, D., “Optimizing Transformations of Stencil Operations for Parallel Object-Oriented Scientific Frameworks on Cache-Based Architectures” Proceedings of the ISCOPE’98 Conference, Santa Fe, NM, 1998.Google Scholar
- 14.Weiß, C., Karl, W., Kowarschik, M., Rüde, U., “Memory Characteristics of Iterative Methods”, Proceedings of the ACM/IEEE Supercomputing 1999 Conference (SC99), Portland, OR, 1999.Google Scholar
- 15.Lemke, M., Quinlan, D., “P++, a C++ Virtual Shared Grids Based Programming Environment for Architecture-Independent Development of Structured Grid Applications”, published as part of CONPAR/VAPP V, September 1992, Lyon, France; also published in Lecture Notes in Computer Science, Springer Verlag, September 1992.Google Scholar
- 16.Parsons, R., Quinlan, D., “A++/P++ Array Classes for Architecture Independent Finite Difference Computations”, Proceedings of the Second Annual Object-Oriented Numerics Conference, pages 408–418, Sunriver, OR, April 1994.Google Scholar