[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