mpi - Equivalent to MPI_Reduce_scatter but scattering among a subset of processors -
mpi - Equivalent to MPI_Reduce_scatter but scattering among a subset of processors -
is there mpi function equivalent mpi_reduce_scatter
performs scattering among subset of processors? in case there no such function, efficient sequence of mpi calls?
for clarity, suppose cut down operation sum.
proc sendbuf 1 a1 | b1 2 a2 | b2 3 a3 | b3 4 a4 | b4
i want get
proc recvbuf 1 2 b 3 4
where a = a1 + a2 + a3 + a4
, b = b1 + b2 + b3 + b4
.
mpi_reduce
. first reduces a
s , has 1 root processor. sec reduces b
s , has 2 root processor. however, becomes heavy when there many "letters" (and many processors). mpi_reduce_scatter , set recv_count[proc]
different 0 if proc
belongs subset of processors. however, when scattering message there n_proc
square handshakes (most of them useless beacuse no message sent).
i agree 2 mpi_reduce
calls you're going if want mpi reduction (which @ scale).
mpi
Comments
Post a Comment