Abstract
Many abstractions of program dependences have already been proposed, such as the Dependence Distance, the Dependence Direction Vector, the Dependence Level or the Dependence Cone. These different abstractions have different precision. The minimal abstraction associated to a transformation is the abstraction that contains the minimal amount of information necessary to decide when such a transformation is legal. The minimal abstractions for loop reordering and unimodular transformations are presented. As an example, the dependence cone, that approximates dependences by a convex cone of the dependence distance vectors, is the minimal abstraction for unimodular transformations.
Preview
Unable to display preview. Download preview PDF.
References
R. Allen, K. Kennedy, ”Automatic Translation of FORTRAN Programs to Vector Form”, ACM Transactions on Programming Languages and Systems, Oct. 1987.
U. Banerjee, ”A Theory of Loop Permutations”, 2nd Workshop on Languages and compilers for parallel computing, 1989
U. Banerjee, ”Unimodular Transformation of Double Loops”, 3rd Workshop on Programming Languages and Compilers for Parallel Computing, Irvine, 1990
U. Banerjee, ”Loop transformations for restructuring compilers: the foundations”, Kluwer Academic Editor, 1993
A. J. Bernstein, ”Analysis of Programs for Parallel Processing”, IEEE Transactions on Electronic Computers, Vol. EC-15, No. 5, Oct. 1966.
P. Feautrier, ”Dataflow Analysis of Scalar and Array References”, Int. Journal of Parallel Programming, Vol. 20, No 1, February, 1991, pp 23–53.
P. Feautrier, ”Some Efficient Solutions to the Affine Scheduling Problem, Part I, One-Dimensional Time”, Int. Journal of Parallel Programming, Vol 21, 1992.
P. Feautrier, ”Some Efficient Solutions to the Affine Scheduling Problem, Part II, Multi-Dimensional Time”, Int. Journal of Parallel Programming, Vol 21, 1992.
F. Irigoin, ”Loop Reordering With Dependence Direction Vectors”, In Journées Firtech Systèmes et Télématique Architectures Futures: Programmation parallèle et intégration VLSI, Paris, Nov. 1988.
F. Irigoin, R. Triolet, ”Computing Dependence Direction Vectors and Dependence Cones with Linear Systems”, Rap. Int. CAI87E94 Ecole des Mines de Paris.
F. Irigoin, R. Triolet, ”Supernode Partitioning”, In Conference Record of Fifteenth ACM Symposium on Principles of Programming Languages, 1988.
F. Irigoin, R. Triolet, ”Dependence Approximation and Global Parallel Code Generation for Nested Loops”, In International Workshop Parallel and Distributed Algorithms, Bonas, France, Oct. 1988.
R. Karp, R. Miller and S. Winograd, ”The Organization of Computations for Uniform Recurence Equations”, Journal of the ACM, v. 14, n. 3, pp. 563–590, 1967
L. Lamport, ”The Parallel Execution of DO Loops”, Communications of the ACM 17(2), pp. 83–93, 1974
W. Li, K. Pingali, ”A singular loop transformation framework based on non-singular matrices”, In Languages and Compilers for Parallel Computing, Yale University, August 1992.
D. Maydan, S. Amarasinghe, M.Lam, ”Array Data Flow Analysis and its use in Array Privatization”, Stanford Report, 1993
Y. Muraoka, ”Parallelism Exposure and Exploitation in Programs”, PhD thesis, Dept. of Computer Science, University of Illinois at Urbana-champaign, Feb. 1971.
William Pugh, ”A Practical Algorithm for Exact Array Dependence Analysis”, Communications of the ACM, August 1992, pp.102–114
V. Sarkar, R. Thekkath, ”A General Framework for Iteration-Reordering Loop Transformations”, In Programming Language Design and Implementation, San Francisco, June 1992.
A. Schrijver, Theory of Linear and Integer Programming, John Wiley & Sons 1986.
M.E. Wolf, M.S. Lam, ”Maximizing Parallelism via Loop Transformations”, In Programming Languages and Compilers for Parallel Computing, Aug. 1–3, 1990.
M.E. Wolf, M.S. Lam, ”A Loop Transformation Theory and an Algorithm to Maximize Parallelism”, Transactions on Parallel and Distributed Systems, Oct. 1991.
M. Wolfe, ”Optimizing Supercompilers for Supercomputers”, PhD Thesis, Dept. of Computer Science, University of Illinois at Urbana-Champaign, October 1982.
M. Wolfe, ”Experiences with Data Dependence and Loop Restructuring in the Tiny Research Tool”, Technical Report, No. CS/E 90-016, Sep. 1990.
M. Wolfe, ”Experiences with Data Dependence Abstractions”, In Proceedings of the 1991 ACM International Conference on Supercomputing, Germany, June 1991.
Y.Q. Yang, ”Tests de Dependance et Transformations de programme”, PhD of University Pierre et Marie Curie, November 93.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Yang, YQ., Ancourt, C., Irigoin, F. (1995). Minimal data dependence abstractions for loop transformations. 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/BFb0025880
Download citation
DOI: https://doi.org/10.1007/BFb0025880
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