NAG CL Interface
x06adc (get_​thread_​num)

Settings help

CL Name Style:

1 Purpose

x06adc returns the OpenMP thread number of the calling thread.

2 Specification

#include <nag.h>
Integer  x06adc ()
The function may be called by the names: x06adc or nag_omp_get_thread_num.

3 Description

x06adc, for multithreaded implementations, returns the calling OpenMP thread's unique thread number within the current team. The master thread will always return 0. The remaining threads will return a value between 1 and the value returned by x06abc less 1.
If this function is called from a sequential part of a multithreaded program then it will return the value 0.
In serial implementations of the NAG Library this function will always return 0. See the X06 Chapter Introduction for a discussion of the behaviour of these functions when called in serial.

4 References

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

5 Arguments


6 Error Indicators and Warnings


7 Accuracy

Not applicable.

8 Parallelism and Performance

x06adc is not threaded in any implementation.

9 Further Comments


10 Example

In this example we presume a multithreaded implementation of the NAG Library. We call x06adc both outside and inside an OpenMP active parallel region. Outside we expect a single thread to display the value 0. Inside the region we use the value to have only the master thread display the result.
We also call x06afc inside and outside of the region. Outside we expect it to return 0, as we are not in an active parallel region, and inside we expect to see the value 1, indicating that the parallel region is an active one.
If you use a serial implementation of the NAG Library, regardless of whether the code is compiled with OpenMP or not, x06abc will always return 1 and x06adc and x06afc will always return 0. The appropriate results file will be included with the distribution material for your implementation.

10.1 Program Text

Program Text (x06adce.c)

10.2 Program Data


10.3 Program Results

Program Results (x06adce.r)