Compiling functional languages for SIMD architectures

A major impediment to the wider proliferation of Single-Instruction, Multiple Datastream (SIMD) (3) architectures rests in the unsuitability of sequential, scalar, languages for programming data-parallel systems. Existing languages lack sufficient expressive power to describe data-parallel computation. A functional language, extended with data-parallel primitives, provides a powerful abstraction of the capabilities of SIMD architectures. Such a language conveys the following benefits: greater expressive power, a rich set of data-types, transparent access to data-parallelism, amenability to program transformation and consistency with the functional style. A compilation strategy onto an abstract SIMD architecture is presented.<<ETX>>

[1]  W. Daniel Hillis,et al.  The connection machine: A computer architecture based on cellular automata , 1984 .

[2]  Guido Karel Jouret Exploiting data-parallelism in functional languages , 1991 .

[3]  Michael J. Flynn,et al.  Some Computer Organizations and Their Effectiveness , 1972, IEEE Transactions on Computers.

[4]  Gary Sabot The paralation model - architecture-independent parallel programming , 1988 .

[5]  David A. Padua,et al.  Execution of Parallel Loops on Parallel Processor Systems , 1986, ICPP.

[6]  Tom Blank,et al.  The MasPar MP-1 architecture , 1990, Digest of Papers Compcon Spring '90. Thirty-Fifth IEEE Computer Society International Conference on Intellectual Leverage.

[7]  Leslie Lamport,et al.  The parallel execution of DO loops , 1974, CACM.

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