Compartir a través de


si (OpenMP)

Especifica si un bucle se debe ejecutar en paralelo o en serie.

if(expression)

Comentarios

donde

  • expression
    Una expresión entera que, si se evalúa como true (cero), hace que el código de la región paralela para ejecutarse en paralelo.Si la expresión se evalúa en false (cero), la región paralela se ejecuta en serie (por un subproceso).

Comentarios

if se aplica a las siguientes directivas:

Para obtener más información, vea construcción paralela 2,3.

Ejemplo

// omp_if.cpp
// compile with: /openmp
#include <stdio.h>
#include <omp.h>

void test(int val)
{
    #pragma omp parallel if (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( )
{
    omp_set_num_threads(2);
    test(0);
    test(2);
}
  

Vea también

Referencia

Cláusulas de OpenMP