Beyond unimodular transformations

24Citations
Citations of this article
9Readers
Mendeley users who have this article in their library.
Get full text

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, namely stretching. 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. © 1995 Kluwer Academic Publishers.

Cite

CITATION STYLE

APA

Ramanujam, J. (1995). Beyond unimodular transformations. The Journal of Supercomputing, 9(4), 365–389. https://doi.org/10.1007/BF01206273

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free