Высокопроизводительные вычисления на кластерах. Беликов Д.А - 35 стр.

UptoLike

35
рующих поведение приложения. В OpenMP предусмотрен также
набор библиотечных процедур, которые позволяют:
во время исполнения контролировать и запрашивать различ-
ные параметры, определяющие поведение приложения (такие
как число нитей и процессоров, возможность вложенного па-
раллелизма); процедуры назначения параметров имеют при-
оритет над соответствующими переменными окружения;
использовать синхронизацию на базе замков (locks).
2.4.3 Переменные окружения
В UNIX переменные окружения задаются следующим образом:
export ПЕРЕМЕННАЯ = значение.
OMP_SCHEDULE
Эта переменная определяет способ распределения итераций в
цикле между нитями.
OMP_NUM_THREADS
Определяет число нитей для исполнения параллельных областей
приложения.
OMP_DYNAMIC
Разрешает (.TRUE.) или запрещает (.FALSE.) динамическое рас-
пределение итераций между нитями.
OMP_NESTED
Разрешает или запрещает вложенный параллелизм.
2.4.4 Процедуры для контроля/запроса параметров среды
исполнения
SUBROUTINE OMP_SET_NUM_THREADS (THREADS)
INTEGER THREADS
Позволяет назначить максимальное число нитей для использова-
ния в следующей параллельной области (если это число разрешено
менять динамически). Вызывается из последовательной области
программы.
INTEGER FUNCTION OMP_GET_MAX_THREADS ()
Возвращает максимальное число нитей, которое можно исполь-
зовать в параллельной части программы.