next up previous contents
Next: Synchronization Primitives Up: HPF_CRAFT Functional Summary Previous: Array Syntax

Treatment of FORALL and WHERE Statements

The FORALL and WHERE statements are treated exactly as in HPF when data is explicitly mapped. When private data is modified, the statement is executed separately on each processor. Finally, when data in a FORALL or WHERE are mixed, the rules for array syntax apply. If any explicitly mapped data item is modified in a forall-stmt or where-stmt then arrays in the forall-header or where-header must be explicitly mapped. In a FORALL construct, if any explicitly mapped array is modified, all modified arrays must be explicitly mapped. There is an implicit barrier synchronization after FORALL and WHERE statements if any arrays in the forall-header or where-header are explicitly mapped.