Message Passing Interface
Материал из Википедии — свободной энциклопедии
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 года) дополнительно поддерживаются следующие функции:
- динамическое порождение процессов и управление процессами;
- односторонние коммуникации;
- параллельный ввод и вывод.
[править] Реализации 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