A precise dependence analysis for multi-dimensional arrays under specific dependence direction

Abstract In process of automatic parallelizing/vectorizing constant-bound loops with multi-dimensional arrays under specific dependence direction, the Lambda test is claimed to be an efficient and precise data dependence analysis method that can check whether there exist generally inexact ` real-valued ' solutions to the derived dependence equations. In this paper, we propose a precise data dependence analysis method – the multi-dimensional direction vector I test. The multi-dimensional direction vector I test can be applied towards testing whether there exist generally accurate ` integer-valued ' solutions to the dependence equations derived from multi-dimensional arrays under specific dependence direction in constant-bound loops. Experiments with benchmark showed that the accuracy rate and the improvement rate for the proposed method are approximately 33.3% and 21.6%, respectively.

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

[2]  William Pugh,et al.  A practical algorithm for exact array dependence analysis , 1992, CACM.

[3]  Paul Marx Petersen Evaluation of programs and parallelizing compilers using dynamic analysis techniques , 1993 .

[4]  Jack J. Dongarra,et al.  Matrix Eigensystem Routines - EISPACK Guide, Second Edition , 1976, Lecture Notes in Computer Science.

[5]  Paul Feautrier,et al.  Direct parallelization of call statements , 1986, SIGPLAN '86.

[6]  Michael Wolfe,et al.  High performance compilers for parallel computing , 1995 .

[7]  Chih-Ping Chu,et al.  The infinity Lambda test: A multi-dimensional version of Banerjee infinity test , 2000, Parallel Comput..

[8]  Jack J. Dongarra,et al.  A comparative study of automatic vectorizing compilers , 1991, Parallel Comput..

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

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

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

[12]  Jack J. Dongarra,et al.  Parallel loops - a test suite for parallelizing compilers: description and example results , 1991, Parallel Comput..

[13]  Brian T. Smith,et al.  Matrix Eigensystem Routines — EISPACK Guide , 1974, Lecture Notes in Computer Science.

[14]  Rudolf Eigenmann,et al.  Nonlinear and Symbolic Data Dependence Testing , 1998, IEEE Trans. Parallel Distributed Syst..

[15]  Chih-Ping Chu,et al.  The I+ Test , 1998, LCPC.

[16]  Xiangyun Kong,et al.  The Direction Vector I Test , 1993, IEEE Trans. Parallel Distributed Syst..

[17]  Chih-Ping Chu,et al.  The generalized lambda test , 1998, Proceedings of the First Merged International Parallel Processing Symposium and Symposium on Parallel and Distributed Processing.

[18]  B. S. Garbow,et al.  Matrix Eigensystem Routines — EISPACK Guide , 1974, Lecture Notes in Computer Science.