A.5 Data Dependence Direction Vectors

The direction vector is defined as a sequence of direction vector elements (one element for each DO loop enclosing both statements involved in the dependence arc). The following symbols are direction vector elements: <, =, >, <, >, /, or *.

If line 12 in iteration I" depends on line 11 in iteration I' , the element of the direction vector for loop I is as follows:

direction
vector
element when

< I' must be < I"

= I' must be = I"

> I' must be > I"

<= I' must be < or = I"

>= I' must be > or = I"

/ I' must not = I"

*   no relation between I' and I" can be proven

Consider the following loop:

 DO Loops   Line
 +--------- 10  DO 10 I = 1,N-1
 |          11  A(I) = B(I) + C(I)
 |          12  C(I) = A(I-1) - 1
 |_________ 13  10  CONTINUE

The dependence from A(I) to A(I-1) has a direction vector of <, since the dependence flows from iteration I' to iteration I'+1 and I' < I'+1 . The data independence from C(I) to C(I) has a direction vector of = because the dependence stays in the same iteration of the loop (from iteration I' to iteration I' ).


Previous Page | Next Page | Contents | Index |
Command-Line Qualifiers