3 research outputs found

    Survey of Different Data Dependence Analysis Techniques

    Full text link
    Dependency analysis is a technique to detect dependencies between tasks that prevent these tasks from running in parallel. It is an important aspect of parallel programming tools. Dependency analysis techniques are used to determine how much of the code is parallelizable. Literature shows that number of data dependence test has been proposed for parallelizing loops in case of arrays with linear subscripts, however less work has been done for arrays with nonlinear subscripts. GCD test, Banerjee method, Omega test, I-test dependence decision algorithms are used for one-dimensional arrays under constant or variable bounds. However, these approaches perform well only for nested loop with linear array subscripts. The Quadratic programming (QP) test, polynomial variable interval (PVI) test, Range test are typical techniques for nonlinear subscripts. The paper presents survey of these different data dependence analysis tests

    Analysis and application of Fourier-Motzkin variable elimination to program optimization : a thesis presented in partial fulfilment of the requirements for the degree of Doctor of Philosophy in Computer Science at Massey University, Albany, New Zealand

    Get PDF
    This thesis examines four of the most influential dependence analysis techniques in use by optimizing compilers: Fourier-Motzkin Variable Elimination, the Banerjee Bounds Test, the Omega Test, and the I-Test. Although the performance and effectiveness of these tests have previously been documented empirically, no in-depth analysis of how these techniques are related from a purely analytical perspective has been done. The analysis given here clarifies important aspects of the empirical results that were noted but never fully explained. A tighter bound on the performance of one of the Omega Test algorithms than was known previously is proved and a link is shown between the integer refinement technique used in the Omega Test and the well-known Frobenius Coin Problem. The application of a Fourier-Motzkin based algorithm to the elimination of redundant bound checks in Java bytecode is described. A system which incorporated this technique improved performance on the Java Grande Forum Benchmark Suite by up to 10 percent

    Nonlinear and symbolic data dependence testing

    No full text
    corecore