The K Test : an Exact and Efficient Knowledge-based Data Dependence Testing Method for Parallelizing Compilers

Many different classes of multiprocessors have been designed and implemented in industry and academia. Therefore, it has become an important issue to develop parallelizing compiling techniques that can exploit the potential power of multiprocessors. In this paper, we concentrate on the fundamental phase, data dependence analysis, in parallelizing compilers. We propose a new approach that integrates existing tests and makes good use of their advantages. This approach chooses an appropriate test using knowledge-based techniques, and then applies the resulting test to detect data dependences on loops. A rule-based system, called the K test, is developed using repertory grid analysis to construct the knowledge base. Simulation results show that the K test gives exact solutions in most of practical and contrived cases; furthermore, for system maintenance and extendibility, our approach is obviously superior to others. Therefore, we are trying to extend the knowledge-based approach to the whole field of parallelizing compiling.

[1]  L.M. Ni,et al.  Trapezoid Self-Scheduling: A Practical Scheduling Scheme for Parallel Compilers , 1993, IEEE Trans. Parallel Distributed Syst..

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

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

[4]  S. S. Tseng,et al.  EMCUD: A Knowledge Acquisition Method which Captures Embedded Meanings Under Uncertainty , 1990, Int. J. Man Mach. Stud..

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

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

[7]  Chao-Tung Yang,et al.  Implementation of a portable parallelizing compiler with loop partition , 1994, Proceedings of 1994 International Conference on Parallel and Distributed Systems.

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

[9]  S. I. Feldman,et al.  A Fortran to C converter , 1990, FORF.

[10]  Kleanthis Psarris,et al.  The I Test: An Improved Dependence Test for Automatic Parallelization and Vectorization , 1991, IEEE Trans. Parallel Distributed Syst..

[11]  Rudolf Eigenmann,et al.  The range test: a dependence test for symbolic, non-linear expressions , 1994, Proceedings of Supercomputing '94.

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

[13]  Barbara M. Chapman,et al.  Supercompilers for parallel and vector computers , 1990, ACM Press frontier series.

[14]  Efraim Turban,et al.  Expert systems and applied artificial intelligence , 1992 .

[15]  Rudolf Eigenmann,et al.  Automatic program parallelization , 1993, Proc. IEEE.

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

[17]  Constantine D. Polychronopoulos,et al.  Parallel programming and compilers , 1988 .

[18]  David K. Smith Theory of Linear and Integer Programming , 1987 .