loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
1998 International Conference on Computer Languages (ICCL'98)
Loop optimization for aggregate array computations
Chicago, IL
May 14-May 16
ISBN: 0-8186-8454-2
Yanhong A. Liu, Indiana University
Scott D. Stoller, Indiana University
An aggregate array computation is a loop that computes accumulated quantities over array elements. Such computations are common in programs that use arrays, and the array elements involved in such computations often overlap, especially across iterations of loops, resulting in significant redundancy in the overall computation. This paper presents a method and algorithms that eliminate such overlapping aggregate array redundancies and shows both analytical and experimental performance improvements. The method is based on incrementalization, \ie, updating the values of aggregate array computations from iteration to iteration rather than computing them from scratch in each iteration. This involves maintaining additional information not maintained in the original program. We reduce various analysis problems to solving inequality constraints on loop variables and array subscripts, and we apply results from work on array data dependence analysis. Incrementalizing aggregate array computations produces drastic program speedup compared to previous optimizations. Previous methods for loop optimizations of arrays do not perform incrementalization, and previous techniques for loop incrementalization do not handle arrays.
Index Terms:
loop optimization, asymptotic performance improvement, array dependence analysis, caching intermediate results, incremental computation, program transformation, aggregate computation.
Citation:
Yanhong A. Liu, Scott D. Stoller, "Loop optimization for aggregate array computations," iccl, pp.262, 1998 International Conference on Computer Languages (ICCL'98), 1998
Usage of this product signifies your acceptance of the Terms of Use.