HP aC++/HP C A.06.20 Programmer's Guide

The section or sections pragmas identify a construct that specifies a set of constructs
to be divided among threads in a team. Each section is executed by one of the threads
in the team.
OMP SINGLE Pragma
#pragma omp single [clause1, clause2, . . .]
[ structured-block ]
where [clause1, clause2, ...] indicates that the clauses are optional. There
can be zero or more clauses.
clause may be one of the following:
private(list)
firstprivate(list)
copyprivate(list)
nowait
The single directive identifies a construct that specifies the associated structured
block that is executed by only one thread in the team (not necessarily the master thread).
OMP THREADPRIVATE Pragma
#pragma omp threadprivate (list)
where (list) is a comma-separated list of variables that do not have an incomplete
type.
The threadprivate directive makes the named file-scope, namescope-scope, or static
block-scope variables private to a thread.
OpenMP Clauses
Clauses on directives may be repeated as needed, subject to the restrictions listed in
the description of each clause. The order in which clauses appear in directives is not
significant. If variable-list appears in a clause, it must specify only variables. The
following is the list of clauses in OpenMP directives:
private
private(list)
The private clause declares the variables in the list to be private to each thread in
a team. A new object with automatic storage duration is allocated within the associated
structured block for each thread in the stream.
firstprivate
firstprivate(list)
OpenMP Clauses 147