Message Passing Interface

Материал из Википедии — свободной энциклопедии

(Перенаправлено с MPI)
Перейти к: навигация, поиск

Message Passing Interface (MPI, интерфейс передачи сообщений) — программный интерфейс (API) для передачи информации, который позволяет обмениваться сообщениями между компьютерами, выполняющими одну задачу.

MPI является наиболее распространённым стандартом интерфейса обмена данными в параллельном программировании, существуют его реализации для большого числа компьютерных платформ. Основным средством коммуникации между процессами в MPI является передача сообщений друг другу. Стандартизацией MPI занимается MPI Forum. В стандарте MPI описан интерфейс передачи сообщений, который должен поддерживаться как на платформе, так и в приложениях пользователя. В настоящее время существует большое количество бесплатных и коммерческих реализаций MPI. Существуют реализации для языков Фортран 77/90, Си и Си++.

[править] Стандарты MPI

Большинство современных реализаций MPI поддерживают версию 1.1. Стандарт MPI версии 2.0 поддерживается большинством современных реализаций, однако некоторые функции могут быть реализованы не до конца.

В MPI 1.1 (опубликован 12 июня 1995 года) поддерживаются следующие функции:

  • передача и получение сообщений между отдельными процессами;
  • коллективные взаимодействия процессов;
  • взаимодействия в группах процессов;
  • реализация топологий процессов;

В MPI 2.0 (опубликован 18 июля 1997 года) дополнительно поддерживаются следующие функции:

  • динамическое порождение процессов и управление процессами;
  • односторонние коммуникации (Get/Put);
  • параллельный ввод и вывод;
  • расширенные коллективные операции (процессы могут выполнять коллективные операции не только внутри одного коммуникатора, но и в рамках нескольких коммуникаторов).

[править] Реализации MPI

  • MPICH — самая распространённая бесплатная реализация, работает на UNIX-системах и Windows NT
  • WMPI — бесплатная реализация MPI для Windows
  • LAM/MPI — ещё одна бесплатная реализация MPI
  • MPI/PRO for Windows NT — коммерческая реализация для Windows NT
  • Intel MPI — коммерческая реализация для Windows / GNU/Linux
  • HP-MPI — коммерческая реализация от HP
  • SGI MPT — платная библиотека MPI от SGI
  • Mvapich — бесплатная реализация MPI для Infiniband
  • OpenMPI — бесплатная реализация MPI, наследник LAM/MPI

[править] Ссылки