Языки и системы, разработанные международными коллективами и признанные в качестве стандартных

На главную страницу раздела.


MPI (Message Passing Interface)

Система ориентирована на архитектуру с распределенной памятью и представляет собой набор библиотечных интерфейсов.

Используется механизм задач (процессов) и передачи сообщений (обмен данными). Исходная программа разбивается на задачи (подзадачи), которые могут выполняться параллельно на разных процессорных узлах, и связь между задачами осуществляется с помощью передачи сообщений.

Предшественники: PVM, P4, PARMACS, Expersss и др.

Библиотечные процедуры MPI могут использоваться в программах на языках Фортран и Си. Разработаны версии: 1.0, 1.1, 1.2, 1.3 и 2.0. Версия 2.0 содержит средства, обеспечивающие использование системы в программах на Фортране 90 и Си++.

Опубликованы версии 2.1. (сентябрь 2008) и 2.2. (сентябрь 2009). Развитие системы продолжается. Обсуждается проект версии 3.0.

Информация:

  1. Различная информация об MPI
  2. Официальные описания различных версий и в разных форматах

Информация на русском языке:

  1. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. - Санкт-Петербург: БХВ-Петербург, 2002 стр. 275-299.
  2. Воеводин Вл.В. Технологии параллельного программирования. Message Passing Interface.
  3. Раздел по MPI на сервере parallel.ru.

OpenMP

Система ориентирована на архитектуру с общей (разделяемой) памятью.

Программа представляется состоящей из последовательных и параллельных областей. В параллельной области порождается бригада (набор) нитей, которые выполняются на разных процессорах. Внутри параллельной области могут находиться параллельные конструкции (параллельные циклы и параллельные секции); имеются средства синхронизации (используется модель fork/join).

Предшественники: Проекты PCF (Parallel Computing Forum) и X3H5 ANSI.

Разработаны стандартные спецификации для Фортрана (версия 1.0 - 1997 г., версия 2.0 - 2000 г.) и для Си/Си++ (версия 1.0 - 1998 г. и версия 2.0 - 2001 г.). Версия 2.5 (2005 г.) - комбинированная для Фортрана и Си/Си++. Последняя официальная версия 3.0 (май 2008). Спецификации для Фортрана (март 2009) и Си/Си++ (ноябрь 2008). Развитие системы продолжается.

В языки введены директивы, специфицирующие параллельные области и параллельные конструкции, новые классы переменных, введены средства спецификации синхронизации, набор процедур run-time поддержки и переменные среды. Для Фортрана директивы оформляются в виде комментария, начинающегося с символов !$OMP, *$OMP или C$OMP.

Информация:

  1. Основная информация о системе.

Информация на русском языке:

  1. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. - Санкт-Петербург: БХВ-Петербург, 2002, стр. 225-235.
  2. Раздел по OpenMP на сервере parallel.ru.
  3. Кузьминский М. OpenMP: средства распараллеливания для многопроцессорных систем. //Открытые системы, 1998, N3.
  4. Горелик А.М. "Программирование на современном Фортране". Изд. "Финансы и статистика", 2006.
  5. А.С.Антонов. "Параллельное программирование с использованием технологии OpenMP: Учебное пособие".-М.: Изд-во МГУ, 2009. - 77 с.

HPF (High Performance Fortran)

Система ориентирована на модель параллелизма по данным и предназначена для любой архитектуры. HPF содержит директивы для описания способов разбиения массивов данных и распределения их между параллельно работающими процессорами, а также некоторые средства для явного указания параллельности. HPF - язык высокого уровня. На программиста возлагается в основном ответственность за распределение данных, а представление программы в виде системы взаимодействующих процессов осуществляется компилятором. Для повышения эффективности имеется возможность описать явный интерфейс с процедурами, использующими средства более низкого уровня.

HPF (версия 1.0) является расширением Фортрана 90, HPF-2 (версия 2.0) - расширением Фортрана 95.

Директивы HPF имеют вид комментария, который начинается с символов !HPF$, *HPF$ или CHPF$.

Предшественники: Fortran D, Fortran Vienna и др.

Информация:

  1. Официальные описания версий и другие публикации, а также информация о различных реализациях, приложениях, использующих HPF, и другая полезная информация
  2. Раздел по HPF на сервере parallel.ru.
  3. Горелик А.М. "Программирование на современном Фортране". Изд. "Финансы и статистика", 2006.

© Лаборатория Параллельных Информационных Технологий, НИВЦ МГУ Rambler's Top100