Difference between revisions of "Reduce"
From Mesham
Jump to navigationJump to searchLine 6: | Line 6: | ||
All processes in the group will combine their values together at the root process and then the operation will be performed on them. | All processes in the group will combine their values together at the root process and then the operation will be performed on them. | ||
− | |||
− | |||
− | |||
− | |||
== Example == | == Example == | ||
Line 24: | Line 20: | ||
In this example, ''x'' is to be reduced, with the root as process 1 and the operation will be to find the maximum number. In the first assignment ''x:=p'' all processes will combine their values of ''p'' and the maximum will be placed into process 1's ''x''. In the second assignment ''t:=x'' processes will combine their values of ''x'' and the maximum will be placed into process 1's ''t''. | In this example, ''x'' is to be reduced, with the root as process 1 and the operation will be to find the maximum number. In the first assignment ''x:=p'' all processes will combine their values of ''p'' and the maximum will be placed into process 1's ''x''. In the second assignment ''t:=x'' processes will combine their values of ''x'' and the maximum will be placed into process 1's ''t''. | ||
+ | == 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:27, 12 January 2013
Syntax
reduce[root,operation]
Semantics
All processes in the group will combine their values together at the root process and then the operation will be performed on them.
Example
var t:Int::allocated[multiple[]]; var x:Int::allocated[multiple[]]; var p; par p from 0 to 3 { x:(x::reduce[1,"max"]; x:=p; t:=x; };
In this example, x is to be reduced, with the root as process 1 and the operation will be to find the maximum number. In the first assignment x:=p all processes will combine their values of p and the maximum will be placed into process 1's x. In the second assignment t:=x processes will combine their values of x and the maximum will be placed into process 1's t.
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 |