The array constructs of Fortran 90 (formerly called Fortran 8x) map naturally onto SIMD architectures, such as that of the Connection Machine computer system, that support a data parallel programming style. 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 naturally extended to handle the Forall statement. We describe the data structures and algorithms used to effect this extension and present some examples of source code fragments and the target operations generated for them.
Read full abstract