MPI
| |
---|---|
![]() | |
Basisdaten
| |
Entwickler | MPI Forum |
Aktuelle Version | Version 4.1 (PDF; 5,3 MB) (2. November 2023) |
Betriebssystem | Linux, Unix, Microsoft Windows NT, macOS |
Programmiersprache | C++, C, Fortran, Python, Java |
Kategorie | API |
deutschsprachig | nein |
www.mpi-forum.org |
Message Passing Interface (MPI) ist ein Standard, der den Nachrichtenaustausch bei parallelen Berechnungen auf verteilten Computersystemen beschreibt. Er legt dabei eine Sammlung von Operationen und ihre Semantik, also eine Programmierschnittstelle fest, aber keine Implementierung.
Eine MPI-Applikation besteht in der Regel aus mehreren miteinander kommunizierenden Prozessen, die alle zu Beginn der Programmausführung parallel gestartet werden. Alle diese Prozesse arbeiten dann gemeinsam an einem Problem und nutzen zum Datenaustausch Nachrichten, welche explizit von einem zum anderen Prozess geschickt werden. Ein Vorteil dieses Prinzips ist es, dass der Nachrichtenaustausch auch über Rechnergrenzen hinweg funktioniert. Parallele MPI-Programme sind somit sowohl auf PC-Clustern (hier funktioniert der Austausch der Nachrichten z. B. über TCP), als auch auf dedizierten Parallelrechnern ausführbar (hier läuft der Nachrichtenaustausch über ein Hochgeschwindigkeitsnetz wie InfiniBand oder Myrinet oder über den gemeinsamen Hauptspeicher).