Difference between revisions of "Allreduce"

From Mesham
Jump to navigationJump to search
(Created page with '== 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. …')
 
Line 18: Line 18:
 
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''.
 
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 ==
 +
 +
{{ Template:ReductionOperations }}
  
 
[[Category:Type Library]]
 
[[Category:Type Library]]
 
[[Category:Composite Types]]
 
[[Category:Composite Types]]
 
[[Category:Primitive Communication Types]]
 
[[Category:Primitive Communication Types]]

Revision as of 17:30, 12 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