Difference between revisions of "Scatter"
From Mesham
Jump to navigationJump to searchm |
m (4 revisions imported) |
||
(One intermediate revision by the same user not shown) | |||
Line 9: | Line 9: | ||
== Example == | == Example == | ||
− | var x:array[Int,3]::allocated[multiple[]]; | + | function void main() { |
− | + | var x:array[Int,3]::allocated[multiple[]]; | |
− | + | var r:array[Int,12]::allocated[multiple[]]; | |
− | + | var p; | |
− | + | par p from 0 to 3 { | |
− | + | x:(x::scatter[3,1]); | |
− | + | x:=r; | |
+ | }; | ||
}; | }; | ||
Latest revision as of 15:44, 15 April 2019
Syntax
scatter[elements,root]
Semantics
Will send a number of elements (equal to elements) from the root process to all other processes.
Example
function void main() { var x:array[Int,3]::allocated[multiple[]]; var r:array[Int,12]::allocated[multiple[]]; var p; par p from 0 to 3 { x:(x::scatter[3,1]); x:=r; }; };
In this example, three elements of array r, on process 1, are scattered to each other process and placed in their copy of r.
Since: Version 0.41b