Difference between revisions of "Proc"

From Mesham
Jump to navigationJump to search
m (9 revisions imported)
 
(7 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
proc n<br>
 
proc n<br>
 
{<br>
 
{<br>
  process body<br>
+
process body<br>
 
}
 
}
  
Line 16: Line 16:
  
 
  #include <io>
 
  #include <io>
  proc 0 {
+
  function void main() {
    print("Hello from 0\n");
+
    proc 0 {
};
+
      print("Hello from 0\n");
 
+
    };
proc 1 {
+
    print("hello from 1\n");
+
    proc 1 {
 +
      print("hello from 1\n");
 +
    };
 
  };
 
  };
  
 
The code example will run on two processes, the first will display the message ''Hello from 0'', whilst the second will output the message ''hello from 1''.
 
The code example will run on two processes, the first will display the message ''Hello from 0'', whilst the second will output the message ''hello from 1''.
  
 +
''Since: Version 0.41b''
 
[[Category:Parallel]]
 
[[Category:Parallel]]

Latest revision as of 15:44, 15 April 2019

Syntax

proc n
{
process body
}

where n is a variable or value known at compile time.

Semantics

This will limit execution of a block to a certain process whose rank is guaranteed to be that specified.

Note: A variable declared within a proc block and allocated multiple will in fact, by inference, be allocated to the group of processes which contains a single process who's rank is the same as the proc block's.

Example

#include <io>
function void main() {
   proc 0 {
      print("Hello from 0\n");
   };

   proc 1 {
      print("hello from 1\n");
   };
};

The code example will run on two processes, the first will display the message Hello from 0, whilst the second will output the message hello from 1.

Since: Version 0.41b