Allreduce

From Mesham
Revision as of 17:48, 12 January 2013 by Polas (talk | contribs)
Jump to navigationJump to search

Syntax

allreduce[operation]

Semantics

Similar to the reduce type, but the reduction will be performed on each process and the result is also available to all.

Example

var x:Int::allocated[multiple[]];
var p;
par p from 0 to 3
{
   (x::allreduce["min"]):=p;
};

In this case all processes will perform the reduction on p and all processes will have the minimum value of p placed into their copy of x.

Supported operations

Operator Description
max Identify the maximum value
min Identify the minimum value
sum Sum all the values together
prod Generate product of all values