Difference between revisions of "Eageronesided"

From Mesham
Jump to navigationJump to search
(Created page with '== Syntax == eageronesided[a,b] == Syntax == eageronesided[] == Semantics == Identical to the Onesided type, but will perform onesided communication rather than p2p. Thi…')
 
m (1 revision imported)
 
(No difference)

Latest revision as of 15:45, 15 April 2019

Syntax

eageronesided[a,b]

Syntax

eageronesided[]

Semantics

Identical to the Onesided type, but will perform onesided communication rather than p2p. This form of one sided communication is similar to normal one sided communication but remote memory access happens immediately and is not linked to the synchronisation keyword. By virtue of the fact that RMA access happens immediately means this form of communication is potentially less performant than normal one sided.

Example

function void main() {
   var i:Int::eageronesided::allocated[single[on[2]]];
   proc 0 {i:=34;};
};

In the above code example variable i is declared to be an Integer using eager onesided communication on process two only. In line two an assignment occurs on process zero which will write the value, from process zero into the memory held by process two immediately and that value is now available after that line to every other process.

Since: Version 1.0