Parallel directives have the following syntax.
!MIC$ DOALL [general parameters] [scheduling parameter]
A parallelization directive line is defined as follows.
A parallel directive starts with the CMIC$ or !MIC$, followed by:
A space
A directive
For some directives, one or more parameters
Spaces before, after, or within a directive are ignored.
Letters of a parallelization directive line can be in uppercase, lowercase, or mixed.
The form varies for fixed-form and free-form source as follows.
Put CMIC$ or !MIC$ in columns 1 through 5.
Directives are listed in columns 7 and beyond.
Columns beyond 72 are ignored.
An initial directive line has a blank in column 6.
A continuation directive line has a nonblank in column 6.
Put !MIC$ followed by a space anywhere in the line. The !MIC$ characters are the first nonblank characters in the line (actually, non-whitespace).
Directives are listed after the space.
An initial directive line has a blank, tab, or newline in the position immediately after the !MIC$.
A continuation directive line has a character other than a blank, tab, or newline in the position immediately after the !MIC$.
Thus, !MIC$ in columns 1 through 5 works for both free and fixed.
Example: Directive with continuation lines (DOALL directive and parameters.)
C$PAR DOALL !MIC$& SHARED( a, b, c, n ) !MIC$& PRIVATE( i ) DO i = 1, n a(i) = b(i) * c(i) END DO
Example: Same directive and parameters, with no continuation lines.
C$PAR DOALL SHARED( a, b, c, n ) PRIVATE( i ) DO i = 1, n a(i) = b(i) * c(i) END DO