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
— Ю.Т.
Источники
- Введение в параллельное программирование...