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
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
Scott Haney. Is C++ fast enough for scientific computing. Computers in Physics, page 690, November 1994.
Todd L. Veldhuizen. Expression templates. C++ Report, 7(5):26–31, June 1995.
Scott W. Haney. Beating the abstraction penalty in C++ using expression templates. Computers in Physics, page 552, November 1996.
Geoffrey Furnish. Disambiguated glommable expression templates. Computers in Physics, page 263, May 1997.
John J. Barton and Lee R. Nackman. Scientific and Engineering C++. Addison-Wesley, 1994.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Crotinger, J.A. et al. (2000). Generic Programming in POOMA and PETE. In: Jazayeri, M., Loos, R.G.K., Musser, D.R. (eds) Generic Programming. Lecture Notes in Computer Science, vol 1766. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-39953-4_17
Download citation
DOI: https://doi.org/10.1007/3-540-39953-4_17
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41090-4
Online ISBN: 978-3-540-39953-7
eBook Packages: Springer Book Archive