Subject: [Boost-bugs] [Boost C++ Libraries] #5292: boost::mpi::scatterv and boost::mpi::gatherv added
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-03-11 16:04:58
#5292: boost::mpi::scatterv and boost::mpi::gatherv added
---------------------------------------------------------+------------------
Reporter: Júlio Hoffimann <julio.hoffimann@â¦> | Owner: dgregor
Type: Feature Requests | Status: new
Milestone: To Be Determined | Component: mpi
Version: Boost 1.45.0 | Severity: Not Applicable
Keywords: collective operations |
---------------------------------------------------------+------------------
Two more collective operations for Boost.MPI. I made the headers
completely based on the existent one: scatter.hpp and gather.hpp
"common use versions" was added too, for those cases where the great
buffer is stored contiguously at the root process.
The "common use version" of gatherv needs a warning in the docs: Since the
process send it's own buffer size and nothing more, all sizes will be
gathered before the real call. I don't know if this is tolerable, you have
the decision.
Other doubt about gatherv implementation: I did switch to the
packed_archive_send() / packed_archive_recv() communication, i tried to
figure out the difference in send an archive or send using
communicator::send when dealing with non-MPI types, but without success.
boost::mpi::scatter uses the first and boost::mpi::gather uses the second.
Anyway,the snippet of code is commented if you want to switch back.
I'm sending a Main.cpp file with the simple tests i made, comment or
uncomment the prototypes in pairs: scatterv / gatherv.
To see the results in a separate terminal for each process, this is a
possible way:
'''mpicxx Main.cpp -o test &&
echo 107 > input.txt &&
mpirun -np 4 xterm -e ./test'''
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/5292> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:05 UTC