nag_omp_get_thread_num (x06adc), for multi-threaded implementations, returns the calling OpenMP thread's unique thread number within the current team. The master thread will always return
. The remaining threads will return a value between
and the value returned by
nag_omp_get_num_threads (x06abc) less
.
If this function is called from a sequential part of a multi-threaded program then it will return the value .
In serial implementations of the NAG C Library this function will always return
. See the
x06 Chapter Introduction for a discussion of the behaviour of these functions when called in serial.
None.
None.
Not applicable.
None.
In this example we presume a multi-threaded implementation of the NAG C Library. We call nag_omp_get_thread_num (x06adc) both outside and inside an OpenMP active parallel region. Outside we expect a single thread to display the value . Inside the region we use the value to have only the master thread display the result.
We also call
nag_omp_in_parallel (x06afc) inside and outside of the region. Outside we expect it to return
, as we are not in an active parallel region, and inside we expect to see the value
, 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,
nag_omp_get_num_threads (x06abc) will always return
and
nag_omp_get_thread_num (x06adc) and
nag_omp_in_parallel (x06afc) will always return
. The appropriate results file will be included with the distribution material for your implementation.
None.