funzione omp_set_dynamic 3.1.7
omp_set_dynamic la funzione attiva o disabilita la modifica dinamica del numero di thread disponibili per l'esecuzione delle aree parallele.Il formato è il seguente:
#include <omp.h>
void omp_set_dynamic(int dynamic_threads);
se dynamic_threads restituisce un valore diverso da zero, il numero di thread utilizzati per eseguire le aree parallele successive possono essere regolati automaticamente dall'ambiente di runtime al meglio utilizzano le risorse di sistema.Di conseguenza, il numero di thread specificati dall'utente è il conteggio dei thread massimo.Il numero di thread del team che esegue un'area parallela rimane fisso per la durata dell'area parallela e viene segnalato da omp_get_num_threads funzione.
se dynamic_threads restituisce 0, regolazione dinamica è disabilitato.
La funzione presenta effetti descritti in precedenza in caso di chiamata da una parte del programma in cui omp_in_parallel restituisce zero di funzione.Se viene chiamata da una parte del programma in cui omp_in_parallel la funzione restituisce un valore diverso da zero, il comportamento di questa funzione è definita.
una chiamata a omp_set_dynamic ha la precedenza su OMP_DYNAMIC variabile di ambiente.
L'impostazione predefinita per la modifica dinamica dei thread è implementazione-definita.Di conseguenza, i codici utenti che dipendono da un numero specifico dei thread per l'esecuzione corretta devono disabilitare in modo esplicito i thread dinamici.Le implementazioni non sono necessarie per consentire di modificare dinamicamente il numero di thread, ma sono necessarie fornire l'interfaccia per supportare la portabilità tra tutte le piattaforme.
riferimenti incrociati:
omp_get_num_threads la funzione, vedere parte 3.1.2 nella pagina 37.
OMP_DYNAMIC la variabile di ambiente, vedere parte 4,3 nella pagina 49.
omp_in_parallel la funzione, vedere parte 3.1.6 nella pagina 38.