Fix: adapt to renaming of serialization::array_wrapper
Tested that both graph_parallel and MPI work fine with El Capitan and clang, thanks for the patch!
Some implementations have issues with using MPI_BOTTOM in MPI_Bcast.
If that the case we can use an alternate implementation.
There is a macro in config.hpp named BOOST_MPI_BCAST_BOTTOM_WORKS_FINE
that can be used to control that. broadcast_test.cpp print a message
that point to that macro if suspicious behavior is detected.
LAM and Bull X MPI seems to have that problem.
pfto.hpp has been removed from serialization. Although it was not used
anymore, it was still referenced in MPI.
The reason why the problem went unotced for such long time was that
there is a regular distribution of boost on a developper platform.
Shame on him.
had to be made in the MPI library (extra argument were inserted only
to help overloading resolution and had to be removed). I missed one
in heterogrneous mode. Here it is.
Fix#10444: MPI archive failure
No, I wasn't sure enough of the impact of this change to want it in 1.57. I just merged it now, we'll have 3 months to make sure it doesn't cause any problems. I apologize for the delay.
Note that in:
if (current->m_requests[0] != MPI_REQUEST_NULL &&
(current->m_requests[1] != MPI_REQUEST_NULL ||
current->m_handler)) {
if (optional<status> result = current->test())
return std::make_pair(*result, current);
}
I suspect the 3 line test should be removed and every thng handled in request::test (which is supposed to tell wheter we have a complete request).
But I have no idea why it was done like that in the first place.
Add "const" to save_override for archive::class_id_type and archive::version_type. WIthout it, they do not participate in overload resolution when called with a const argument, and the default template function is called. This leads to saving 4 bytes for archive::version_type, but only loading 1 -- all subsequent load operations are then off by 3 bytes.
Add scatterv and gatherv collective operations
Tested with clang-5.1 on Mavericks and gcc-4.8.2 on Linux. I'll make some wordsmithing, column 80, and a couple of other small changes after the commit. Thanks Julio, nice work.