Message Passing Interface
Материал из Википедии — свободной энциклопедии
Message Passing Interface (MPI, интерфейс передачи данных) – сетевой протокол передачи информации, который позволяет обмениваться сообщениями между компьютерами, выполняющими одну задачу.
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/Linux