Skip to main content
Log in

Using affine closure to find legal reordering transformations

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. M. J. Wolfe,Optimizing Supercompilers for Supercomputers, The MIT Press, Cambridge. Massachusetts (1989).

    MATH  Google Scholar 

  2. 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).

  3. D. Whitfield and M. L. Soffa, Investigating Properties of Code Transformations.Proc. 1993 IEEE Int'l. Conf. on Parallel Processing (August 1993).

  4. 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).

  5. Michael E. Wolf and Monica S. Lam, A data locality optimizing algorithm. InACM SIGPLAN'91 Conf. on Programming Language Design and Implementation (1991).

  6. 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).

  7. 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).

  8. 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).

    Article  MATH  MathSciNet  Google Scholar 

  9. 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).

  10. Alain Darte and Yves Robert, Scheduling uniform loop nests. InProc. of ISMN Int'l. Conf. on Parallel and Distributed Computer Systems (October 1992).

  11. Wayne Kelly and William Pugh, Determining schedules based on performance estimation.Parallel Processing Letters,4(3):205–219 (September 1994).

    Article  Google Scholar 

  12. 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).

  13. 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).

  14. 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).

    Google Scholar 

  15. 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.

  16. Nils J. Nilsson,Principles of Artificial Intelligence, Morgan Kaufmann Publishers (1980).

  17. A. Schrijver,Theory of Linear and Integer Programming, John Wiley and Sons, Chichester, Great Britain (1986).

    MATH  Google Scholar 

  18. 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).

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF02577769

Key Words

Navigation