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


FORALL with INDEPENDENT Directives

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.


paula@erc.msstate.edu
Thu May 5 15:11:02 CDT 1994