Technical data
78
Chapter 5: Fortran Enhancements for Multiprocessors
C$MP_SCHEDTYPE, C$CHUNK
The C$MP_SCHEDTYPE=schedule_type directive acts as an implicit
MP_SCHEDTYPE clause. A DOACROSS directive that does not have an
explicit MP_SCHEDTYPE clause is given the value specified in the
directive, rather than the normal default. If the DOACROSS does have an
explicit clause, then the explicit value is used.
The C$CHUNK=integer_expression directive affects the CHUNK clause of a
DOACROSS in the same way that the C$MP_SCHEDTYPE directive
affects the MP_SCHEDTYPE clause. Both directives are in effect from the
place they occur in the source until another corresponding directive is
encountered or the end of the procedure is reached.
These directives are mostly intended for users of Silicon Graphics POWER
Fortran Accelerator™ (PFA). The DOACROSS directives supplied by PFA
do not have MP_SCHEDTYPE or CHUNK clauses. These directives
provide a method of specifying what kind of scheduling option is desired
and allowing PFA to supply the DOACROSS directive. These directives are
not PFA-specific, however, and can be used by any multiprocessing Fortran
programmer.
It is also possible to invoke this functionality from the command line during
a compile. The –mp_schedtype=schedule_type and –chunk= integer
command line options have the effect of implicitly putting the
corresponding directive(s) as the first lines in the file.
Nesting C$DOACROSS
The Fortran compiler does not support direct nesting of C$DOACROSS
loops. For example, the following is illegal and generates a compilation
error:
C$DOACROSS LOCAL(I)
DO I = 1, N
C$DOACROSS LOCAL(J)
DO J = 1, N
A(I,J) = B(I,J)
END DO
END DO










