3.1.1 omp_set_num_threads Function
The omp_set_num_threads function sets the default number of threads to use for subsequent parallel regions that do not specify a num_threads clause. The format is as follows:
#include <omp.h> void omp_set_num_threads(int num_threads);
The value of the parameter num_threads must be a positive integer. Its effect depends upon whether dynamic adjustment of the number of threads is enabled. For a comprehensive set of rules about the interaction between the omp_set_num_threads function and dynamic adjustment of threads, see Section 2.3 on page 8.
This function has the effects described above when called from a portion of the program where the omp_in_parallel function returns zero. If it is called from a portion of the program where the omp_in_parallel function returns a nonzero value, the behavior of this function is undefined.
This call has precedence over the OMP_NUM_THREADS environment variable. The default value for the number of threads, which may be established by calling omp_set_num_threads or by setting the OMP_NUM_THREADS environment variable, can be explicitly overridden on a single parallel directive by specifying the num_threads clause.