A data partitioning algorithm for distributed memory compilation
This paper proposes a compiler strategy for mapping FORTRAN programs onto distributed memory computers. Once the available parallelism has been identified, the minimisation of different costs will suggest different data and computation partitions. This is further complicated, as the effectiveness of the partition will depend on later compiler optimisations. For this reason, partitioning is at the crux point of compilation and this paper describes an automatic data partition algorithm which is based on the analysis of four distinct factors. By determining the relative merit of each form of analysis, a data partitioning decision is made which is part of an overall compilation strategy. The strategy is applied to a real non-trivial program on a 32 cell KSR-1 where the performance is comparable to that of hand-coded techniques.
Key wordsParallelism Data Partitioning Compilation KSR-1
Unable to display preview. Download preview PDF.
- 1.Gupta M., “Automatic Data Partitioning on Distributed Memory Multicomputers”, University of Illinois at Urbana-Champaign, Centre for Reliable and High Performance Computing, UILU-ENG-92-2237,CRHC-92-19, September 1992.Google Scholar
- 2.Li J. and Chen M., “Index Domain Alignment: Minimising Cost of Cross-Referencing between Distributed Arrays”, IEEE Proceedings of the Third Symposium on the Frontiers of Massively Parallel Computation, October 1990.Google Scholar
- 3.O'Boyle M.F.P. and Hedayat G.A., “Data Alignment: Transformations to Reduce Communication on Distributed Memory Architectures”, Scalable High Performance Computing Conference, Williamsburg, April 1992.Google Scholar
- 4.O'Boyle M.F.P., “A Data Partitioning Algorithm for Distributed Memory Compilation”, University of Manchester,T.R. UMCS-93-7-1, 1993Google Scholar
- 5.Wholey S., “Automatic Data Mapping for Distributed-Memory Parallel Computers”, International Conference on Supercomputing, ACM Press, July 1992.Google Scholar
- 6.Watts T.M., Soffa M.L. and Gupta R., “Techniques for Integrating Parallelizing Transformations and Compiler-Based Scheduling Methods”, Supercomputing '92, November 1992.Google Scholar