Advertisement

Generic Programming in POOMA and PETE

  • James A. Crotinger
  • Julian Cummings
  • Scott Haney
  • William Humphrey
  • Steve Karmesin
  • John Reynders
  • Stephen Smith
  • Timothy J. Williams
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1766)

Abstract

POOMA is a C++ framework for developing portable scientific applications for serial and parallel computers using high-level physical abstractions. PETE is an general-purpose expression-template library employed by POOMA to implement expression evaluation. This paper discusses generic programming techniques that are used to achieve flexibility and high performance in both POOMA and PETE. POOMA’s array class factors the data representation and look-up into a generic engine concept. PETE’s expression templates are used to build and operate efficiently on expressions. PETE is implemented using generic techniques that allow it to adapt to a variety of client-class interfaces, and to provide a powerful and flexible compile-time expression-tree-traversal mechanism.

Keywords

Terminal Node Generic Programming Parse Tree Expression Tree Assignment Operator 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    J. Reynders et al. POOMA: a framework for scientific simulations on parallel architectures. In Gregory V. Wilson and Paul Lu, editors, Parallel Programming using C++, pages 553–594. MIT Press, 1996.Google Scholar
  2. 2.
    William Humphrey, Steve Karmesin, Federico Bassetti, and John Reynders. Optimization of data-parallel field expressions in the POOMA framework. In ISCOPE’ 97, Marina del Rey, CA, December 1997.Google Scholar
  3. 3.
    Scott Haney. Is C++ fast enough for scientific computing. Computers in Physics, page 690, November 1994.Google Scholar
  4. 4.
    Todd L. Veldhuizen. Expression templates. C++ Report, 7(5):26–31, June 1995.Google Scholar
  5. 5.
    Scott W. Haney. Beating the abstraction penalty in C++ using expression templates. Computers in Physics, page 552, November 1996.Google Scholar
  6. 6.
    Geoffrey Furnish. Disambiguated glommable expression templates. Computers in Physics, page 263, May 1997.Google Scholar
  7. 7.
    John J. Barton and Lee R. Nackman. Scientific and Engineering C++. Addison-Wesley, 1994.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • James A. Crotinger
    • 1
  • Julian Cummings
    • 1
  • Scott Haney
    • 1
  • William Humphrey
    • 1
  • Steve Karmesin
    • 1
  • John Reynders
    • 1
  • Stephen Smith
    • 1
  • Timothy J. Williams
    • 1
  1. 1.Los Alamos National LaboratoryLos Alamos

Personalised recommendations