ACM Home Page
Please provide us with feedback. Feedback
Automatic array alignment in data-parallel programs
Full text PdfPdf (1.34 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Charleston, South Carolina, United States
Pages: 16 - 28  
Year of Publication: 1993
ISBN:0-89791-560-7
Authors
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 28,   Citation Count: 30
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/158511.158517
What is a DOI?

ABSTRACT

Data-parallel languages like Fortran 90 express parallelism in the form of operations on data aggregates such as arrays. Misalignment of the operands of an array operation can reduce program performance on a distributed-memory parallel machine by requiring nonlocal data accesses. Determining array alignments that reduce communication is therefore a key issue in compiling such languages. We present a framework for the automatic determination of array alignments in data-parallel languages such as Fortran 90. Our language model handles array sectioning, reductions, spreads, transpositions, and masked operations. We decompose alignment functions into three constituents: axis, stride, and offset. For each of these subproblems, we show how to solve the alignment problem for a basic block of code, possibly containing common subexpressions. Alignments are generated for all array objects in the code, both named program variables and intermediate results. The alignments obtained by our algorithms are more general than those provided by the “owner-computes” rule. Finally, we present some ideas for dealing with control flow, replication, and dynamic alignments that depend on loop induction variables.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
AMERICAN NATIONAL STANDARDS INSTITUTE. Fortran 90: X3J3 internal document $8.118 Submitted as Text /or ANSI X3.198-1991, and ISO/IEC JTC1/SC~2/WG5 internal document N692 Submitted as Text for ISO/IEC 1539:1991, May 1991.
 
3
BALA, V., AND FERRANTE, J. Explicit data placement (XDP): A methodology for explicit compile-time representation and optimization of data movement. In Proceedings o} the Second Workshop on Languages, Compilers, and Runtime Environments/or Distributed Memory Multiprocessors (Boulder, CO, Oct. 1992).
 
4
CHAPMAN, B., MEHROTRA, P., AND ZrMA, H. Programming in Vienna Fortran. Scientific Programming 1, 1 (Fall 1992), 31-50.
 
5
 
6
CHATTERJEE, S., GILBERT, J. R., SCI-tREIBER, R., AND TENG, S.-H. Optimal evaluation of array expressions on massively parallel machines. In Proceedings o} the Second Workshop on Languages, Compilers, and Runtime Environments for Distributed Memory Multi. processors (Boulder, CO, Oct. 1992). Also available as RIACS Technical Report TR 92.17.
 
7
CHEN, M. C., AND WU, J.-J. Optimizing FORTRAN- 90 programs for data motion on massively parallel systems. Tech. Rep. YALEU/DCS/TR-882, Department of Computer Science, Yale University, New Haven, CT, Jan. 1992.
 
8
 
9
Fox, G. C., HmANANDANI, S., KENNEDY, K., KOEL- BEL, C., KREMER, U., TSENG, C.-W., AND WU, M.- Y. Fortran D language specification. Tech. Rep. Rice COMP TR90-141, Department of Computer Science, Rice University, Houston, TX, Dec. 1990.
 
10
 
11
 
12
GILL, P. E., MURRAY, W., AND WRIGHT, M. H. Practical Optimization. Academic Press, Orlando, FL, 1981.
 
13
 
14
 
15
HIGH PERFORMANCE FORTRAN FORUM. High Performance Fortran language specification version 1.0. Draft, Sept. 1992.
 
16
HmANANDANI, S., KENNEDY, K., AND TSENG, C.- W. Compiler support for machine-independent parallel programming in Fortran D. Tech. Rep. Rice COMP TR90-149, Department of Computer Science, Rice University, Houston, TX, Feb. 1991.
 
17
 
18
KNOBE, K., LUKAS, J. D., AND DALLY, W. J. Dynamic alignment on distributed memory systems. In Proceedings o} the Third Workshop on Compilers }or Parallel Computers (Vienna, Austria, July 1992), Austrian Center for Parallel Computation, pp. 394-404.
 
19
 
20
 
21
 
22
 
23
MELZAK, Z. On the problem of Steiner. Canadian Mathematical Bulletin ~ (1961), !43-148.
 
24
THINKrNG MACHINES CORPORATION. CM Fortran Re}- erence Manual Versions 1.0 and 1.1. Cambridge, MA, July 1991.
 
25
 
26

CITED BY  30

Collaborative Colleagues:
Siddhartha Chatterjee: colleagues
John R. Gilbert: colleagues
Robert Schreiber: colleagues
Shang-Hua Teng: colleagues