The connection machine
The C programming language
Data optimization: allocation of arrays to reduce communication on SIMD machines
Journal of Parallel and Distributed Computing - Massively parallel computation
Parallel functional languages and compilers
Parallel functional languages and compilers
EPL—parallel programming with recurrent equations
Parallel functional languages and compilers
Crystal: theory and pragmatics of generating efficient parallel code
Parallel functional languages and compilers
Scheduling EPL programs for parallel processing
Languages, compilers and run-time environments for distributed memory machines
On the relation between functional and data parallel programming languages
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Compiler technology for parallel scientific computation
Scientific Programming
Hi-index | 0.00 |
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.