首页 | 本学科首页   官方微博 | 高级检索  
     


Beyond unimodular transformations
Authors:J. Ramanujam
Affiliation:(1) Department of Electrical and Computer Engineering, Louisiana State University, 70803-5901 Baton Rouge, LA
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 ge 1) create ldquoholesrdquo in the transformed iteration space, rendering code generation difficult. We solve this problem by suitably changing the step size of loops in order to ldquoskiprdquo 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.Supported in part by an NSF Young Investigator Award CCR-9457768, an NSF grant CCR-9210422, and by the Louisiana Board of Regents through contract LEQSF (1991–94)-RD-A-09.
Keywords:Loop transformations  linear transformations of the iteration space  nonunimodular transformations  loop stretching  integer lattices  Hermite normal form  code generation
本文献已被 SpringerLink 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号