NAG Library Routine Document

x06acf (get_max_threads)

1
Purpose

x06acf returns an upper bound on the number of threads used for subsequent OpenMP parallel regions.

2
Specification

Fortran Interface
Function x06acf ( )
Integer:: x06acf
C Header Interface
#include <nagmk26.h>
Integer  x06acf_ ()

3
Description

x06acf, for multi-threaded implementations, returns the number of the threads to be requested for subsequent parallel regions. The value is the first element of the list held by the OpenMP Internal Control Variable (ICV) used in determining the number of threads. See 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 first 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 will always return 1. See the X06 Chapter Introduction for a discussion of the behaviour of these routines when called in serial.

4
References

OpenMP Specifications
Chapman B, Jost G and van der Pas R (2008) Using OpenMP Portable Shared Memory Parallel Programming The MIT Press

5
Arguments

None.

6
Error Indicators and Warnings

None.

7
Accuracy

Not applicable.

8
Parallelism and Performance

x06acf is not threaded in any implementation.

9
Further Comments

None.

10
Example

See Section 10 in x06aaf for a demonstration of how to use x06acf.