On May 24, 2012, at 10:57 AM CDT, Lisandro Dalcin wrote:
> On 24 May 2012 12:40, George Bosilca <bosilca_at_[hidden]> wrote:
>> I don't see much difference with the other collective. The generic behavior is that you apply the operation on the local group but the result is moved into the remote group.
> Well, for me this one DO IS different (for example, SCATTER is
> unidirectional for intercomunicators, but REDUCE_SCATTER is
> bidirectional). The "recvbuff" is a local buffer, but you understand
> "recvcounts" as remote.
> Mmm, the standard is really confusing in this point...
Don't think of it like an intercommunicator-scatter, think of it more like an intercommunicator-allreduce. The allreduce is also bidirectional. The only difference is that instead of an allreduce (logically reduce+bcast), you instead have a reduce_scatter (logically reduce+scatterv).