Partager via


if (OpenMP)

Spécifie si une boucle doit être exécutée en parallèle ou dans l'interface série.

if(expression)

Notes

où,

  • expression
    Une expression complète qui, si elle prend la valeur true (différent de zéro), fait pour exécuter du code dans une région parallèle en parallèle. Si l'expression a la valeur false (zéro), la région parallèle est exécutée dans l'interface série (par un thread unique).

Notes

if s'applique aux directives suivantes :

Pour plus d'informations, consultez 2.3 Construction parallèle.

Exemple

// 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);
}
  

Voir aussi

Référence

Clauses OpenMP