Scatter

From Mesham
Jump to navigationJump to search

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