ACM Home Page
Please provide us with feedback. Feedback
Array-data flow analysis and its use in array privatization
Full text PdfPdf (1.49 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: 2 - 15  
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): 6,   Downloads (12 Months): 41,   Citation Count: 45
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.158515
What is a DOI?

ABSTRACT

Data-flow analysis of scalar variables and data dependence analysis on array elements are two important program analyses used in optimizing and parallelizing compilers. Traditional data-flow analysis models accesses of array elements simply as accesses to the entire array, and is inadequate for parallelizing loops in array-based programs. On the other hand, data dependence analysis differentiates between different array elements but is flow-insensitive. This paper studies the combination of these two analyses—data-flow analyses—data-flow analysis of accesses to individual array elements. The problem of finding precise array dataflow information in the domain of loop nests where the loop bounds and array indices are affine functions of loop indices was first formulated by Feautrier. Feautrier's algorithm, based on parametric integer programming techniques, is general but inefficient. This paper presents an efficient algorithm that can find the same precise information for many of the programs found in practice. In this paper, we argue that data-flow analysis of individual array elements is necessary for effective automatic parallelization. In particular, we demonstrate the use of array data-flow analysis in an important optimization known as array privatization. By demonstrating that array data-flow analysis can be computed efficiently and by showing the importance of the optimizations enabled by the analysis, this paper suggests that array data-flow analysis may become just as important in future optimizing and parallelizing compilers as data-flow and data dependence analysis are in today's compilers.


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
R. Allen, D. Callahan, and K. Kennedy. Automatic decomposition of scientific programs for parallel execution, Technical Report Rice COMP TR86-42, Depamnent of Computer Science, Rice University, Nov 1986.
2
 
3
M. Ancourt. Generation automatique de codes de transfert pour multiprocesseurs a memoires locales. PhD thesis, University of Paris VI, March 1991.
 
4
5
6
 
7
 
8
M. Berry et al. The PERFECT Club benchmarks: effective pexformance evaluation of supcrcomputers. Technical Report UIUCSRD Rep. No. 827, University of Illinois Urbana-Champaign, 1989.
9
 
10
P. Feautrier. Parametric integer programming. Technical Report 209, Labomtoirc Mcthodologie and Architecture Des Systemes Informatiques, Jan 1988.
 
11
P. Feautrier. Dataflow analysis of army and scalar references. International Journal of Parallel Programming, 20(1):23-52, Feb 1991.
12
 
13
14
 
15
16
 
17
D. E. Maydan, j. L. Hennessy, and M. S. Lam. Effectiveness of data dependence analysis. In Proceedings of the NSF-NCRD Workshop on Advanced Compilation Techniques for Novel Architectures, 1992.
18
19
 
20
H. Ribas. Obtaining d~pcndene~ vectors for nestedloop computations. In Proceedings of 1990 international Conference on Parallel Processing, pages II-212 to II-219, 1990.
 
21
 
22
J. P. Singh and J. L. Hennessy. An empirical investigation of the effectiveness and limitations of automatic parallelization. In Proceedings of the International Symposium on Shared Memory Multiporcessing " Tokyo, Japan, pages 25-36, 1991.

CITED BY  45

Collaborative Colleagues:
Dror E. Maydan: colleagues
Saman P. Amarasinghe: colleagues
Monica S. Lam: colleagues