[Boost-bugs] [Boost C++ Libraries] #6704: Boost version of mpi_in_place

Subject: [Boost-bugs] [Boost C++ Libraries] #6704: Boost version of mpi_in_place
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-03-19 10:33:21


#6704: Boost version of mpi_in_place
----------------------------------------------------+-----------------------
 Reporter: Alain Miniussi <alain.miniussi@…> | Owner: dgregor
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: mpi
  Version: Boost 1.48.0 | Severity: Problem
 Keywords: |
----------------------------------------------------+-----------------------
 In some mpi collective operations, like [http://www.open-
 mpi.org/doc/v1.4/man3/MPI_Allreduce.3.php all_reduce], that have an input
 and output bufer of the same size, it is possible to specify the same
 buffer for both input and output by using the MPI_IN_PLACE constant as a
 sendbuffer (see above link).

 That feature does not seems to be supported through boost::mpi.

 This can be illustrated through the attached program:
 {{{
 alainm_at_vai:~/code/boost/mpibug$ mpiexec -np 2 ./a.out
 This is P0 good
 This is P1 good
 alainm_at_vai:~/code/boost/mpibug$
 }}}

 {{{
 alainm_at_vai:~/code/boost/mpibug$ mpiexec -np 2 ./a.out bug
 terminate called after throwing an instance of
 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::mpi::exception>
>'
   what(): MPI_Allreduce: MPI_ERR_BUFFER: invalid buffer pointer
 [vai:03464] *** Process received signal ***
 terminate called after throwing an instance of
 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::mpi::exception>
>'
   what(): MPI_Allreduce: MPI_ERR_BUFFER: invalid buffer pointer
 [vai:03465] *** Process received signal ***
 [vai:03465] Signal: Aborted (6)
 [vai:03465] Signal code: (-6)
 [vai:03464] Signal: Aborted (6)
 [vai:03464] Signal code: (-6)
 [vai:03465] [ 0] [0x4002040c]
 [vai:03465] *** End of error message ***
 [vai:03464] [ 0] [0x4002040c]
 [vai:03464] *** End of error message ***
 --------------------------------------------------------------------------
 mpiexec noticed that process rank 1 with PID 3465 on node vai exited on
 signal 6 (Aborted).
 --------------------------------------------------------------------------
 2 total processes killed (some possibly by mpiexec during cleanup)
 alainm_at_vai:~/code/boost/mpibug$
 }}}

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/6704>
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:09 UTC