Abstract
In this paper, we discuss a loop transformation framework that is based on integer non-singular matrices. The transformations included in this framework are called Λ-transformations and include permutation, skewing and reversal, as well as a transformation called loop scaling. This framework is more general than existing ones; however, it is also more difficult to generate code in our framework. This paper shows how integer lattice theory can be used to generate efficient code. An added advantage of our framework over existing ones is that there is a simple completion algorithm which, given a partial transformation matrix, produces a full transformation matrix that satisfies all dependences. This completion procedure has applications in parallelization and in the generation of code for NUMA machines.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
R. Allen and K. Kennedy. Automatic translation of FORTRAN programs to vector form. ACM Transactions on Progamming Languages and Systems, 9(4):491–542, October 1987.
C. Ancourt and F. Irigoin. Scanning polyhedra with DO loops. In Third ACM Symposium on Principles and Practice of Parallel Programming, pages 39–50, April 1991.
U. Banerjee. Unimodular transformations of double loops. In Proceedings of the Workshop on Advances in Languages and Compilers for Parallel Processing, pages 192–219, August 1990.
M. Barnett and C. Lengauer. Loop parallelization and unimodularity. Technical Report ECS-LFCS-92-197, University of Edinburgh, 1992.
J. W. S. Cassels. An introduction to the geometry of numbers. Berlin, Springer, 1959.
G. B. Dantzig and B. C. Eaves. Fourier-motzkin elimination and its dual. Journal of Combinatorial Theory(A), 14:288–297, 1973.
W. Li and K. Pingali. Access Normalization: Loop restructuring for NUMA compilers. In Proc. 5th International Conference on Architectural Support for Programming Languages and Operating Systems, October 1992.
W. Li and K. Pingali. A singular loop transformation framework based on non-singular matrices. Technical Report 92-1294, Department of Computer Science, Cornell University, July 1992.
L. Lu. A unified framework for systematic loop transformations. In 3rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pages 28–38, April 1991.
D. Padua and M. Wolfe. Advanced compiler optimizations for supercomputers. Communications of ACM, 29(12):1184–1201, December 1986.
A. Schrijver. Theory of Linear and Integer Programming. John Wiley & Sons, 1986.
M. Wolf and M. Lam. A data locality optimizing algorithm. In Proc. ACM SIGPLAN 91 Conference on Programming Language Design and Implementation, pages 30–44, June 1991.
M. Wolf and M. Lam. A loop transformation theory and an algorithm to maximize parallelism. IEEE Transactions on Parallel and Distributed Systems, October 1991.
M. Wolfe. Optimizing Supercompilers for Supercomputers. Pitman Publishing, London, 1989.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Li, W., Pingali, K. (1993). A singular loop transformation framework based on non-singular matrices. In: Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1992. Lecture Notes in Computer Science, vol 757. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57502-2_60
Download citation
DOI: https://doi.org/10.1007/3-540-57502-2_60
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57502-3
Online ISBN: 978-3-540-48201-7
eBook Packages: Springer Book Archive