Intel® Fortran Compiler 18.0 Developer Guide and Reference

MASTER

OpenMP* Fortran Compiler Directive: Specifies a block of code to be executed by the master thread of the team.

!$OMP MASTER

   block

!$OMP END MASTER

block

Is a structured block (section) of statements or constructs. You cannot branch into or out of the block.

The binding thread set for a MAS construct is the current team. A master region binds to the innermost enclosing parallel region.

When the MASTER directive is specified, the other threads in the team skip the enclosed block (section) of code and continue execution. There is no implied barrier, either on entry to or exit from the master section.

Example

The following example forces the master thread to execute the routines OUTPUT and INPUT:

  !$OMP PARALLEL DEFAULT(SHARED)
        CALL WORK(X)
  !$OMP MASTER
        CALL OUTPUT(X)
        CALL INPUT(Y)
  !$OMP END MASTER
        CALL WORK(Y)
  !$OMP END PARALLEL

See Also