** Next:** What Does ``No **Up:** High Performance Fortran Journal ** Previous:** Generalized Data References

We propose that two new directives be added for use within the FORALL
construct.
!HPFEND INDEPENDENT
The two directives must be used in pair. A sub-block of statements
parenthesized in the two directives is called an *asynchronous*
sub-block or *independent* sub-block. The statements that are not
in an asynchronous sub-block are in *synchronized* sub-blocks or
*non-independent* sub-block. The synchronized sub-block is the
same as the HPF FORALL construct, and the asynchronous sub-block is the
same as the FORALL with the INDEPENDENT directive. Thus, the block
FORALL

FORALL (e) b1 !HPFEND INDEPENDENT b3 END FORALL means the same as FORALL (e) b1 END FORALL !HPFINDEPENDENT FORALL (e) b2 END FORALL FORALL (e) b3 END FORALL The INDEPENDENT directive indicates to the compiler there is no dependence and consequently, synchronizations are not necessary. It is users' responsibility to ensure there is no dependence between instances in an asynchronous sub-block.

Thu May 5 15:11:02 CDT 1994