next up previous contents
Next: Fortran 90 array processing Up: The Development of Data-Parallel Previous: ICL DAP Fortran   Contents

Connection Machine Fortran

Connection Machine Fortran was a later SIMD language that strongly influenced High Performance Fortran. We will discuss it in some detail.

Thinking Machines Corporation was founded in 1983. The original intention was to supply connectionist machines to support artificial intelligence and symbolic computing. As it turned out their Connection Machine series of massively parallel computers was mainly exploited for more traditional scientific computation.

The CM-2 launched in 1986 was another SIMD architecture. Like the DAP, the physical PE was bit-serial. Physically it differed from the DAP in being constructed out of a set of processing nodes connected through a hypercube network. Each processing node contained 32 bit-serial PEs, and an optional floating point coprocessor. The largest CM-2 had 65536 PEs, and a peak performance of 28 GFLOPS4.

Initially the Connection Machines were programmed in a parallel dialect of LISP called *LISP. This reflected the AI target market. Eventually a Fortran compiler became available [13]. By this time the Fortran5 90 standard was in preparation, so the syntax of CM Fortran was strongly influenced by Fortran 90.

Connection Machine Fortran included all of FORTRAN 77, together with the new array syntax of Fortran 906. It added various machine specific features, but unlike CFD or DAP FORTRAN these appeared as compiler directives rather than special syntax in Fortran declarations or executable statements. A major improvement over the languages described in the previous section was that distributed array dimensions were no longer constrained to exactly fit in the size of the PE array; the compiler could transparently map dimensions of arbitrary extent across the available processor grid dimensions. Finally the language added an explicitly parallel looping construct called FORALL7. Before describing the novel features of CM Fortran in more detail, we will review some of the relevant features of Fortran 90.



Subsections
next up previous contents
Next: Fortran 90 array processing Up: The Development of Data-Parallel Previous: ICL DAP Fortran   Contents
Bryan Carpenter 2002-07-12