Efficient Compilation of Array Statements for Private Memory Multicomputers
Abstract
One of the core constructs of High Performance Fortran (HPF) is the array-slice assignment statement. combined with the rich choice of data distribution options available to the programmer. On a private memory multicomputer, the HPF compiler writer faces the difficult task of automatically generating the necessary communication for assignment statements involving arrays with arbitrary block-cyclic data distributions. In this paper we present a framework for representing array slices and block-cyclic distributions, and we derive efficient algorithms for sending and receiving the necessary data for array-slice assignment statements. The algorithms include a memory-efficient method of managing the layout of the distributed arrays in each processor's local memory. We also provide a means of converting the user's TEMPLATE, ALIGN, and DISTRIBUTE statements into a convenient array ownership descriptor. In addition, we present several optimizations for common distributions and easily- recognized communication patterns. The work presented makes minimal assumptions regarding the processor architecture, the communication architecture, or the underlying language being compiled.
Document Details
- Document Type
- Technical Report
- Publication Date
- Feb 01, 1993
- Accession Number
- ADA266595
Entities
People
- James M. Stichnoth
Organizations
- Carnegie Mellon University