Intel® Fortran Compiler Classic and Intel® Fortran Compiler Developer Guide and Reference

ID 767251
Date 6/24/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

TARGET TEAMS LOOP

OpenMP* Fortran Compiler Directive: Specifies a shortcut for specifying a TEAMS LOOP construct inside a TEAMS construct that contains no other statements. This feature is only available for ifx.

Syntax

!$OMP TARGET TEAMS LOOP [clause[[,] clause]... ]

   do-loop

[!$OMP END TARGET TEAMS LOOP]

clause

Can be any of the clauses accepted by the TARGET or TEAMS LOOP directives with identical meanings and restrictions.

do-loop

Is a DO loop that may contain other nested DO loops. The DO loops must all be in canonical form. The DO loop iteration variable must be of type integer.

The loop can be a DO CONCURRENT loop, subject to the rules specified for variables referenced in a DO CONCURRENT loop associated with LOOP and TEAMS constructs.

This combined directive is semantically equivalent to a TEAMS LOOP construct that immediately follows a TARGET directive. All restrictions for TARGET and TEAMS LOOP constructs apply to this combined construct.

If used, the END TARGET TEAMS LOOP directive must appear immediately after the end of the loop. If you do not specify an END TARGET TEAMS LOOP directive, an END TARGET TEAMS LOOP directive is assumed at the end of the do-loop.

If do-loop is a DO CONCURRENT loop, a variable that has SHARED locality in the DO CONCURRENT loop is treated as if it appears in a MAP clause with map-type TOFROM.