Skip to main content

Classification and Utilization of Abstractions for Optimization

  • Conference paper
Leveraging Applications of Formal Methods (ISoLA 2004)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4313))

Abstract

We define a novel approach for optimizing the use of libraries within applications. We propose that library-defined abstractions be annotated with additional semantics to support their automated optimization. By leveraging these additional semantics we enable specialized optimizations of application codes which use library abstractions. We believe that such an approach entails the use of formal methods.

It is a common perception that performance is inversely proportional to the level of abstraction. Our work shows that this is not the case if the additional semantics of library-defined abstractions can be leveraged. We describe ROSE, a framework for building source-to-source translators that perform high-level optimizations on scientific applications. ROSE allows the recognition of library abstractions and the optimization of their use in applications. We show how ROSE can utilize the semantics of userdefined abstractions in libraries within the compile-time optimization of applications.

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. Parsons, R., Quinlan, D.: A++/P++ array classes for architecture independent finite difference computations. In: Proceedings of the Second Annual Object-Oriented Numerics Conference (April 1994)

    Google Scholar 

  2. Quinlan, D., Schordan, M., Miller, B., Kowarschik, M.: Parallel object-oriented framework optimization. Concurrency and Computation: Practice and Experience 16(2-3), 293–302 (2004)

    Article  Google Scholar 

  3. Schordan, M., Quinlan, D.: A Source-To-Source Architecture for User-Defined Optimizations. In: Böszörményi, L., Schojer, P. (eds.) JMLC 2003. LNCS, vol. 2789, pp. 214–223. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  4. Edison Design Group, http://www.edg.com

  5. Bodin, F., Beckman, P., Gannon, D., Gotwals, J., Narayana, S., Srinivas, S., Winnicka, B.: Sage++: An object-oriented toolkit and class library for building fortran and C++ restructuring tools. In: Proceedings. OONSKI 1994, Oregon (1994)

    Google Scholar 

  6. Moessenboeck, H.: Coco/R - A generator for production quality compilers. In: Hammer, D. (ed.) CC 1990. LNCS, vol. 477. Springer, Heidelberg (1991)

    Google Scholar 

  7. Fraser, C.W., Henry, R.R., Proebsting, T.A.: BURG: fast optimal instruction selection and tree parsing. ACM SIGPLAN Notices 27(4), 68–76 (1992)

    Article  Google Scholar 

  8. Yi, Q., Quinlan, D.: Applying loop optimizations to object-oriented abstractions through general classification of array semantics. In: The 17th International Workshop on Languages and Compilers for Parallel Computing, West Lafayette, Indiana, USA (September 2004)

    Google Scholar 

  9. Kennedy, K., Broom, B., Cooper, K., Dongarra, J., Fowler, R., Gannon, D., Johnsson, L., 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 61(12), 1803–1826 (2001)

    Article  MATH  Google Scholar 

  10. Lam, M.S., Amarasinghe, S.P., Anderson, J.M., Tseng, C.W.: The suif compiler for scalable parallel machines. In: Proceedings of the Seventh SIAM Conference on Parallel Processing for Scientific Computing (Feburary 1995)

    Google Scholar 

  11. Chiba, S.: Macro processing in object-oriented languages. In: TOOLS Pacific 1998, Technology of Object-Oriented Languages and Systems (1998)

    Google Scholar 

  12. Guyer, S.Z., Lin, C.: An annotation language for optimizing software libraries. ACM SIGPLAN Notices 35(1), 39–52 (2000)

    Article  Google Scholar 

  13. Veldhuizen, T.: Expression templates. In: Lippmann, S.B. (ed.) C++ Gems. Prentice-Hall, Englewood Cliffs (1996)

    Google Scholar 

  14. Bassetti, F., Davis, K., Quinlan, D.: A comparison of performance-enhancing strategies for parallel numerical object-oriented frameworks. In: Ishikawa, Y., Reynders, J.V.W., Tholburn, M. (eds.) ISCOPE 1997. LNCS, vol. 1343. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  15. Wu, P., Midkiff, S.P., Moreira, J.E., Gupta, M.: Improving Java performance through semantic inlining. In: Proceedings of the Ninth SIAM Conference on Parallel Processing for Scientific Computing (March 1999)

    Google Scholar 

  16. Artigas, P.V., Gupta, M., Midkiff, S., Moreira, J.: Automatic loop transformations and parallelization for Java. In: Proceedings of the 2000 International Conference on Supercomputing (May 2000)

    Google Scholar 

  17. Wu, P., Padua, D.: Containers on the parallelization of general-purpose Java programs. In: Proceedings of International Conference on Parallel Architectures and Compilation Techniques (October 1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Quinlan, D., Schordan, M., Yi, Q., Saebjornsen, A. (2006). Classification and Utilization of Abstractions for Optimization. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods. ISoLA 2004. Lecture Notes in Computer Science, vol 4313. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11925040_5

Download citation

  • DOI: https://doi.org/10.1007/11925040_5

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-48929-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics