On Thu, 2008-03-20 at 10:27 -0700, Dave Grote wrote:
> After reading the previous discussion on AllReduce and AlltoAll, I 
> thought I would ask my question. I have a case where I have data 
> unevenly distributed among the processes (unevenly means that the 
> processes have differing amounts of data) that I need to globally 
> redistribute, resulting in a different uneven distribution. Writing the 
> code to do the redistribution using AlltoAll is straightforward.
> 
> The problem though is that there are often special cases where each 
> process only needs to exchange data with it neighbors. So the question 
> is that when two processors don't have data to exchange, is the OpenMPI 
> AlltoAll is written in such a way so that they don't do any 
> communication? Will the AlltoAll be as efficient (or at least nearly as 
> efficient) as direct send/recv among neighbors?

AlltoAll takes a single size of message and communictes that amount of
data from everybody to everybody.  You might want to look at AlltoAllw
and AlltoAllv, neither of which I have any experience of however.

Ashley,

Reply via email to