Part of the book series:Lecture Notes in Computer Science ((LNPSE,volume 4192))
Included in the following conference series:
Abstract
The Message Passing Interface (MPI) is thede facto standard for writing message passing applications. Much of MPI’s power stems from its ability to provide a high-performance, consistent interface across C, Fortran, and C++. Unfortunately, with cross-language consistency at the forefront, MPI tends to support only the lowest common denominator of the three languages, providing a level of abstraction far lower than typical C++ libraries. For instance, MPI does not inherently support standard C++ constructs such ascontainers anditerators, nor does it provide seamless support for user-defined classes. To map these common C++ constructs into MPI, programmers must often write non-trivial boiler-plate code and weaken the type-safety guarantees provided by C++. This paper describes several ideas for modernizing the C++ interface to MPI, providing a more natural syntax along with seamless support for user-defined types and C++ Standard Library constructs. We also sketch the C++ techniques required to implement this interface and provide a preliminary performance evaluation illustrating that our modern interface does not imply unnecessary overhead.
This is a preview of subscription content,log in via an institution to check access.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
MPI-1.1 Specification,http://www.mpi-forum.org/docs/docs.html
Squyres, J.M., McCandless, B.C., Lumsdaine, A.: Object Oriented MPI (OOMPI): a class library for the Message Passing Interface. In: Second MPI Developer’s Conference, Notre Dame, IN, USA. IEEE, Los Alamitos (1996)
Lee, L.-Q.: Generic Programming for High-Performance Scientific Computing. PhD thesis, University of Notre Dame (2002)
Ramsey, R.: Boost Serialization Library (2003),http://www.mpi-forum.org/docs/docs.html
Skjellum, A., Lu, Z., Bangalore, P.V., Doss, N.E.: Explicit parallel programming in C++ based on the message-passing interface (MPI). In: Wilson, G.V. (ed.) Parallel Programming Using C++. MIT Press, Cambridge (1996)
Skjellum, A., Wooley, D.G., Lu, Z., Wolf, M., Bangalore, P.V., Lumsdaine, A., Squyres, J.M., McCandless, B.: Object-oriented analysis and design of the Message Passing Interface. j-CCPE 13(4), 245–292 (2001)
Squyres, J.M., Saphir, B., Lumsdaine, A.: The Design and Evolution of the MPI-2 C++ Interface. In: Proceedings, 1997 International Conference on Scientific Computing in Object-Oriented Parallel Computing. LNCS, Springer, Heidelberg (1997)
Author information
Authors and Affiliations
Open Systems Laboratory, Indiana University,
Prabhanjan Kambadur, Douglas Gregor, Andrew Lumsdaine & Amey Dharurkar
- Prabhanjan Kambadur
You can also search for this author inPubMed Google Scholar
- Douglas Gregor
You can also search for this author inPubMed Google Scholar
- Andrew Lumsdaine
You can also search for this author inPubMed Google Scholar
- Amey Dharurkar
You can also search for this author inPubMed Google Scholar
Editor information
Editors and Affiliations
Forschungszentrum Jülich, ZAM, 52425, Jülich, Germany
Bernd Mohr
NEC Europe Ltd., NEC Laboratories Europe, Rathausallee 10, D-53757, Sankt Augustin, Germany
Jesper Larsson Träff
Dolphin Interconnect Solutions ASA R&D Germany, Siebengebirgsblick 26, 53343, Wachtberg, Germany
Joachim Worringen
Computer Science Department, University of Tennessee, 37996-3450, Knoxville, TN, USA
Jack Dongarra
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kambadur, P., Gregor, D., Lumsdaine, A., Dharurkar, A. (2006). Modernizing the C++ Interface to MPI. In: Mohr, B., Träff, J.L., Worringen, J., Dongarra, J. (eds) Recent Advances in Parallel Virtual Machine and Message Passing Interface. EuroPVM/MPI 2006. Lecture Notes in Computer Science, vol 4192. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11846802_39
Download citation
Publisher Name:Springer, Berlin, Heidelberg
Print ISBN:978-3-540-39110-4
Online ISBN:978-3-540-39112-8
eBook Packages:Computer ScienceComputer Science (R0)
Share this paper
Anyone you share the following link with will be able to read this content:
Sorry, a shareable link is not currently available for this article.
Provided by the Springer Nature SharedIt content-sharing initiative