Data parallel computers and the FORALL statement

The array constructs of Fortran 90 (formerly called Fortran 8*) map naturally onto SIMD (single-instruction-stream, multiple-data-stream) architectures that support a data parallel programming style, such as that of the Connection Machine computer system. The FORALL statement, an extension to Fortran 90 allowing for the expression of simultaneous execution of certain DO loop bodies, enhances this natural fit. A Fortran 90 compiler for data parallel machines is extended naturally to handle the FORALL statement. The data structures and algorithms used to effect this extension are described, and some examples of source code fragments and the target operations generated for them are presented.<<ETX>>

[1]  Guy L. Steele,et al.  Massively parallel data optimization , 1988, Proceedings., 2nd Symposium on the Frontiers of Massively Parallel Computation.

[2]  Robert E. Millstein,et al.  Control structures in Illiac IV Fortran , 1973, CACM.

[3]  W. Daniel Hillis,et al.  The connection machine , 1985 .

[4]  Guy L. Steele,et al.  Compiling Fortran 8x array features for the connection machine computer system , 1988, PPoPP 1988.

[5]  Michael Metcalf,et al.  Fortran 8X Explained , 1987 .

[6]  Guy L. Steele,et al.  Data Optimization: Allocation of Arrays to Reduce Communication on SIMD Machines , 1990, J. Parallel Distributed Comput..