Difference between revisions of "Sync"

From Mesham
Jump to navigationJump to search
m
Line 7: Line 7:
 
== Semantics ==
 
== Semantics ==
  
Will synchronise processes and acts as a blocking call involving all processes. This keyword is linked with default shared memory communication and other types. Omitting the variable name will result in synchronisation for all appropriate constructs. This can be thought of as a barrier, and the value of a variable can only be guaranteed after the appropriate barrier has completed.  
+
Will complete asynchronous communications and can act as a barrier involving all processes. This keyword is linked with default shared memory (RMA) communication and specific types such as the async communication type. If the programmer specifies an explicit variable name then this synchronisation will just occur for that variable, completing all outstanding communications for that specific variable only (without any global barrier.) In the absence of a variable then synchronisation (completing outstanding communications) shall occur for all variables followed by a global barrier. When asynchronous communication (via default shared memory RMA or explicit types) is involved, the value of the variables can only be guaranteed once a corresponding synchronisation (either with that variable or global, without any variable) has completed.
  
 
''Since: Version 0.5''
 
''Since: Version 0.5''
  
 
[[Category:Parallel]]
 
[[Category:Parallel]]

Revision as of 13:10, 19 October 2016

Syntax

sync name;

Where the optional name is a variable.

Semantics

Will complete asynchronous communications and can act as a barrier involving all processes. This keyword is linked with default shared memory (RMA) communication and specific types such as the async communication type. If the programmer specifies an explicit variable name then this synchronisation will just occur for that variable, completing all outstanding communications for that specific variable only (without any global barrier.) In the absence of a variable then synchronisation (completing outstanding communications) shall occur for all variables followed by a global barrier. When asynchronous communication (via default shared memory RMA or explicit types) is involved, the value of the variables can only be guaranteed once a corresponding synchronisation (either with that variable or global, without any variable) has completed.

Since: Version 0.5