The Specification of Source-to-Source Transformations for the Compile-Time Optimization of Parallel Object-Oriented Scientific Applications

  • Daniel J. Quinlan
  • Markus Schordan
  • Bobby Philip
  • Markus Kowarschik
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2624)


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.


Source Code Application Code Array Statement Array Object Query Mechanism 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 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. 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. 4.
  5. 5.
    Edison Design Group,
  6. 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. 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. 8.
  9. 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. 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. 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. 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. 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. 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. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Daniel J. Quinlan
    • 1
  • Markus Schordan
    • 1
  • Bobby Philip
    • 1
  • Markus Kowarschik
    • 2
  1. 1.Center for Applied Scientific ComputingLawrence Livermore National LaboratoryLivermoreUSA
  2. 2.System Simulation Group, Department of Computer ScienceUniversity of Erlangen-NurembergGermany

Personalised recommendations