omp_set_nested
Permet un imbriqué le parallélisme.
void omp_set_nested(
int val
);
Notes
où,
- val
si une valeur différente de zéro, active le parallélisme imbriqué. Si le zéro, désactive imbriquait le parallélisme.
Notes
Le parallélisme imbriqué par OMP peut être activé avec omp_set_nested, ou en définissant la variable d'environnement OMP_NESTED .
Le paramètre pour omp_set_nested substitue le paramètre de la variable d'environnement OMP_NESTED .
En cas de activation, la variable d'environnement peut arrêter le programme sinon opérationnel parce que le nombre de threads augmente de façon exponentielle en imbriquant les régions parallèles. Par exemple une fonction que le recurses 6 expiration avec le nombre de threads d'OMP a la valeur 4 requiert 4.096 (4 à la puissance de 6) entraîne généralement les performances de votre application diminueront si le nombre de threads dépasse le nombre de processeurs. La seule exception à cette règle serait des applications liées aux E/S.
Utilisez omp_get_nested pour afficher le paramètre actuel d' omp_set_nested.
Pour plus d'informations, consultez 3.1.9 Fonction omp_set_nested.
Exemple
// omp_set_nested.cpp
// compile with: /openmp
#include <stdio.h>
#include <omp.h>
int main( )
{
omp_set_nested(1);
omp_set_num_threads(4);
printf_s("%d\n", omp_get_nested( ));
#pragma omp parallel
#pragma omp master
{
printf_s("%d\n", omp_get_nested( ));
}
}