### 15.2.3.7 MASTER Directive (TU*X only)

The MASTER directive specifies a block of code to be executed by the master thread of the team. It takes the following form:

  c$OMP MASTER
  block
  c$OMP END MASTER
  c
  Is one of the following: C (or c), !, or * (see Section 15.2.1).
  block
  Is a structured block (section) of statements or constructs. You cannot branch into or out of the block.

Rules and Behavior

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.

Examples

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

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

Previous Page Next Page Table of Contents