Difference between revisions of "Allreduce"
From Mesham
Jump to navigationJump to searchm |
|||
Line 23: | Line 23: | ||
[[Category:Type Library]] | [[Category:Type Library]] | ||
− | [[Category: | + | [[Category:Compound Types]] |
[[Category:Primitive Communication Types]] | [[Category:Primitive Communication Types]] |
Revision as of 17:48, 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 |