id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 6704,Boost version of mpi_in_place,Alain Miniussi ,Matthias Troyer,"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@vai:~/code/boost/mpibug$ mpiexec -np 2 ./a.out This is P0 good This is P1 good alainm@vai:~/code/boost/mpibug$ }}} {{{ alainm@vai:~/code/boost/mpibug$ mpiexec -np 2 ./a.out bug terminate called after throwing an instance of 'boost::exception_detail::clone_impl >' 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 >' 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@vai:~/code/boost/mpibug$ }}} ",Bugs,new,To Be Determined,mpi,Boost 1.48.0,Problem,,,