función omp_set_dynamic 3.1.7
La función de omp_set_dynamic habilita o deshabilita el ajuste dinámico de subprocesos disponibles para la ejecución de las regiones paralelas.El formato es como se detalla a continuación:
#include <omp.h>
void omp_set_dynamic(int dynamic_threads);
Si los dynamic_threads se evalúan como un valor distinto de cero, el número de subprocesos que se utilizan para ejecutar las regiones paralelas subsiguientes se puede ajustar automáticamente el entorno en tiempo de ejecución el mejor utiliza recursos del sistema.En consecuencia, el número de subprocesos especificados por el usuario es el número de subprocesos máximo.El número de subprocesos del equipo que ejecuta una región paralela permanece fijo para la duración de esa región paralela y es compatible con la función de omp_get_num_threads .
si los dynamic_threads evalúan a 0, se deshabilita el ajuste dinámico.
Esta función tiene efectos descritos anteriormente cuando se denomina de una parte del programa donde la función de omp_in_parallel devuelve cero.Si se llama de una parte del programa donde la función de omp_in_parallel devuelve un valor distinto de cero, el comportamiento de esta función es indefinido.
Una llamada a omp_set_dynamic tiene prioridad sobre la variable de entorno OMP_DYNAMIC .
El valor predeterminado para el ajuste dinámico de subprocesos es implementación-definido.Como resultado, el código de usuario que dependen de un número concreto de subprocesos para la ejecución correcta deben deshabilitar explícitamente los subprocesos dinámicos.Las implementaciones no deben proporcionar la capacidad de ajustar dinámicamente el número de subprocesos, pero se requieren para proporcionar la interfaz para admitir portabilidad en todas las plataformas.
referencias cruzadas:
la función deomp_get_num_threads , vea sección 3.1.2 en la página 37.
La variable de entornoOMP_DYNAMIC , vea sección 4,3 en la página 49.
la función deomp_in_parallel , vea sección 3.1.6 en la página 38.