Generating parallel code for SIMD machines
- 1 March 1992
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Letters on Programming Languages and Systems
- Vol. 1 (1) , 59-73
- https://doi.org/10.1145/130616.130622
Abstract
Massively parallel SIMD machines rely on data parallelism usually achieved by a careful hand coding to support program efficiency. This paper describes parallelization of code generated for SIMD machines by the compiler for the Equational Programming Language, EPL. The language supports architecture-independent scientific programming by recurrent equations. The EPL compiler serves as a programming aid for users of parallel machines by automating data partitioning and computation parallelization based on inherent data dependencies. In support of a Connection Machine architecture, the EPL compiler performs horizontal partitioning of the program, a process that selects a dimension of each data structure to be projected along the processor array. Each processor then holds a single instance of that structure and operations along the projected dimension are done in parallel. The paper describes horizontal partitioning, code generation in MPL and efficiency of programs generated for Maspar SIMD machine.Keywords
This publication has 5 references indexed in Scilit:
- EPL—parallel programming with recurrent equationsPublished by Association for Computing Machinery (ACM) ,1991
- Crystal: theory and pragmatics of generating efficient parallel codePublished by Association for Computing Machinery (ACM) ,1991
- Parallel functional languages and compilersPublished by Association for Computing Machinery (ACM) ,1991
- Data optimization: Allocation of arrays to reduce communication on SIMD machinesJournal of Parallel and Distributed Computing, 1990
- Some Computer Organizations and Their EffectivenessIEEE Transactions on Computers, 1972