OpenMP — различия между версиями

Материал из ЭНЭ
Перейти к: навигация, поиск
(Новая страница: «'''OpenMP''': стандартизованная модель параллельного программиро…»)
 
м (оформление)
 
Строка 1: Строка 1:
'''OpenMP''': стандартизованная [[модель программирования|модель]] параллельного программирования по [[параллельные вычисления с общей памятью|парадигме общей памяти]] и соответствующее дополнение к [[среда исполнения|среде исполнения]]. Имеет [[интерфейс]]ы к Си/Си++ и Фортрану. Считается хорошо переносимой между [[платформа (ЭВМ)|платформами]] и масштабируемой.
+
'''OpenMP''': стандартизованная [[модель параллельных вычислений|модель]] параллельного программирования по [[параллельные вычисления с общей памятью|парадигме общей памяти]] и соответствующее дополнение к [[среда исполнения|среде исполнения]]. Имеет [[интерфейс]]ы к Си/Си++ и Фортрану. Считается хорошо переносимой между [[платформа (ЭВМ)|платформами]] и масштабируемой.
  
 
Модель разработана в 1997 году промышленным консорциумом во главе с Silicon Graphics; имеет существенную преемственность со стандартами (спецификациями) PCF Fortran и HPF (High-performance Fortran). Подобно HPF, для задания параллелизма используются особые приказы (директивы) компилятора (т.наз. ''директивная параллельность''), начинающиеся с пары знаков <code>!$</code>; соответственно, при [[сборка программы|сборке программы]] в непараллельной среде компилятор может истолковать эти инструкции параллельности как комментарии, т.е., проигнорировать их.
 
Модель разработана в 1997 году промышленным консорциумом во главе с Silicon Graphics; имеет существенную преемственность со стандартами (спецификациями) PCF Fortran и HPF (High-performance Fortran). Подобно HPF, для задания параллелизма используются особые приказы (директивы) компилятора (т.наз. ''директивная параллельность''), начинающиеся с пары знаков <code>!$</code>; соответственно, при [[сборка программы|сборке программы]] в непараллельной среде компилятор может истолковать эти инструкции параллельности как комментарии, т.е., проигнорировать их.

Текущая версия на 13:40, 24 февраля 2017

OpenMP: стандартизованная модель параллельного программирования по парадигме общей памяти и соответствующее дополнение к среде исполнения. Имеет интерфейсы к Си/Си++ и Фортрану. Считается хорошо переносимой между платформами и масштабируемой.

Модель разработана в 1997 году промышленным консорциумом во главе с Silicon Graphics; имеет существенную преемственность со стандартами (спецификациями) PCF Fortran и HPF (High-performance Fortran). Подобно HPF, для задания параллелизма используются особые приказы (директивы) компилятора (т.наз. директивная параллельность), начинающиеся с пары знаков !$; соответственно, при сборке программы в непараллельной среде компилятор может истолковать эти инструкции параллельности как комментарии, т.е., проигнорировать их.

Модель OpenMP предоставляет хорошие возможности по программированию машин, имеющих унифицированный (единообразный) доступ к общей памяти. Однако модель не содержит способа определить (задать) местность (локальность) данных в машинах с неединообразной общей или распределённой памятью. На кластерах, состоящих из многопроцессорных рабочих станций, среду OpenMP часто используют в сочетании со средой MPI — OpenMP собственно на узлах, а MPI — для передачи сообщений между узлами.

Пример задания параллельно исполняемого цикла в OpenMP-варианте языка Фортран:

!$OMP PARALLEL DO

DO I = 2, N

APRIME(I) = (A(I+1) +2*A(I) + A(I-1))*0.25

ENDDO

Ю.Т.

Источники

  • Введение в параллельное программирование...