x06aaf, for multithreaded implementations, sets the number of threads
to be requested for subsequent parallel regions to
num. The first element of the list held by the OpenMP Internal Control Variable (ICV) used in determining the number of threads is set. See the
Users' Note for your implementation for details of the scope of this routine.
The number of threads used in parallel regions will be equal to, or less than, the value of the ICV. The actual number of threads used is dependent on several factors, such as the presence of a
num_threads clause on the
parallel directive or the number of threads already in use by the program. Please refer to
Section 4 for a full description of how the number of threads is chosen for a particular parallel region.
In serial implementations of the NAG Library this routine has no effect.
See the
X06 Chapter Introduction for a discussion of the behaviour of these routines when called in serial.
If on entry
or
, explanatory error messages are output on the current error message unit (as defined by
x04aaf).
Not applicable.
Background information to multithreading can be found in the
Multithreading documentation.
None.
In this example we presume a multithreaded implementation of the
NAG Library. We set the OpenMP Internal Control Variable used in determining the number of threads
to
with a call to
x06aaf and retrieve it again with
x06acf.
We then, using
x06abf, display the number of threads in use both outside, and inside, the OpenMP parallel region.
We expect to see
x06abf returning
outside of the parallel region, as the current team of threads there will consist of a single thread, and
from within it.
If you use a serial implementation of the NAG Library, regardless of whether the code is compiled with OpenMP or not, calling
x06aaf has no effect and
x06abf and
x06acf will always return
. The appropriate results file will be included with the distribution material for your implementation.
None.