3.1.9 Funkcja omp_set_nested
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.