You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Because MPI reductions require user-defined reductions with user-defined datatypes (unlike RMA), it is difficult albeit not impossible to write large-count reductions using user-defined datatypes. However, because user-defined reductions provide no support for MPI_IN_PLACE, this is unsolvable except in a pipelined implementation.
MPI_Reduce_scatter_x is unsolvable in MPI-3, short of using MPI_Reduce and MPI_Alltoallw. The latter solution is inefficient, as discussed in #2.
In order to support user-defined reductions, a new function signature for the reduction operator. While we are changing it anyways, we add a second datatype argument, to address the issues brought up in Trac ticket #339.
Motivation
Because MPI reductions require user-defined reductions with user-defined datatypes (unlike RMA), it is difficult albeit not impossible to write large-count reductions using user-defined datatypes. However, because user-defined reductions provide no support for
MPI_IN_PLACE
, this is unsolvable except in a pipelined implementation.MPI_Reduce_scatter_x
is unsolvable in MPI-3, short of usingMPI_Reduce
andMPI_Alltoallw
. The latter solution is inefficient, as discussed in #2.Function Definitions
In order to support user-defined reductions, a new function signature for the reduction operator. While we are changing it anyways, we add a second datatype argument, to address the issues brought up in Trac ticket #339.
Implementation
BigMPI already implements
reduce
,allreduce
andreduce_scatter_block
(see reductions_x.c). Thereduce_scatter
functions will be implemented soon.The text was updated successfully, but these errors were encountered: