Организация компьютерных систем. Орлов С.П - 167 стр.

UptoLike

при программировании суперкомпьютеров с большим количеством
процессоров, так и в настольных пользовательских системах.
В OpenMP используется модель параллельного выполнения
"ветвление-слияние". Программа OpenMP начинается как единствен-
ный поток выполнения, называемый начальным потоком. Когда по-
ток встречает параллельную конструкцию, он создает новую группу
потоков, состоящую из себя и некоторого числа дополнительных по-
токов, и становится главным в новой группе. Все члены новой груп-
пы (включая главный) выполняют код внутри параллельной
конструкции. В конце параллельной конструкции имеется неявный
барьер. После этого барьера выполнение пользовательского кода про-
должает только главный поток.
В параллельный регион могут быть вложены другие параллель-
ные области, в которых каждый поток первоначальной области стано-
вится основным для своей группы потоков. Вложенные области мо-
гут, в свою очередь, включать регионы более глубокого уровня вло-
женности.
Перечислим преимущества, которые OpenMP дает разработчику:
OpenMP идеально подходит для разработчиков, желающих бы-
стро распараллелить свои вычислительные программы с
большими параллельными циклами;
разработчик не создает новую параллельную программу, а про-
сто последовательно добавляет в текст последовательной про-
граммы OpenMP-директивы;
OpenMP - достаточно гибкий механизм, предоставляющий раз-
работчику большие возможности контроля над поведением па-
раллельного приложения.
На данный момент технология OpenMP поддерживается
большинством компиляторов языка С/С++. Последняя версия
OpenMP 2.0; которую полностью поддерживает Microsoft Visual
Studio 2005.
169