What is the purpose of using the Boost.MPI library? Does it increase performance? And what is the difference between it and the MPICH library?
-
1Increase the performance of what? – R. Martinho Fernandes Mar 24 '12 at 10:19
-
For example communication or memory – peaceman Mar 24 '12 at 10:20
-
1@ehsan: It would really be cool if some library could increase the performance of my memory... – PlasmaHH May 04 '12 at 12:21
-
@PlasmaHH The library can not increase the performance of memory, but it may be can help you to use the entire of potential of system that you have. – peaceman May 05 '12 at 08:27
3 Answers
Boost.MPI provides
an alternative C++ interface to MPI that better supports modern C++ development styles, including complete support for user-defined data types and C++ Standard Library types, arbitrary function objects for collective algorithms, and the use of modern C++ library techniques.
It intends
to maintain maximal efficiency
but not to actually improve the performance of MPI; it can't, because it's still tied to existing MPI implementations (though it may implement some high-level patterns in a more efficient way than you would write them, depending on how much of an MPI expert you are). It's mainly more convenient than the regular C API.

- 355,277
- 75
- 744
- 836
It is basically a "modern" c++ interface to the same old C API that is implemented in, say MPICH. Since it is using the same functions it cannot lead to any performance improvement but might help with the actual implementation by making it easier.

- 6,893
- 8
- 36
- 47
The C++ bindings in MPI deprecated since version 2.2: http://www.mpi-forum.org/docs/mpi22-report/node328.htm
Boost.MPI based on C MPI API, so it is good decision for those who want C++ API: https://github.com/mpi-forum/mpi-forum-historic/issues/150

- 5,374
- 3
- 28
- 45

- 53
- 4
-
... if they're happy with the subset of MPI functionality that Boost.MPI actually supports. See http://lists.mpi-forum.org/mpi-forum/2011/12/1396.php and http://www.boost.org/doc/libs/1_48_0/doc/html/mpi/tutorial.html#mpi.c_mapping – mabraham May 28 '14 at 22:58
-
The link above is broken but that post (which I discovered in the course of finding it that I wrote) can be found here: https://lists.mpi-forum.org/pipermail/mpi-forum/2011-December/001396.html – Jeff Hammond Jan 28 '18 at 06:39