Test which checks that the omp_get_num_threads returns the correct number of threads. Therefor it counts up a variable in a parallelized section and compars this value with the result of the omp_get_num_threads function. 2.0 omp_get_num_threads #include #include "omp_testsuite.h" int omp_get_num_threads (FILE * logFile) { /* checks that omp_get_num_threads is equal to the number of threads */ int nthreads_lib; int nthreads = 0; nthreads_lib = -1; #pragma omp parallel { #pragma omp critical { nthreads++; } /* end of critical */ #pragma omp single { nthreads_lib = omp_get_num_threads (); } /* end of single */ } /* end of parallel */ fprintf (logFile, "Counted %d threads. get_num_threads returned %d.\n", nthreads, nthreads_lib); return (nthreads == nthreads_lib); }