Difference between revisions of "Allreduce"

From Mesham
Jump to navigationJump to search
m
m
Line 21: Line 21:
  
 
{{ Template:ReductionOperations }}
 
{{ Template:ReductionOperations }}
 +
 +
''Since: Version 0.41b''
  
 
[[Category:Type Library]]
 
[[Category:Type Library]]
 
[[Category:Compound Types]]
 
[[Category:Compound Types]]
 
[[Category:Primitive Communication Types]]
 
[[Category:Primitive Communication Types]]

Revision as of 18:14, 13 January 2013

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

Since: Version 0.41b