Journal Article10.1145/1053468.1053471
Optimizing aggregate array computations in loops
TL;DR: The method is based on incrementalization, that is, updating the values of aggregate array computations from iteration to iteration rather than computing them from scratch in each iteration, which produces drastic speedup compared to previous optimizations.
read more
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 significant redundancy in the overall computations. This article presents a method and algorithms that eliminate such overlapping aggregate array redundancies and shows analytical and experimental performance improvements. The method is based on incrementalization, that is, updating the values of aggregate array computations from iteration to iteration rather than computing them from scratch in each iteration. This involves maintaining additional values 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. For aggregate array computations that have significant redundancy, incrementalization produces drastic speedup compared to previous optimizations; when there is little redundancy, the benefit might be offset by cache effects and other factors. Previous methods for loop optimizations of arrays do not perform incrementalization, and previous techniques for loop incrementalization do not handle arrays.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Caching and incrementalisation in the java query language
Darren Willis,David J. Pearce,James Noble +2 more
- 19 Oct 2008
TL;DR: This work describes a general approach to optimising queries over mutable objects: query results are cached, and those caches are incrementally maintained whenever the collections and objects underlying those queries are updated.
From Clarity to Efficiency for Distributed Algorithms
TL;DR: A very high-level language for clear description of distributed algorithms and optimizations necessary for generating efficient implementations of logic quantifications and new optimizations are presented that automatically transform complex synchronization conditions into incremental updates of necessary auxiliary values as messages are sent and received.
32
From Clarity to Efficiency for Distributed Algorithms
TL;DR: In this paper, the authors describe a high-level language for describing distributed algorithms and optimizations necessary for generating efficient implementations, and present new optimizations that automatically transform complex synchronization conditions into incremental updates of necessary auxiliary values as messages are sent and received.
24
Diffy: Inductive Reasoning of Array Programs using Difference Invariants
Supratik Chakraborty,Ashutosh Gupta,Divyesh Unadkat +2 more
- 18 Jul 2021
TL;DR: Diffy as mentioned in this paper is a verification tool for arrays with a symbolic parameter N denoting the size of arrays, which relies on constructing two slightly different versions of the same program and infers difference relations between the corresponding variables at key control points of the joint control-flow graph of the two program versions.
Hypercubic storage layout and transforms in arbitrary dimensions using GPUs and CUDA
Ken A. Hawick,D.P. Playne +1 more
TL;DR: General memory layouts; specific optimizations possible for dimensions that are powers‐of‐two and common transformations, such as inverting, shifting and crinkling; and performance data for some illustrative scientific applications of these layouts and transforms are presented.
References
•Book
Accuracy and stability of numerical algorithms
Nicholas J. Higham
- 01 Jan 1991
TL;DR: This book gives a thorough, up-to-date treatment of the behavior of numerical algorithms in finite precision arithmetic by combining algorithmic derivations, perturbation theory, and rounding error analysis.
Accuracy and Stability of Numerical Algorithms
Nicholas J. Higham
- 01 Jan 2002
TL;DR: Higham as discussed by the authors gives a thorough, up-to-date treatment of the behavior of numerical algorithms in finite precision arithmetic, combining algorithmic derivations, perturbation theory, and rounding error analysis.
2.2K
Non-parametric local transforms for computing visual correspondence
Ramin Zabih,John Iselin Woodfill +1 more
- 07 May 1994
TL;DR: A new approach to the correspondence problem that makes use of non-parametric local transforms as the basis for correlation, which can result in improved performance near object boundaries when compared with conventional methods such as normalized correlation.