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.
- 1 CHEN, M., CHOO, Y., AND LI, J. Crystal: theory and pragmatics of generating efficient parallel code. In Parallel Functional Languages and Compilers. ACM Press, New York, 1991, pp. 255-308. Google Scholar
Digital Library
- 2 FLYNN, M. Some computer organizations and their effectiveness IEEE Trans. Comput. C-21, 9 (Sept. 1972), 948-960.Google Scholar
Digital Library
- 3 HILLIS, D. The Connection Machine. MIT Press, Cambridge, Mass., 1985. Google Scholar
Digital Library
- 4 KERNIGHAN, B., AND RITCHIE, D. The C Programming Language. Addison Wesley, Reading, Mass., 1980. Google Scholar
Digital Library
- 5 KNOBE, K., LUCAS, J., AND STEELE, G. Data optimization: allocation of arrays to reduce communication on SIMD machines. J. Parallel Distrib. Comput. 8, 2 (Feb. 1990), 102-118. Google Scholar
Digital Library
- 6 MASPAR COMPUTER CORPORATION. The MasPar Parallel Applicahon Language (MPL) Reference Manual. MasPar Computer Corporation. Sunnyvale, Calif., 1990.Google Scholar
- 7 MCKENNEY, B. An EPL scheduler for the Connection Machine. Master's thesis. Dept. of Computer Science, Rensselaer Polytechnic Institute, 1990.Google Scholar
- 8 SINHAROY, B., MCKENNEY, B., AND SZYMANSKI, B.K. Scheduling EPL programs for parallel processing. In Languages, Compilers, and Run-time Environments for D~stributed-Memory Machines, Mehrotra, P., and Saltz, J., Eds., Elsevier North Holland, New York, 1991. Google Scholar
Digital Library
- 9 SINHAROY, B., AND SZYMANSKI, B. K. Data alignment in SIMD machines. Submitted to IEEE Trans. Parallel Distrib. Program. Also Tech. Rep. 91-9, Rensselaer Polytechnic Institute. Dept. of Computer Science, 1991.Google Scholar
- 10 SZYMANSKI, S.K. EPL--parallel programming with recurrent equations. In Parallel Functional Languages and Compilers. ACM Press, New York, 1991, pp. 51-104. Google Scholar
Digital Library
- 11 SZYMANSKI, B. K., Ed. Parallel Functional Languages and Compilers. ACM Press, New York, 1991. Google Scholar
Digital Library
- 12 THINKING MACHINES CORPORATION. The C* Reference Manual. Thinking Machines Corporation. Cambridge, Mass., 1989.Google Scholar
Index Terms
Generating parallel code for SIMD machines
Recommendations
Benchmark Evaluation of the IBM SP2 for Parallel Signal Processing
This paper evaluates the IBM SP2 architecture, the AIX parallel programming environment, and the IBM message-passing library (MPL) through STAP (Space-Time Adaptive Processing) benchmark experiments. Only coarse-grain parallelism was exploited on the ...
A Framework for Generating Task Parallel Programs
FRONTIERS '99: Proceedings of the The 7th Symposium on the Frontiers of Massively Parallel ComputationWe consider the generation of mixed task and data parallel programs and discuss how a clear separation into a task and data parallel level can support the development of efficient programs.The program development starts with a specification of the ...
Pipelined Data Parallel Algorithms-I: Concept and Modeling
The basic concept of pipelined data-parallel algorithms is introduced by contrasting the algorithms with other styles of computation and by a simple example (a pipeline image distance transformation algorithm). Pipelined data-parallel algorithms are a ...








Comments