[Boost-bugs] [Boost C++ Libraries] #5292: boost::mpi::scatterv and boost::mpi::gatherv added

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