next up previous
Next: AssertFirstValue Up: Polaris Assertions and Previous: AssertLoopLabel

AssertReduction

The AssertReduction assertion lists the variables involved in a reduction operation within a loop. The assertion is attached to the DO statement with respect to which the accesses are done in a reduction way.

Array reference expressions are listed on the reduction assertion. Any references matching those expressions within the loop should be considered to be reductions.

The CSRD directive corresponding to the AssertReduction assertion appears after the DO statement to which it refers. An example of the CSRD$ directive for this assertion is:

CSRD$ REDUCTION c, d(i)

An example of its usage is as follows:

CSRD$ PARALLEL (J)
CSRD$ LOOPLABEL 'ADDUP_do#1'
      DO J = 1, N
CSRD$ REDUCTION c, d(i)
CSRD$ FIRSTVALUE q, z(1:m:1)
CSRD$ PRIVATE a(1:m), b(1:m), x, y
CSRD$ LASTVALUE b(1:m:1), a(1:m:1)
         . . . 
      END DO



Jay Hoeflinger
Mon Apr 21 11:52:18 CDT 1997