On May 24, 2012, at 8:13 PM CDT, Jeff Squyres wrote:

> On May 24, 2012, at 11:57 AM, Lisandro Dalcin wrote:
> 
>> The standard says this:
>> 
>> "Within each group, all processes provide the same recvcounts
>> argument, and provide input vectors of  sum_i^n recvcounts[i] elements
>> stored in the send buffers, where n is the size of the group"
>> 
>> So, I read " Within each group, ... where n is the size of the group"
>> as being the LOCAL group size.
> 
> Actually, that seems like a direct contradiction with the prior sentence: 
> 
> If comm is an intercommunicator, then the result of the reduction of the data 
> provided by processes in one group (group A) is scattered among processes in 
> the other group (group B), and vice versa.
> 
> It looks like the implementors of 2 implementations agree that recvcounts 
> should be the size of the remote group.  Sounds like this needs to be brought 
> up in front of the Forum...

So I take back my prior "right".  Upon further inspection of the text and the 
MPICH2 code I believe it to be true that the number of the elements in the 
recvcounts array must be equal to the size of the LOCAL group.

The text certainly could use a bit of clarification.  I'll bring it up at the 
meeting next week.

-Dave


Reply via email to