The Banerjee-Wolfe and GCD Tests on Exact Data Dependence Information

The GCD test and the Banerjee?Wolfe test are the two tests traditionally used to determine statement data dependence, subject to direction vectors, in automatic vectorization/parallelization of loops. In an earlier study, a sufficient condition for the accuracy of the Banerjee?Wolfe test was stated and proved. In that work, we only considered the case of general data dependence, i.e., the case of data dependence without direction vector information. In this paper, we extend the previous result to the case of data dependence subject to an arbitrary direction vector. We also state and prove a sufficient condition for the accuracy of a combination of the GCD and Banerjee?Wolfe tests. Furthermore, we show that the sufficient conditions, for the accuracy of the Banerjee?Wolfe test and the accuracy of a combination of the GCD and Banerjee?Wolfe tests are necessary conditions as well. Finally, we demonstrate how these results can be used in actual practice to obtain exact data dependence information.

[1]  Pen-Chung Yew,et al.  Some results on exact data dependence analysis , 1990 .

[2]  KLEANTHIS PSARRIS,et al.  On the Accuracy of the Banerjee Test , 1991, J. Parallel Distributed Comput..

[3]  David A. Padua,et al.  Static and dynamic evaluation of data dependence analysis , 1993, ICS '93.

[4]  Kleanthis Constantine Psarris A formal study of data dependence analysis for parallelizing compilers , 1991 .

[5]  Monica S. Lam,et al.  Efficient and exact data dependence analysis , 1991, PLDI '91.

[6]  Chau-Wen Tseng,et al.  The Power Test for Data Dependence , 1992, IEEE Trans. Parallel Distributed Syst..

[7]  Utpal Banerjee,et al.  Speedup of ordinary programs , 1979 .

[8]  M. Girkar,et al.  Compiling issues for supercomputers , 1988, Proceedings. SUPERCOMPUTING '88.

[9]  John Randal Allen,et al.  Dependence analysis for subscripted variables and its application to program transformations , 1983 .

[10]  Zhiyuan Li,et al.  An Efficient Data Dependence Analysis for Parallelizing Compilers , 1990, IEEE Trans. Parallel Distributed Syst..

[11]  Milind Girkar,et al.  Parafrase-2: an Environment for Parallelizing, Partitioning, Synchronizing, and Scheduling Programs on Multiprocessors , 1989, Int. J. High Speed Comput..

[12]  William Pugh,et al.  The Omega test: A fast and practical integer programming algorithm for dependence analysis , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[13]  Ron Cytron,et al.  An Overview of the PTRAN Analysis System for Multiprocessing , 1988, J. Parallel Distributed Comput..

[14]  Pen-Chung Yew,et al.  Intraprocedural and interprocedural data dependence analysis for parallel computing , 1989 .

[15]  Utpal Banerjee,et al.  Dependence analysis for supercomputing , 1988, The Kluwer international series in engineering and computer science.

[16]  David R. Wallace,et al.  Dependence of multi-dimensional array references , 1988, ICS '88.

[17]  Ken Kennedy,et al.  Practical dependence testing , 1991, PLDI '91.

[18]  Ken Kennedy,et al.  Automatic translation of FORTRAN programs to vector form , 1987, TOPL.

[19]  Leslie Lamport,et al.  The parallel execution of DO loops , 1974, CACM.

[20]  Ken Kennedy,et al.  PFC: A Program to Convert Fortran to Parallel Form , 1982 .

[21]  Zhiyu Shen,et al.  An Empirical Study of Fortran Programs for Parallelizing Compilers , 1990, IEEE Trans. Parallel Distributed Syst..