[MPICH] Implementation of MPI_Alltoallw
Rajeev Thakur
thakur at mcs.anl.gov
Mon Sep 26 12:57:37 CDT 2005
Sudarshan,
It's not clear what is a good algorithm for alltoallw because the
communication pattern can be quite irregular and processes don't know
everyone else's communication pattern (that would require additional
communication). Therefore, we just post isends/irecvs and let the system
handle it. We do scatter the ranks, so that not everyone tries to
communicate to rank 0 first.
A good algorithm for alltoallw would be a research topic for someone to
pursue (although not an easy one).
Rajeev
> -----Original Message-----
> From: owner-mpich-discuss at mcs.anl.gov
> [mailto:owner-mpich-discuss at mcs.anl.gov] On Behalf Of
> Sudarshan Raghunathan
> Sent: Monday, September 26, 2005 12:42 PM
> To: mpich-discuss at mcs.anl.gov
> Subject: [MPICH] Implementation of MPI_Alltoallw
>
> Hi,
>
> There seem to be two ways of implementing MPI_Alltoallw: (A) using
> non-blocking sends and receives and then performing a synchronization
> step and (B) using a N pair-wise exchanges (i.e., using
> MPI_SendRecv's). Is it always true that (A) results in better
> performance than (B) or are there cases where a naive pairwise
> exchange would win?
>
> I'm a bit confused because MPICH seems to be using (A)
> whereas LAM uses (B).
>
> Thank you in advance,
> Sudarshan
>
>
More information about the mpich-discuss
mailing list