The thing I dislike most about MPI is dealing with datatypes (i.e. data maps/masks) because they don't fit that nicely with object oriented C++.
boost::mpi only supports MPI 1.1, however, from their website:
boost::mpi is a C++ friendly interface to the standard Message Passing Interface… Boost.MPI can build MPI data types for user-defined types using the Boost.Serialization library
Has anyone had any experience with
boost::mpi for serious scientific computing? Would you recommend it? Did you had any issues (scaling problems, compiler problems, errors, not implemented features, the need for some mpi 2.2 features)?
Can you comment on using
boost::mpi instead of using the MPI C implementation from C++? Can you combine both (use boost::mpi when you can, C-MPI elsewhere)?
Do you know of any large scientific code using