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 |