|
| This Article | ||
| ||
| Share | ||
| Bibliographic References | ||
| Add to: | ||
| | ||
| Search | ||
| ||
2012 20th Euromicro International Conference on Parallel, Distributed and Network-based Processing
A Lightweight C++ Interface to MPI
Munich, Germany
February 15-February 17
ISBN: 978-0-7695-4633-9
| ASCII Text | x | ||
| Simone Pellegrini, Radu Prodan, Thomas Fahringer, "A Lightweight C++ Interface to MPI," 16th Euromicro Conference on Parallel, Distributed and Network-Based Processing (PDP 2008), pp. 3-10, 2012 20th Euromicro International Conference on Parallel, Distributed and Network-based Processing, 2012. | |||
| BibTex | x | ||
| @article{ 10.1109/PDP.2012.42, author = {Simone Pellegrini and Radu Prodan and Thomas Fahringer}, title = {A Lightweight C++ Interface to MPI}, journal ={16th Euromicro Conference on Parallel, Distributed and Network-Based Processing (PDP 2008)}, volume = {0}, year = {2012}, issn = {1066-6192}, pages = {3-10}, doi = {http://doi.ieeecomputersociety.org/10.1109/PDP.2012.42}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, } | |||
| RefWorks Procite/RefMan/Endnote | x | ||
| TY - CONF JO - 16th Euromicro Conference on Parallel, Distributed and Network-Based Processing (PDP 2008) TI - A Lightweight C++ Interface to MPI SN - 1066-6192 SP3 EP10 A1 - Simone Pellegrini, A1 - Radu Prodan, A1 - Thomas Fahringer, PY - 2012 KW - MPI programming interface KW - C++ KW - generic programming VL - 0 JA - 16th Euromicro Conference on Parallel, Distributed and Network-Based Processing (PDP 2008) ER - | |||
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/PDP.2012.42
The Message Passing Interface (MPI) provides bindings for the three programming languages commonly used in High Performance Computing (HPC): C, C++ and Fortran. Unfortunately, MPI supports only the lowest common denominator of the three languages, providing a level of abstraction far lower than typical C++ libraries. Lately, after the decision of the MPI committee to deprecate and remove the C++ bindings from the MPI standard, programmers are forced to use either the C API or rely on third-party libraries. In this paper we present a lightweight, header-only C++ interface to MPI which uses object oriented and generic programming concepts to improve its integration into the C++ programming language. We compare our wrapper with a related approach called Boost. MPI showing how MPP facilitates the interaction with C++ objects. Performance wise, MPP outperforms Boost. MPI by reducing the interface overhead by a factor of eight. Additionally, MPP's handling of user-defined data types allows transferring of STL containers (e.g. std::list) up to 20 times faster than Boost. MPI for small linked lists by relying on software serialization.
Index Terms:
MPI programming interface, C++, generic programming
Citation:
Simone Pellegrini, Radu Prodan, Thomas Fahringer, "A Lightweight C++ Interface to MPI," pdp, pp.3-10, 2012 20th Euromicro International Conference on Parallel, Distributed and Network-based Processing, 2012
Usage of this product signifies your acceptance of the Terms of Use.
