[ HPF Home | Versions | Compilers | Projects | Publications | Applications | Benchmarks | Events | Contact ] |
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
!HPF
INDEPENDENT
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.
©2000-2006 Rice University | [ Contact Us | HiPerSoft | Computer Science ] |