Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the purpose of using the Boost.MPI library?

Tags:

c++

boost

mpi

mpich

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?

like image 211
peaceman Avatar asked Mar 24 '12 10:03

peaceman


2 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.

like image 98
Fred Foo Avatar answered Sep 28 '22 06:09

Fred Foo


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.

like image 38
mmirzadeh Avatar answered Sep 28 '22 05:09

mmirzadeh