• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

Loop optimization for aggregate array computations

Cached

  • Download as a PDF

Download Links

  • [www.cs.sunysb.edu]
  • [www.cs.stonybrook.edu]
  • [ftp.cs.indiana.edu]
  • [ftp.cs.indiana.edu]
  • [ftp.cs.indiana.edu]
  • [www.cs.indiana.edu]
  • [www.cs.indiana.edu]
  • [www.cs.sunysb.edu]
  • [www.cs.stonybrook.edu]

  • Other Repositories/Bibliography

  • DBLP
  • Save to List
  • Add to Collection
  • Correct Errors
  • Monitor Changes
by Yanhong A. Liu , Scott D. Stoller
Citations:14 - 7 self
  • Summary
  • Active Bibliography
  • Co-citation
  • Clustered Documents
  • Version History

BibTeX

@MISC{Liu_loopoptimization,
    author = {Yanhong A. Liu and Scott D. Stoller},
    title = {Loop optimization for aggregate array computations },
    year = {}
}

Years of Citing Articles

Bookmark

citeulike Connotea Bibsonomy Del.icio.us Digg Reddit

OpenURL

 

Abstract

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 signi cant 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, i.e., 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.

Citations

1310 A Discipline of Programming - Dijkstra - 1976
533 A transformation system for developing recursive programs - Burstall, Darlington - 1977
439 The Science of Programming - Gries - 1981
406 The omega test: a fast and practical integer programming algorithm for dependence analysis - Pugh - 1991
188 Dataflow analysis of array and scalar references - Feautrier - 1991
179 A General Approach for Run-Time Specialization and its Application to C - Consel, Noel - 1996
166 Unimodular transformations of double loops - Banerjee - 1990
153 Parametric integer programming - Feautrier - 1988
148 Optimizing ML with Run-Time Code Generation - Lee, Leone - 1996
101 S.: Finite differencing of computable expressions - Paige, Koenig - 1982
96 A Catalogue of Optimizing Transformations - Allen, Cocke - 1972
92 e ective dynamic compilation - Fast - 1996
86 Dependence Analysis for Subscript Variables and its Application to Program Transformation - Allen - 1983
84 The promotion and accumulation strategies in transformational programming - Bird - 1984
83 Array dataflow analysis and its use in array privatization - Maydan, Amarasinghe, et al. - 1993
79 An exact method for analysis of value-based array data dependences - Pugh, Wonnacott - 1993
69 An Algorithm for Reduction of Operator Strength - Cocke, Kennedy - 1977
60 Safe fusion of functional expressions - Chin - 1992
48 Specializing shaders - GUENTER, KNOBLOCK, et al. - 1995
42 Data specialization - KNOBLOCK, RUF - 1996
42 Static caching for incremental computation - Liu, Stoller, et al. - 1998
41 Formal program construction by transformations---intuition-guided programming - Bauer, Moller, et al. - 1989
39 Uniform techniques for loop optimization - Pugh - 1991
39 Fortran at ten gigaflops: the connection machine convolution compiler - Bromley, Heller, et al. - 1991
38 Systematic Derivation of Incremental Programs - Liu, Teitelbaum - 1995
35 Software pipelining - Allan, Jones, et al. - 1995
29 Compilation and delayed evaluation in APL - Guibas, Wyatt - 1978
28 Practical fine-grained static slicing of optimized code - Ernst - 1994
26 Finding legal reordering transformations using mappings - Kelly, Pugh - 1994
25 Lazy array data-flow dependence analysis - Maslov - 1994
24 Finite di erencing of computable expressions - Paige, Koenig - 1982
22 Compiler Construction for Digital Computers - Gries - 1971
22 A note on the standard strategy for developing loop invariants and loops - Gries - 1982
22 Discovering auxiliary information for incremental computation - Liu, Stoller, et al. - 1996
21 High level iterators and a method for automatically designing data structure representation - Earley - 1976
20 Induction variables in very high level languages - Fong, Ullman - 1976
20 The Science ofProgramming - Gries - 1981
18 Data ow Analysis of Array and Scalar References - Feautrier - 1991
15 Principles of Distributed Systems - Garg - 1996
15 Stream processing - Goldberg, Paige - 1984
14 Specification and Transformation of Programs—a Formal Approach to Software Development - Partsch - 1990
12 Steele Jr. Fortran at ten gigaflops: The Connection Machine convolution compiler - Bromley, Heller, et al. - 1991
11 Algebraic Methods for Program Construction: the Project CIP,” in Program Transformation and Programming Environments Report on a Workshop directed by - Broy - 1984
10 Principled strength reduction - Liu - 1997
9 Array data- ow analysis and its use in array privatization - Maydan, Amarasinghe, et al. - 1993
8 Inductively computable constructs in very high level languages - Fong - 1979
7 Transformational programming---Applications to algorithms and systems - Paige - 1983
6 Serializing parallel programs by removing redundant computation - Ernst - 1992
6 Symbolic finite differencing---Part I - Paige - 1990
5 Practical ne{grained static slicing of optimised code - Ernst - 1994
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University