Abstract
We present a unified framework for applying iteration reordering transformations. This framework is able to represent traditional transformations such as loop interchange, loop skewing and loop distribution as well as compositions of these transformations. Using a unified framework rather than a sequence of ad-hoc transformations makes it easier to analyze and predict the effects of these transformations. Our framework is based on the idea that all reordering transformations can be represented as a mapping from the original iteration space to a new iteration space. An optimizing compiler would use our framework by finding a mapping that both corresponds to a legal transformation and produces efficient code. We present the mapping selection problem as a search problem by decomposing it into a sequence of smaller choices. We then characterize the set of all legal mappings by defining a search tree. As part of this process we use a new operation called affine closure.
Similar content being viewed by others
References
M. J. Wolfe,Optimizing Supercompilers for Supercomputers, The MIT Press, Cambridge. Massachusetts (1989).
D. Whitfield and M. L. Soffa, An Approach to Ordering Optimizing Transformations.Proc. of the 2nd ACM SIGPLAN Symp. on Principles and Practice of Parallel Programming (April 1990).
D. Whitfield and M. L. Soffa, Investigating Properties of Code Transformations.Proc. 1993 IEEE Int'l. Conf. on Parallel Processing (August 1993).
U. Banerjee, Unimodular transformations of double loops. InProc. of the 3rd Workshop on Programming Languages and Compilers for Parallel Computing, Irvine, California, pp. 192–219 (August 1990).
Michael E. Wolf and Monica S. Lam, A data locality optimizing algorithm. InACM SIGPLAN'91 Conf. on Programming Language Design and Implementation (1991).
Herve Leverge, Christophe Mauras, and Patrice Quinton, A language-oriented approach to the design of systolic chips.Journal of VLSI Signal Processing, pp. 173–182 (March 1991).
Wei Li and Keshav Pingali, A singular loop transformation framework based on nonsingular matrices. In5th Workshop on Languages and Compilers for Parallel Computing, Yale University, pp. 249–260 (August 1992).
Paul Feautrier, Some efficient solutions to the affine scheduling problem, Part I, One-dimensional time,Int. J. of Parallel Programming,21(5):313–348 (October 1992).
Vivek Sarkar and Radhika Thekkath. A general framework for iteration-reordering loop transformations. InACM SIGPLAN'92 Conference on Programming Language Design and Implementation, San Francisco, California, pp. 175–187 (June 1992).
Alain Darte and Yves Robert, Scheduling uniform loop nests. InProc. of ISMN Int'l. Conf. on Parallel and Distributed Computer Systems (October 1992).
Wayne Kelly and William Pugh, Determining schedules based on performance estimation.Parallel Processing Letters,4(3):205–219 (September 1994).
Wayne Kelly, William Pugh, and Evan Rosser, Code generation for multiple mappings. InThe 5th Symp. on the Frontiers of Massively Parallel Computation, McLean, Virginia, pp. 332–341 (February 1995).
Wayne Kelly and William Pugh, A unifying framework for iteration reordering transformations. InProc. of the IEEE First Int'l. Conf. on Algorithms and Architectures for Parallel Processing, Brisbane, Australia (April 1995).
Wayne Kelly, Vadim Maslov, William Pugh, Evan Rosser, Tatiana Shpeisman, and David Wonnacott, The omega library interface guide. Technical Report CS-TR-3445, Dept. of Computer Science, University of Maryland, College Park (March 1995).
William Pugh and David Wonnacott, Going beyond integer programming with the Omega test to eliminate false data dependences.IEEE Transactions on Parallel and Distributed Systems (1995). To appear.
Nils J. Nilsson,Principles of Artificial Intelligence, Morgan Kaufmann Publishers (1980).
A. Schrijver,Theory of Linear and Integer Programming, John Wiley and Sons, Chichester, Great Britain (1986).
Paul Feautrier, Some efficient solutions to the affine scheduling problem, Part II, Multidimensional time.Int. J. of Parallel Programming,21(6):389–420 (December 1992).
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Kelly, W., Pugh, W. Using affine closure to find legal reordering transformations. Int J Parallel Prog 23, 303–325 (1995). https://doi.org/10.1007/BF02577769
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF02577769