Transformations for imperfectly nested loops

  • Authors:
  • Induprakas Kodukula;Keshav Pingali

  • Affiliations:
  • Department of Computer Science, Cornell University, Ithaca, NY;Department of Computer Science, Cornell University, Ithaca, NY

  • Venue:
  • Supercomputing '96 Proceedings of the 1996 ACM/IEEE conference on Supercomputing
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

Loop transformations are critical for compiling high-performance code for modern computers. Existing work has focused on transformations for perfectly nested loops (that is, loops in which all assignment statements are contained within the innermost loop of a loop nest). In practice, most loop nests, such as those in matrix factorization codes, are imperfectly nested. In some programs, imperfectly nested loops can be transformed into perfectly nested loops by loop distribution, but this is not always legal. In this paper, we present an approach to transforming imperfectly nested loops directly. Our approach is an extension of the linear loop transformation framework for perfectly nested loops, and it models permutation, reversal, skewing, scaling, alignment, distribution and jamming. We also give a completion procedure which generates a complete transformation from a partial transformation.