Journal Article10.1007/BF01206273
Beyond unimodular transformations
40
TL;DR: This paper presents an approach to modeling loop transformations using linear algebra and uses the theory of Hessenberg matrices in the derivation of exact loop bounds for nonunimodular transformations, providing a framework for optimizing programs for a variety of architectures.
read more
Abstract: This paper presents an approach to modeling loop transformations using linear algebra. Compound transformations are modeled as integer matrices. The nonsingular linear transformations presented here subsume the class of unimodular transformations. The loop transformations included are the unimodular transformations-reversal, skewing, and permutation- and a new transformation, namelystretching. Nonunimodular transformations (with determinant ≥ 1) create “holes” in the transformed iteration space, rendering code generation difficult. We solve this problem by suitably changing the step size of loops in order to “skip” these holes when traversing the transformed iteration space. For the class of nonunimodular loop transformations, we present algorithms for deriving the loop bounds, the array access expressions, and the step sizes of loops in the nest. To derive the step sizes, we compute the Hermite normal form of the transformation matrix; the step sizes are the entries on the diagonal of this matrix. We then use the theory of Hessenberg matrices in the derivation of exact loop bounds for nonunimodular transformations. We illustrate the use of this approach in several problems such as the generation of tile sets and distributed-memory code generation. This approach provides a framework for optimizing programs for a variety of architectures.
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
Code Generation in the Polyhedral Model Is Easier Than You Think
Cédric Bastoul
- 29 Sep 2004
TL;DR: A general transformation framework able to deal with nonunimodular, noninvertible, nonintegral or even nonuniform functions is discussed and several improvements to a state-of-the-art code generation algorithm are presented.
Generation of Efficient Nested Loops from Polyhedra
TL;DR: This work presents a general parameterized method for code generation based on dual representation of polyhedra that uses a simple recursion on the dimensions of the domains, and enables fine control over the tradeoff between code size and control overhead.
243
Effective automatic parallelization and locality optimization using the polyhedral model
P. Sadayappan,Uday Bondhugula +1 more
- 01 Jan 2008
TL;DR: This dissertation presents a new automatic transformation framework that solves the above problem by finding good affine transformations through a powerful and practical linear cost function that enables efficient tiling and fusion of sequences of arbitrarily nested loops and allows simultaneous optimization for coarse-grained parallelism and locality.
67
A linear space algorithm for computing the hermite normal form
Daniele Micciancio,Bogdan Warinschi +1 more
- 01 Jul 2001
TL;DR: The presented algorithm has the same time complexity of the asymptotically fastest (but space inefficient) algorithms and a heuristic algorithm for HNF that achieves a substantial speedup when run on randomly generated input matrices.
65
•Journal Article
A Linear Space Algorithm for Computing the Hermite Normal Form
TL;DR: In this article, the Hermite Normal Form of an n × n integer matrix is computed in O(n 2 log M) space, where M is a bound on the entries of the input matrix.
63
References
•Book
Theory of Linear and Integer Programming
Alexander Schrijver
- 01 Dec 1986
TL;DR: Introduction and Preliminaries.
•Book
Integer and Combinatorial Optimization
George L. Nemhauser,Laurence A. Wolsey +1 more
- 01 Jan 1988
TL;DR: This chapter discusses the Scope of Integer and Combinatorial Optimization, as well as applications of Special-Purpose Algorithms and Matching.
Integer and Combinatorial Optimization: Nemhauser/Integer and Combinatorial Optimization
George L. Nemhauser,Laurence A. Wolsey +1 more
- 16 Jun 1988
Abstract: FOUNDATIONS. The Scope of Integer and Combinatorial Optimization. Linear Programming. Graphs and Networks. Polyhedral Theory. Computational Complexity. Polynomial-Time Algorithms for Linear Programming. Integer Lattices. GENERAL INTEGER PROGRAMMING. The Theory of Valid Inequalities. Strong Valid Inequalities and Facets for Structured Integer Programs. Duality and Relaxation. General Algorithms. Special-Purpose Algorithms. Applications of Special- Purpose Algorithms. COMBINATORIAL OPTIMIZATION. Integral Polyhedra. Matching. Matroid and Submodular Function Optimization. References. Indexes.
4.4K
A loop transformation theory and an algorithm to maximize parallelism
Michael Wolf,Monica S. Lam +1 more
TL;DR: The loop transformation theory is applied to the problem of maximizing the degree of coarse- or fine-grain parallelism in a loop nest and it is shown that the maximum degree of parallelism can be achieved by transforming the loops into a nest of coarsest fullypermutable loop nests and wavefronting the fully permutable nests.
727
Supernode partitioning
François Irigoin,R. Triolet +1 more
- 13 Jan 1988
TL;DR: A class of partitionings is presented that encompasses previous techniques and provides enough flexibility to adapt code to multiprocessors with two levels of parallelism and two level of memory.
635
Related Papers (5)
Alexander Schrijver
- 01 Dec 1986
J. Ramanujam
- 01 Dec 1992
Michael Wolf,Monica S. Lam +1 more
- 01 May 1991
François Irigoin,R. Triolet +1 more
- 13 Jan 1988