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