Переменные среды OpenMP
Содержит ссылки на переменные среды, используемые в API OpenMP.
Реализация Visual C++ стандарта OpenMP включает следующие переменные среды. Эти переменные среды считываются при запуске программы и изменения их значений игнорируются во время выполнения (например, при использовании _putenv, _wputenv).
Переменная среды | Description |
---|---|
OMP_SCHEDULE | Изменяет поведение предложения schedule при schedule(runtime) указании в или parallel for директивеfor . |
OMP_NUM_THREADS | Задает максимальное количество потоков в параллельном регионе, если не переопределяется omp_set_num_threads или num_threads. |
OMP_DYNAMIC | Указывает, может ли время выполнения OpenMP настроить количество потоков в параллельном регионе. |
OMP_NESTED | Указывает, включен ли вложенный параллелизм, если не включен или отключен omp_set_nested вложенный параллелизм. |
OMP_DYNAMIC
Указывает, может ли время выполнения OpenMP настроить количество потоков в параллельном регионе.
set OMP_DYNAMIC[=TRUE | =FALSE]
Замечания
Переменная OMP_DYNAMIC
среды может быть переопределена функцией omp_set_dynamic .
Значение по умолчанию в реализации Visual C++ стандарта OMP_DYNAMIC=FALSE
OpenMP.
Дополнительные сведения см. в OMP_DYNAMIC версии 4.3.
Пример
Следующая команда задает OMP_DYNAMIC
переменную среды значение TRUE:
set OMP_DYNAMIC=TRUE
Следующая команда отображает текущий параметр переменной OMP_DYNAMIC
среды:
set OMP_DYNAMIC
OMP_NESTED
Указывает, включен ли вложенный параллелизм, если не включен или отключен omp_set_nested
вложенный параллелизм.
set OMP_NESTED[=TRUE | =FALSE]
Замечания
Переменная OMP_NESTED
среды может быть переопределена функцией omp_set_nested .
Значение по умолчанию в реализации Visual C++ стандарта OMP_NESTED=FALSE
OpenMP.
Дополнительные сведения см. в OMP_NESTED 4.4.
Пример
Следующая команда задает OMP_NESTED
переменную среды значение TRUE:
set OMP_NESTED=TRUE
Следующая команда отображает текущий параметр переменной OMP_NESTED
среды:
set OMP_NESTED
OMP_NUM_THREADS
Задает максимальное количество потоков в параллельном регионе, если не переопределяется omp_set_num_threads или num_threads.
set OMP_NUM_THREADS[=num]
Параметры
num
Максимальное количество потоков, которые требуется в параллельном регионе, до 64 в реализации Visual C++.
Замечания
Переменная OMP_NUM_THREADS
среды может быть переопределена функцией omp_set_num_threads или num_threads.
Значение num
по умолчанию в реализации Visual C++ стандарта OpenMP — это количество виртуальных процессоров, включая гиперпоточность ЦП.
Дополнительные сведения см. в OMP_NUM_THREADS версии 4.2.
Пример
Следующая команда задает OMP_NUM_THREADS
переменную 16
среды следующим образом:
set OMP_NUM_THREADS=16
Следующая команда отображает текущий параметр переменной OMP_NUM_THREADS
среды:
set OMP_NUM_THREADS
OMP_SCHEDULE
Изменяет поведение предложения schedule при schedule(runtime)
указании в или parallel for
директивеfor
.
set OMP_SCHEDULE[=type[,size]]
Параметры
size
(Необязательно) Задает размер итерации. размер должен быть положительным целым числом. Значение по умолчанию 1
— за исключением того, когда тип является статическим. Недопустимо, если тип имеет значение runtime
.
type
Тип планирования либо dynamic
, guided
runtime
либо static
.
Замечания
Значение по умолчанию в реализации Visual C++ стандарта OMP_SCHEDULE=static,0
OpenMP.
Дополнительные сведения см. в OMP_SCHEDULE версии 4.1.
Пример
Следующая команда задает OMP_SCHEDULE
переменную среды:
set OMP_SCHEDULE="guided,2"
Следующая команда отображает текущий параметр переменной OMP_SCHEDULE
среды:
set OMP_SCHEDULE