The Message Passing Interface (MPI) is the de 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 as containers and iterators, 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. © Springer-Verlag Berlin Heidelberg 2006.
CITATION STYLE
Kambadur, P., Gregor, D., Lumsdaine, A., & Dharurkar, A. (2006). Modernizing the C++ interface to MPI. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 4192 LNCS, pp. 266–274). Springer Verlag. https://doi.org/10.1007/11846802_39
Mendeley helps you to discover research relevant for your work.