Intel® Fortran Compiler 18.0 Developer Guide and Reference
OpenMP* Fortran Compiler Directive: Provides an abbreviated way to specify a TARGET directive containing a PARALLEL DO directive and no other statements.
!$OMP TARGET PARALLEL DO [clause[[,] clause] ... ]
do-loop
[!$OMP END TARGET PARALLEL DO]
clause |
Can be any of the clauses accepted by the TARGET or PARALLEL DO directives, except for the COPYIN clause. |
do-loop |
Is a DO iteration (a DO loop). It cannot be a DO WHILE or a DO loop without loop control. The DO loop iteration variable must be of type integer. You cannot branch out of a DO loop associated with a DO directive. |
If the END TARGET PARALLEL DO directive is not specified, the TARGET PARALLEL DO is assumed at the end of do-loop. If used, the END TARGET PARALLEL DO directive must appear immediately after the end of do-loop.
The semantics are identical to explicitly specifying a TARGET directive immediately followed by a PARALLEL DO directive.
The restrictions for the TARGET and PARALLEL DO constructs apply to this directive except for the following:
If any IF clause in the directive includes a directive-name-modifier then all IF clauses in the directive must include a directive-name-modifier.
At most one IF clause with no directive-name-modifier can appear on the directive.
At most one IF clause with the PARALLEL directive-name-modifier can appear on the directive.
At most one IF clause with the TARGET directive-name-modifier can appear on the directive.