Средства программирования для многопроцессорных вычислительных систем. Немнюгин C.А. - 19 стр.

UptoLike

Составители: 

19
OpenMP
стандарт
программного
интерфейса
приложений
для
параллельных
систем
с
общей
памятью
.
Поддерживает
языки
C, C++,
Фортран
.
Модель программы в OpenMP
Рис. 12.
Модель
параллельной
программы
в
OpenMP
Модель
параллельной
программы
в
OpenMP
можно
сформулировать
следующим
образом
:
Программа
состоит
из
последовательных
и
параллельных
секций
(
рис
. 12).
В
начальный
момент
времени
создается
главная
нить
,
выполняющая
последовательные
секции
программы
.
При
входе
в
параллельную
секцию
выполняется
операция
fork,
порождающая
семейство
нитей
.
Каждая
нить
имеет
свой
уникальный
числовой
идентификатор
(
главной
нити
соответствует
0).
При
распараллеливании
циклов
все
параллельные
нити
исполняют
один
код
.
В
общем
случае
нити
могут
исполнять
различные
фрагменты
кода
.
При
выходе
из
параллельной
секции
выполняется
операция
join.
Завершается
выполнение
всех
нитей
,
кроме
главной
.
OpenMP
составляют
следующие
компоненты
:
Директивы
компилятора
-
используются
для
создания
потоков
,
распределения
работы
между
потоками
и
их
синхронизации
.
Директивы
включаются
в
исходный
текст
программы
.
Подпрограммы
библиотеки
времени
выполнения
-
используются
для
установки
и
определения
атрибутов
потоков
.
Вызовы
этих
подпрограмм
включаются
в
исходный
текст
программы
.
Переменные
окружения
-
используются
для
управления
поведением
параллельной
программы
.
Переменные
окружения
задаются
для
среды
выполнения
параллельной
программы
соответствующими
командами
(
например
,
командами
оболочки
в
операционных
системах
UNIX).
Использование
директив
компилятора
и
подпрограмм
библиотеки
времени
выполнения
подчиняется
правилам
,
которые
различаются
для
разных
языков
программирования
.
Совокупность
таких
правил
называется
привязкой
к
языку
.