Condividi tramite


omp_set_nested

Abilita annidato il parallelismo.

void omp_set_nested(
   int val
);

Note

dove:

  • val
    Se diverso da zero, consente il parallelismo annidato.Se zero, disabilita il parallelismo annidato.

Note

Il parallelismo annidato OMP può essere attivato da omp_set_nested, o impostando OMP_NESTED variabile di ambiente.

l'impostazione per omp_set_nested eseguirà l'override dell'impostazione di OMP_NESTED variabile di ambiente.

Una volta abilitata, la variabile di ambiente possibile interrompere un programma in caso contrario operativo poiché il numero di thread in modo esponenziale quando si annidano le aree parallele.Ad esempio una funzione che i recurses 6 durata con il numero di thread di OMP impostato su 4 richiede 4.096 (4 alla potenza di 6) thread in genere le prestazioni dell'applicazione è degraderanno se il numero di thread supera il numero di processori.Fa eccezione a questa sarebbe applicazioni associate I/O.

utilizzo omp_get_nested per visualizzare l'impostazione corrente di omp_set_nested.

Per ulteriori informazioni, vedere Funzione omp_set_nested 3.1.9.

Esempio

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

Vedere anche

Concetti

Funzioni di OpenMP