Freigeben über


3.1.9 omp_set_nested-Funktion

Die omp_set_nested-Funktion aktiviert oder deaktiviert geschachtelten Parallelität.Es wird folgendes Format verwendet:

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

Wenn Sie geschachtelt sind, wertet bis 0, wird geschachtelter Parallelität deaktiviert, der Standardwert ist, und geschachtelten parallelen Bereiche werden vom aktuellen Thread serialisiert und ausgeführt.Wenn Sie geschachtelt sind, wertet auf einen Wert ungleich 0 (null), wird geschachtelter Parallelität aktiviert, und parallele Bereiche, die geschachtelt sind, stellen möglicherweise zusätzliche Threads bereit, um geschachtelte Teams zu bilden.

Diese Funktion besitzt die Auswirkungen, die oben beschriebenen wenn sie von einem Teil des Programms aufgerufen wird, in dem die omp_in_parallel-Funktion (null) zurückgibt.Wenn sie für einen Teil des Programms aufgerufen wird, in dem die omp_in_parallel-Funktion einen Wert ungleich 0 (null) zurückgibt, ist das Verhalten dieser Funktion nicht definiert.

Dieser Aufruf hat Vorrang vor der OMP_NESTED Umgebungsvariablen.

Wenn geschachtelter Parallelität aktiviert ist, wird die Anzahl der Threads, die verwendet werden, um geschachtelte Bereiche parallele Ausführen Implementierung-definiert.Daher werden OpenMP-kompatiblen Implementierungen ermöglicht, dass parallele geschachtelte Bereiche zu serialisieren, auch wenn geschachtelter Parallelität aktiviert ist.

Querverweise: