3.1.7 omp_set_dynamic – funkce
Omp_set_dynamic funkce povolí nebo zakáže dynamické úpravy počet podprocesů, které jsou k dispozici pro spuštění paralelní regionů.Formát je následující:
#include <omp.h>
void omp_set_dynamic(int dynamic_threads);
Pokud dynamic_threads vyhodnocen jako nenulová hodnota počtu podprocesů použitých pro provádění následných paralelní regionů může upravit automaticky prostředí run-time pro nejlepší využití systémových prostředků.Proto je počet podprocesů, které uživatel počet podprocesů maximální.Počet podprocesů v týmu provádění paralelní oblast zůstane pevnou dobu trvání paralelní regionu a je vykazován omp_get_num_threads funkce.
Pokud dynamic_threads vyhodnocen na hodnotu 0, je zakázáno dynamické úpravy.
Tato funkce má účinky při volání z část programu výše popsané kde omp_in_parallel funkce vrátí nulu.Pokud je volána ze část programu kde omp_in_parallel funkce vrátí nenulovou hodnotu, chování této funkce není definován.
Volání omp_set_dynamic má přednost OMP_DYNAMIC proměnné prostředí.
Výchozí nastavení pro dynamické úpravy podprocesů je definované implementací.Uživatelské kódy, které závisejí na konkrétní počet podprocesů pro správné provedení by proto výslovně zakázat dynamické podprocesů.Implementace se musí poskytovat možnost dynamicky upravit počet podprocesů, ale musí poskytovat rozhraní všechny platformy podporují přenositelnost.
Křížové odkazy:
omp_get_num_threads fungovat, viz bodu 3.1.2 na stránce 37.
OMP_DYNAMIC prostředí, proměnné, viz oddíl 4.3 na stránce 49.
omp_in_parallel fungovat, viz oddíl 3.1.6 na stránce 38.