The Janus Test: A Hierarchical Algorithm for Computing Direction and Distance Vectors

  • Authors:
  • Jean-Claude Sogno

  • Affiliations:
  • -

  • Venue:
  • HICSS '96 Proceedings of the 29th Hawaii International Conference on System Sciences Volume 1: Software Technology and Architecture
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

For a compiler, dependence direction vectors are the key structure for many loop parallelizing transformations. More powerful transformations require knowing the values of the associated distances. However, this generally involves solving many problems. In this paper, we consider a hierarchical set of problems which differ only in data dependence direction vectors, as in the framework introduced by Burke and Cytron. First, we solve the "basic" problem, without direction constraints, through a fast and exact algorithm composed of a pre-processing phase of reduction and of an integer simplex resolution. If the problem has no solution, we announce an absence of dependence. If a solution exists, we define three new problems, each of them being obtained by adding a constraint associated with one of the three possible direction vectors relative to the first loop index. For each of these problems, if a solution exists, we define three enlarged similar problems involved by the second loop index, and so forth until the last index.The amount of computation for each new problem is very low. Information on the values of the distances is provided. The Janus Test, implemented at INRIA, has been embedded in the parallelizer built within the ESPRIT project COMPARE and in the PARTITA tool of the EUREKA project EUROTOPS.