Udostępnij za pośrednictwem


3.1.9 omp_set_nested funkcji

Omp_set_nested funkcja włącza lub wyłącza równoległości zagnieżdżone.Format jest następujący:

#include <omp.h>
void omp_set_nested(int nested);

Jeśli zagnieżdżonych wynikiem jest 0, zagnieżdżone równoległości jest wyłączona, co jest ustawieniem domyślnym i zagnieżdżone regiony równoległe są szeregowane i wykonywane przez bieżący wątek.Jeśli zagnieżdżonych wynikiem jest wartość różną od zera, zagnieżdżone równoległości jest włączona i równoległych regionów, które są zagnieżdżone może wdrożyć dodatkowych wątków do tworzenia zagnieżdżonych zespołów.

Ta funkcja ma wpływ, w opisanych powyżej, po wywołaniu z części programu, gdy omp_in_parallel funkcja zwraca wartość zero.Jeśli jest wywoływana z części programu, gdy omp_in_parallel funkcja zwraca wartość różną od zera, zachowanie tej funkcji jest niezdefiniowane.

To wywołanie ma pierwszeństwo przed OMP_NESTED zmiennej środowiskowej.

Po włączeniu zagnieżdżonych równoległości, liczba wątków używanych do zagnieżdżone regiony równoległe wykonywanie jest zdefiniowane w implementacji.W efekcie implementacje zgodny z OpenMP są dozwolone serializować zagnieżdżone regiony równolegle, nawet w przypadku, gdy jest włączone równoległości zagnieżdżone.

Odsyłacze:

  • OMP_NESTED środowiska zmiennej, zobacz sekcji 4.4 na stronie 49.

  • omp_in_parallel działać, zobacz sekcja 3.1.6 na stronie 38.