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

UptoLike

33
[!$OMP SECTION
блок операторов программы]
!$OMP END SECTIONS [NOWAIT]
Директива SECTIONS обрамляет параллельную секцию про-
граммы. Вложенные секции программы, задаваемые директивами
SECTION, распределяются между нитями. Атрибутами этой дирек-
тивы могут быть:
PRIVATE (список)
REDUCTION ({оператор|встроенная функция}:список)
FIRSTPRIVATE (список)
LASTPRIVATE (список)
По окончании параллельного цикла или блока параллельных сек-
ций нить, которая выполнила последнюю итерацию цикла или по-
следнюю секцию блока, обновляет значение переменной из списка.
!$OMP SINGLE [атрибут[[,] атрибут] …]
блок операторов программы
!$OMP END SINGLE [NOWAIT]
Директива SINGLE определяет, какая часть блока операторов
программы должна быть выполнена только одной нитью. Нити, ко-
торые не участвуют в выполнении операторов в блоке SINGLE,
ожидают завершения этого блока в том случае, если не установлен
атрибут NOWAIT. Атрибутами этой директивы могут быть:
PRIVATE (список)
FIRSTPRIVATE (список)
!$OMP MASTER
блок операторов программы
!$OMP END MASTER
Обрамляет блок операторов программы, который должен вы-
полняться только главной нитью.
!$OMP CRITICAL [(имя)]
блок операторов программы
!$OMP END CRITICAL [(имя)]
Директива CRITICAL разрешает доступ к выделенному блоку
только для одной нити в любой момент времени. Каждая оставшая-
ся нить приостанавливает выполнение программы перед этой ди-