• DocumentCode
    1459599
  • Title

    Nonlinear and symbolic data dependence testing

  • Author

    Blume, William ; Eigenmann, Rudolf

  • Author_Institution
    Hewlett-Packard Co., Cupertino, CA, USA
  • Volume
    9
  • Issue
    12
  • fYear
    1998
  • fDate
    12/1/1998 12:00:00 AM
  • Firstpage
    1180
  • Lastpage
    1194
  • Abstract
    One of the most crucial qualities of an optimizing compiler is its ability to detect when different data references access the same storage location. Such references are said to be data-dependent and they impose constraints on the amount of program modifications the compiler can apply for improving the program´s performance. For parallelizing compilers, the most important program constructs to investigate are loops and the array references they contain. In previous work, we have found a serious limitation of current data dependence tests to be that they cannot handle loop bounds or array subscripts that are symbolic, nonlinear expressions. In this paper, we describe a dependence test, called the range test, that can handle such expressions. Briefly, the range test proves independence by determining whether certain symbolic inequalities hold for a permutation of the loop nest. Powerful symbolic analyses and constraint propagation techniques were developed to prove such inequalities. The range test has been implemented in Polaris, a parallelizing compiler developed at the University of Illinois. We present measurements of the range test´s performance and compare it with state-of-the-art tests
  • Keywords
    constraint handling; optimising compilers; parallelising compilers; subroutines; Polaris; array references; array subscripts; constraint propagation techniques; data references; loop bounds; loop nest permutation; loops; nonlinear data dependence testing; optimizing compiler; parallelizing compilers; program constructs; program modifications; program performance; range test; storage location access; symbolic analyses; symbolic data dependence testing; symbolic inequalities; Computer Society; Data analysis; Optimizing compilers; Parallel machines; Performance analysis; Performance evaluation; Polarization; Program processors; Sequential analysis; Testing;
  • fLanguage
    English
  • Journal_Title
    Parallel and Distributed Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1045-9219
  • Type

    jour

  • DOI
    10.1109/71.737695
  • Filename
    737695