Compartilhar via


omp_set_nested

Habilita o paralelismo aninhado.

void omp_set_nested(
   int val
);

Comentários

onde,

  • val
    Se for diferente de zero, permite o paralelismo aninhado.Se for zero, desativa o paralelismo aninhado.

Comentários

OMP aninhado paralelismo pode ser ativado com omp_set_nested, ou definindo a OMP_NESTED variável de ambiente.

A configuração para omp_set_nested cancelará a definição da OMP_NESTED variável de ambiente.

Quando ativada, a variável de ambiente pode quebrar um programa de outra forma operacional porque o número de threads aumenta exponencialmente quando regiões paralelas de aninhamento.Por exemplo, uma função que recurses 6 vezes com o número de segmentos do OMP definido como 4 requer 4.096 (4 à potência de 6) segmentos em geral, degrada o desempenho do seu aplicativo se o número de segmento excede o número de processadores.Uma exceção a isso seria que aplicativos ligados de i/O.

Use omp_get_nested para exibir a configuração atual da omp_set_nested.

Para obter mais informações, consulte 3.1.9 omp_set_nested função.

Exemplo

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

Consulte também

Conceitos

Funções OpenMP