Параллельное программирование - 6 стр.

UptoLike

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

Команда нитей, встретившая конструкцию распределения работы, разделяет
работу заданную этой конструкцией между нитями команды, и эта работа вы-
полняется нитями совместно, вместо того чтобы выполняться полностью каждой
нитью. После конструкции распределения работы все нити продолжают вы-
полнение кода параллельной области.
Конструкции синхронизации и библиотечные подпрограммы позволяют со-
гласовывать выполнение нитей и доступ к данным в параллельных областях.
Отметьте, что нет гарантий синхронного доступа к файлам при выполнении
ввода/вывода из разных нитей, поэтому синхронизация в этом случае возлагается
на программиста.
3.2.Модель памяти
OpenMP предполагает, что программа выполняется в системе с разделяемой
памятью, в которой хранятся (могут быть сохранены и выбраны) переменные
программы доступные всем её нитям. Кроме того каждая нить имеет доступ к
памяти, недоступной для всех других нитей; такая память называется частной
памятью нити.
Директива parallel разделяет память, доступную параллельной области, на
разделяемую (shared) и частную (private). Каждая переменная, встречающаяся в
параллельной области, имеет соотвествующую одноименную (оригинальную)
переменную вне параллельной области. Разделяемая переменная ссылается на ту
же память, что и оригинальная переменная вне параллельной области. Для каждой
частной переменной создается новая переменная в памяти каждой нити, кроме,
быть может, нити-хозяйки. Частные переменные в параллельной области
ссылаются на частную память нити.
Дополнительно каждая нить может иметь своё временное представление па-
мяти. Это временное представление не является необходимой частью модели
6