Home

About

Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network
FAQHELPSITE MAPCONTACT US


  Advanced Search  

 
Data Dependence and DataFlow Analysis of Arrays Dror E. Maydan, Saman P. Amarasinghe and Monica S. Lam
 

Summary: Data Dependence and Data­Flow Analysis of Arrays
Dror E. Maydan, Saman P. Amarasinghe and Monica S. Lam
Computer Systems Laboratory
Stanford University, CA 94305
1 Introduction
The power of any compiler is derived from, and also limited by, its program analyzers. Finding the right abstraction
for program analysis is crucial in the development of compiler technology. For the abstraction to be useful, it
must include sufficient information to support the code optimizations and transformations. In addition, it must
be tractable to extract the information from at least a large enough set of programs. Data dependence, distance
vectors and direction vectors are important data abstractions that have been proven useful for parallelization and
loop transformations, and they are applicable to a large set of programs.
The parallelizing compiler research frontier is currently pushing the limits of traditional data dependence analysis.
For example, evaluation of today's compiler technology suggests that reuse of data arrays in programs greatly
reduces the opportunities for parallelism. Many more loops can be parallelized by privatizing the work arrays,
that is, assigning a separate copy of the array to each processor. The information needed to support such an
optimization is not just memory disambiguation, that is, if two references can refer to the same location. To
determine if each iteration can have its own copy of the array, we need data­flow analysis on individual array
elements. Another important research topic is code generation for distributed memory machines. The compiler is
responsible for maintaining the coherence of data across processors. Generating efficient distributed memory code
requires exact data­flow relationships between accesses to individual array locations. This paper proposes several

  

Source: Amarasinghe, Saman - Computer Science and Artificial Intelligence Laboratory & Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology (MIT)

 

Collections: Computer Technologies and Information Sciences