omp_set_nested
Vnořené rovnoběžnosti umožňuje.
void omp_set_nested(
int val
);
Poznámky
kde,
- val
Pokud je nenulová, umožňuje vnořené rovnoběžnosti.Pokud je nula, zakáže vnořené rovnoběžnosti.
Poznámky
OMP vnořené rovnoběžnosti lze zapnout s omp_set_nested, nebo nastavením OMP_NESTED proměnné prostředí.
Nastavení pro omp_set_nested přepíše nastavení OMP_NESTED proměnné prostředí.
Po povolení proměnnou prostředí přerušení jinak operační program, protože zvyšuje počet podprocesů exponenciálně při vnoření paralelní regionů.Například funkce, že recurses s časy 6 počet podprocesů OMP nastavena na 4 vyžaduje 4 096 (4 až 6 napájení) podprocesy obecně, pokud počet podprocesů překročí počet procesorů, dojde ke zhoršení výkonu aplikace.Jedinou výjimkou by být že vázán I/O aplikace.
Použití omp_get_nested zobrazit aktuální nastavení omp_set_nested.
Další informace naleznete v tématu 3.1.9 omp_set_nested – funkce.
Příklad
// 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( ));
}
}