On May 24, 2012, at 10:57 AM CDT, Lisandro Dalcin wrote:

> On 24 May 2012 12:40, George Bosilca <bosi...@eecs.utk.edu> 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).

-Dave


Reply via email to