Use the C*$* beginblock
and C*$* endblock
directives to enclose a segment of source code, called a
directive block, where you can declare KAP directives.
Place directives immediately following the C*$*
beginblock
directive. Directives in a directive block remain
active until the end of the block and override directives used
outside the block.
Directive blocks allow you to use loop directives with Fortran
arrays. For example, in the following directive block, KAP first
transforms the three arrays into Fortran DO loops. Next, KAP applies
the C*$* minconcurrent ( 999999 )
directive to the
loops.
C*$* BEGINBLOCK C*$* MINCONCURRENT ( 999999 ) ddx(2:I-1,1:J) = array(3:I,1:J)-array(1:I-2,1:J) ddx(1,1:J) = 2*(array(2,1:J)-array( 1,1:J)) ddx(I,1:J) = 2*(array(I,1:J)-array(I-1,1:J)) C*$* ENDBLOCK
Do not nest directive blocks.