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 as , has 1 root processor. sec reduces bs , 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