if (OpenMP)
Visual Studio 2005
Specifies whether a loop should be executed in parallel or in serial.
if(expression)
// omp_if.cpp
// compile with: /openmp
#include <stdio.h>
#include <omp.h>
void test(int val)
{
#pragma omp parallel if (val) num_threads(val)
if (omp_in_parallel())
#pragma omp single
printf_s("val = %d, parallelized with %d threads\n",
val, omp_get_num_threads());
else
printf_s("val = %d, serialized\n", val);
}
int main( )
{
test(0);
test(2);
}
Output
val = 0, serialized val = 2, parallelized with 2 threads