!HPF$ INDEPENDENT [ ,NEW (variable-list) ]
|
INDEPENDENT asserts that no iteration affects any other in any way
|
It implements the "embarassingly parallel" problem class we discussed under structure of problems
|
Note rest of HPF tackles mainly the synchronous problem class with some loosely synchronous capability
-
HPF2 has "tasking" for metaproblem class and some extensions for further irregular loosely synchronous problems
|
NEW variables are defined to have fresh instantiations for each iteration as is typically needed for embarassingly parallel problems where in fact essentially all variables in a loop would be NEW
|
Note INDEPENDENT can be applied to FORALL and asserts that no index point assigns to any location that another iteration index value uses
-
This reduces copying needed in FORALL by COMPILER
|
HPF2 (see later) has extra feature of allowing REDUCTION (accumulated) variables in INDEPENDENT DO loops
|