Skip to main content

A comparison of performance-enhancing strategies for parallel numerical object-oriented frameworks

  • Conference paper
  • First Online:
Book cover Scientific Computing in Object-Oriented Parallel Environments (ISCOPE 1997)

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

Abstract

Performance short of that of C or FORTRAN 77 is a significant obstacle to general acceptance of object-oriented C++ frameworks in high-performance parallel scientific computing; nonetheless, their value in simplifying complex computations is inarguable. Examples of good performance for object-oriented libraries/frameworks are interesting, but a systematic analysis of performance issues has not been done. This paper explores a few of these issues and reports on three mechanisms for enhancing the performance of object-oriented frameworks for numerical computation. The first is binary operator overloading implemented with substantial internal optimizations, the second is expression templates, and the third is an optimizing preprocessor. The first two have been completely implemented and are available in the A++/P++ array class library, the third, ROSE++, is work in progress. This paper provides some perspective on the types of optimizations that we consider important in our numerical applications using OVERTURE involving complex geometry and AMR on parallel architectures.

A++/P++ is available from http://www.c3.lanl.gov/cic19/teams/napc/nape.shtml

ROSE++ Web Site: http://www.c3.lanl.gov/ dquinlan/ROSE.html

OVERTURE is available from http://www.c3.lanl.gov/cic19/teams/napc/napc.shtml

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. David Brown, Geoff Chesshire, William Henshaw, and Dan Quinlan. Overture: An object-oriented software system for solving partial differential equations in serial and parallel environments. In Proceedings of the SIAM Parallel Conference, Minneapolis, MN, March 1997.

    Google Scholar 

  2. Kei Davis and Dan Quinlan. Rose: An optimizing preprocessor for the objectoriented overture framework. http://www.c3.lanl.gov/-dquinlan/ROSE.html.

    Google Scholar 

  3. B. Francois et. al. Sage++: An object-oriented toolkit and class library for building fortran and c++ restructuring tools. In Proceedings of the Second Annual Object-Oriented Numerics Conference, 1994.

    Google Scholar 

  4. M. Lemke and Dan Quinlan. P++, a c++ virtual shared grids based programming environment for architecture-independent development of structured grid applications. In CONPAR/VAPP V, LNCS. Springer-Verlag, September 1992.

    Google Scholar 

  5. Dan Quinlan and Rebecca Parsons. Run-time recognition of task parallelism within the p++ parallel array class library. In Proceedings of the Conference on Parallel Scalable Libraries, 1993.

    Google Scholar 

  6. Dan Quinlan and Rebecca Parsons. A++/p++ array classes for architecture independent finite difference computations. In Proceedings of the Second Annual Object-Oriented Numerics Conference, April 1994.

    Google Scholar 

  7. Todd Veldhuizen. Expression templates. In S.B. Lippmann, editor, C++ Gems. Prentice-Hall, 1996.

    Google Scholar 

  8. O.V. Wilson and P. Lu. Parallel Programming Using C++, chapter 14, pages 547–587, MIT Press, 1997.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Yutaka Ishikawa Rodney R. Oldehoeft John V. W. Reynders Marydell Tholburn

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag

About this paper

Cite this paper

Bassetti, F., Davis, K., Quinlan, D. (1997). A comparison of performance-enhancing strategies for parallel numerical object-oriented frameworks. In: Ishikawa, Y., Oldehoeft, R.R., Reynders, J.V.W., Tholburn, M. (eds) Scientific Computing in Object-Oriented Parallel Environments. ISCOPE 1997. Lecture Notes in Computer Science, vol 1343. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-63827-X_39

Download citation

  • DOI: https://doi.org/10.1007/3-540-63827-X_39

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63827-8

  • Online ISBN: 978-3-540-69656-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics