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 adhoc 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.
Preview
Unable to display preview. Download preview PDF.
References
U. Banerjee. Unimodular transformations of double loops. In Proc. of the 3rd Workshop on Programming Languages and Compilers for Parallel Computing, pages 192–219, Irvine, CA, August 1990.
Alain Darte and Yves Robert. Scheduling uniform loop nests. In Proceedings of ISMN International Conference on Parallel and Distributed Computer Systems, October 1992.
Paul Feautrier. Dataflow analysis of array and scalar references. International Journal of Parallel Programming, 20(1), February 1991.
Paul Feautrier. Some efficient solutions to the affine scheduling problem, Part I, One-dimensional time. Int. J. of Parallel Programming, 21(5), Oct 1992.
Paul Feautrier. Some efficient solutions to the affine scheduling problem, Part II, Multidimensional time. Int. J. of Parallel Programming, 21(6), Dec 1992.
Wayne Kelly and William Pugh. Determining schedules based on performance estimation. Technical Report CS-TR-3108, Dept. of Computer Science, University of Maryland, College Park, July 1993. to appear in Parallel Processing Letters (1994).
Wayne Kelly and William Pugh. A framework for unifying reordering transformations. Technical Report CS-TR-3193, Dept. of Computer Science, University of Maryland, College Park, April 1993.
Wayne Kelly, William Pugh, and Evan Rosser. Code generation for multiple mappings. Technical Report CS-TR-3317, Dept. of Computer Science, University of Maryland, College Park, July 1994. to appear at the 5th Symposium on the Frontiers of Massively Parallel Computation.
Herve Leverge, Christophe Mauras, and Patrice Quinton. A language-orientied approach to the design of systolic chips. Journal of VLSI Signal Processing, pages 173–182, Mar 1991.
Wei Li and Keshav Pingali. A singular loop transformation framework based on non-singular matrices. In 5th Workshop on Languages and Compilers for Parallel Computing, pages 249–260, Yale University, August 1992.
Nils J. Nilsson. Principles of Artificial Intelligence. Morgan Kaufmann Publishers, 1980.
William Pugh. Uniform techniques for loop optimization. In 1991 International Conference on Supercomputing, pages 341–352, Cologne, Germany, June 1991.
William Pugh. The Omega test: a fast and practical integer programming algorithm for dependence analysis. Communications of the ACM, 8:102–114, August 1992.
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, 1994. To appear.
A. Schrijver. Theory of Linear and Integer Programming. John Wiley and Sons, Chichester, Great Britain, 1986.
Vivek Sarkar and Radhika Thekkath. A general framework for iteration-reordering loop transformations. In ACM SIGPLAN'92 Conference on Programming Language Design and Implementation, pages 175–187, San Francisco, California, Jun 1992.
Michael E. Wolf and Monica S. Lam. A data locality optimizing algorithm. In ACM SIGPLAN'91 Conference on Programming Language Design and Implementation, 1991.
M. J. Wolfe. Optimizing Supercompilers for Supercomputers. The MIT Press, Cambridge, MA, 1989.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kelly, W., Pugh, W. (1995). Finding legal reordering transformations using mappings. In: Pingali, K., Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1994. Lecture Notes in Computer Science, vol 892. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0025874
Download citation
DOI: https://doi.org/10.1007/BFb0025874
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58868-9
Online ISBN: 978-3-540-49134-7
eBook Packages: Springer Book Archive