Abstract
The POOMA framework is a C++ class library for the development of large-scale parallel scientific applications. POOMA's Field class implements a templated, multidimensional, data-parallel array that partitions data in a simulation domain into sub-blocks. These subdomain blocks are used on a parallel computer in data-parallel Field expressions. In this paper we describe the design of Fields, their implementation in the POOMA framework, and their performance on a Silicon Graphics Inc. Origin 2000. We focus on the aspects of the Field implementation which relate to efficient memory use and improvement of run-time performance: reducing the number of temporaries through expression templates, reducing the total memory used by compressing constant regions, and performing calculations on sparsely populated Fields by using sparse index lists.
Preview
Unable to display preview. Download preview PDF.
References
David R. Musser and Atul Saini. STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library. Addison-Wesley, 1996.
John 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.
Todd Veldhuizen. Expression templates. Technical Report 5, C++ Report 7, June 1995.
Tim Williams, John Reynders, and William Humphrey. POOMA User Guide. Advanced Computing Laboratory — Los Alamos National Laboratory, April 1997. http://www.acl.lani.gov/pooma/doc/userguide/.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag
About this paper
Cite this paper
Humphrey, W., Karmesin, S., Bassetti, F., Reynders, J. (1997). Optimization of data-parallel field expressions in the POOMA framework. 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_60
Download citation
DOI: https://doi.org/10.1007/3-540-63827-X_60
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