Efficient Techniques for Advanced Data Dependence Analysis

  • Authors:
  • Konstantinos Kyriakopoulos;Kleanthis Psarris

  • Affiliations:
  • Department of Computer Science The University of Texas at San Antonio;Department of Computer Science The University of Texas at San Antonio

  • Venue:
  • Proceedings of the 14th International Conference on Parallel Architectures and Compilation Techniques
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Scientific source code for high performance computers is extremely complex containing irregular control structures with complicated expressions. This complexity makes it difficult for compilers to analyze the code and perform optimizations. In particular with regard to program parallelization, complex expressions are often not taken intro consideration during the data dependence analysis phase. In this work we propose new data dependence analysis techniques to handle such complex instances of the dependence problem and increase program parallelization. Our method is based on a set of polynomial time techniques that can prove or disprove dependences in the presence of non-linear expressions, complex loop bounds, arrays with coupled subscripts, and if-statement constraints. In addition our algorithm can produce accurate and complete direction vector information enabling the compiler to apply further transformations..To validate our method we performed an experimental evaluation and comparison against the ITest, the Omega test and the Range test in the Perfect and SPEC benchmarks. The experimental results indicate that our dependence analysis tool is efficient and more effective in program parallelization than the other dependence tests. The improved parallelization of key loops results into higher speedups and better program execution performance in several benchmarks.