Skip to main content

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

  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 2001)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2624))

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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 2001

    Google 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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Quinlan, D.J., Schordan, M., Philip, B., Kowarschik, M. (2003). The Specification of Source-to-Source Transformations for the Compile-Time Optimization of Parallel Object-Oriented Scientific Applications. In: Dietz, H.G. (eds) Languages and Compilers for Parallel Computing. LCPC 2001. Lecture Notes in Computer Science, vol 2624. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-35767-X_25

Download citation

  • DOI: https://doi.org/10.1007/3-540-35767-X_25

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-04029-3

  • Online ISBN: 978-3-540-35767-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics