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