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