Developer Guide and Reference

ID 767251
Date 10/31/2024
Public
Document Table of Contents

DISTRIBUTE PARALLEL DO

OpenMP* Fortran Compiler Directive: Specifies a loop that can be executed in parallel by multiple threads that are members of multiple teams.

Syntax

!$OMP DISTRIBUTE PARALLEL DO [clause[[,] clause]... ]

   do-loop

[!$OMP END DISTRIBUTE PARALLEL DO]

clause

Can be any of the clauses accepted by the DISTRIBUTE or PARALLEL DO directives with identical meanings and restrictions except for ORDERED and LINEAR .

do-loop

Is one or more DO iterations (DO loops). The DO iteration cannot be a DO WHILE or a DO loop without loop control. The DO loop iteration variable must be of type integer.

All loops associated with the construct must be structured and perfectly nested; that is, there must be no intervening code and no other OpenMP* Fortran directives between any two loops.

The iterations of the DO loop are distributed across the existing team of threads. The values of the loop control parameters of the DO loop associated with a DO directive must be the same for all the threads in the team.

If the END DISTRIBUTE PARALLEL DO directive is not specified, an END DISTRIBUTE PARALLEL DO directive is assumed at the end of do-loop.

This directive specifies a composite construct.