Kurzbeschreibung

Das OpenMPI Projekt stellt eine Open-Source Implementierung des Message Passing Interface Standards (MPI) bereit. MPI ist einer der wesentlichen Standards zum verteilten Rechnen. Im Gegensatz zu OpenMP kann mit MPI auch auf mehreren getrennten Computern an einem gemeinsamen Problem gearbeitet werden. Unter Linux werden OpenMPI-Varianten für die Intel- und die GNU Compiler Suite zur Verfügung gestellt. Unter Solaris wird nur der Sun Compiler unterstützt. Die Kommunikation erfolgt am CUSS Compute Cluster in der Regel über TCP/IP, auf allen anderen Clustern über Infiniband. Details zu OpenMPI erfahren Sie über das Modul-Hilfesystem.

Kurzbeschreibung

Das OpenMPI Projekt stellt eine Open-Source Implementierung des Message Passing Interface Standards (MPI) bereit. MPI ist einer der wesentlichen Standards zum verteilten Rechnen. Im Gegensatz zu OpenMP kann mit MPI auch auf mehreren getrennten Computern an einem gemeinsamen Problem gearbeitet werden. Unter Linux werden OpenMPI-Varianten für die Intel- und die GNU Compiler Suite zur Verfügung gestellt. Unter Solaris wird nur der Sun Compiler unterstützt. Die Kommunikation erfolgt am CUSS Compute Cluster in der Regel über TCP/IP, auf allen anderen Clustern über Infiniband. Details zu OpenMPI erfahren Sie über das Modul-Hilfesystem.

Kommunikations- und Informationszentrum (kiz)

  • Helpdesk

    Kontaktieren Sie uns bei Fragen und Problemen zu den Services des kiz:
    Mo - Fr  8 - 18 Uhr
    +49 (0)731/50-30000
    helpdesk(at)uni-ulm.de
    Kundenportal
    [mehr]

  • Service-Points

    An den Service-Points können Sie uns persönlich aufsuchen.
    [mehr]

  • Identitätsmanagement

    Self Service Funktionen des Identitätsmanagementsystems (IDM):

    • Berechtigungen verwalten
    • Dienste abonnieren
    • Passwörter ändern
    • ...

    IDM Self Services
    [mehr]

  • Literatursuche

  • kiz von A bis Z

    Etwa 400 Stichwörter führen Sie direkt zu einer einschlägigen Web-Seite des kiz.
    A-Z-Liste
    Wenn Sie ein Stichwort vermissen, geben Sie uns Nachricht: Redaktion

Verfügbarkeit an der Universität Ulm

Zielsystem/ZielgruppeVerfügbarkeit
bwUniCluster (Karlsruhe)Ja, nach Laden des entsprechenden Moduls (Kommunikation via IB)
bwForCluster JUSTUS (Ulm)Ja, nach Laden des entsprechenden Moduls (Kommunikation via IB)
kiz CUSS Linux Cluster (Ulm)Ja, nach Laden des entsprechenden Moduls (nur Intra-Node Kommunikation)
kiz Linux Pools (Ulm)Ja, nach Laden des entsprechenden Moduls (nur Intra-Node Kommunikation)
kiz Windows Pools (Ulm)Nein
Uni-Ulm-weiter LizenzzugriffJa, OpenMPI kann kostenlos hertunergeladen werden
Externer LizenzzugriffJa, OpenMPI kann kostenlos hertunergeladen werden
Softwarebezug StudierendeJa, OpenMPI kann kostenlos hertunergeladen werden
Softwarebezug MitarbeiterJa, OpenMPI kann kostenlos hertunergeladen werden

Nutzungsbedingungen und Lizenzvereinbarungen

OpenMPI steht unter der GPL (General Public License) und kann daher von jedem kostenlos verwendet werden.

Uniweiter Lizenzzugriff und Softwarebezug

Sie können OpenMPI im Bereich "Download" der OpenMPI Webseite herunterladen. Um OpenMPI auf Ihrem eigenen Rechner zu nutzen, folgen Sie am besten den Compile-Anweisungen der Webseite im Bereich "Documentation".

Weiterführende Dokumentation

Ausführliche Dokumentation zur OpenMPI finden Sie im Bereich "Documentation" der OpenMPI Webseite. Eine Beschreibung des MPI Standards finden Sie auf den Dokumentationsseiten des MPI-Forums.

Zugriff auf Software (oben genannte Cluster und Pools)

Auf den oben genannten Clustern und Pools steht OpenMPI per "module load" Befehl zur Verfügung. Hierbei muss darauf geachtet werden, dass die geladene OpenMPI Version und der geladene Compiler zusammen passen. Zuerst muss der Compiler geladen werden, etwa via Befehl

module load compiler/intel/14.0

Danach kann das zum Compiler passende OpenMPI Modul geladen werden. Die Compiler-Abhängigkeit ist im Namen des OpenMPI Moduls kodiert, zum Beispiel

module load mpi/openmpi/1.8-intel-14.0

Da die OpenMPI Versionen auf den neueren Clustern kontinuierlich aktualisiert werden verwenden Sie bitte den Befehl

module avail mpi/openmpi

um alle verfügbaren OpenMPI-Variaten zu listen. Zu jedem OpenMPI Modul erhalten Sie eine ausführliche Hilfe mittels des "module help" Befehls, zum Beispiel

module help mpi/openmpi/1.8-intel-14.0

Bitte lesen Sie den Modul-Hilfetext bevor Sie das Modul verwenden.

Eine Schritt-für-Schritt-Anleitung zur Erstellung Ihres ersten OpenMPI Programms finden Sie nach dem Einloggen am CUSS-Cluster unter

/soft/common/src_public/admin/cuss-examples/cuss-mpi-howto.txt

Die Dokumentation enthält auch Verweise auf kommentierte Job Beispiel Skripte für das jeweilige Queueingsystem.

OpenMPI Modul Auswahlhilfe:

  • Empfehlung: Verwenden Sie unter Linux den Default Intel Compiler und die dazu passende OpenMPI Version. Die jeweiligen Default-Versionen finden Sie mittels der Befehle "module avail compiler/intel" und "module avail mpi/openmpi".
  • Hinweise zur Ziel-Architektur: Die oben genannten OpenMPI Versionen verwenden die Default Ziel-Architektur des jeweiligen Betriebssystems. Das bedeutet, dass die Default-Linux-Variante von OpenMPI 64 Bit, die Solaris-Variante jedoch 32 Bit Programme erzeugt. Unter Solaris können Sie durch Auswahl einer "_m64" Variante der OpenMPI Module explizit die Erzeugung von 64 Bit Programmen anfordern. Unter Solaris müssen Sie dann allerdings auch Ihr Programm zusätzlich mit der Option "-m64" compilieren. Details finden Sie im Modul-Hilfetext.
  • Hinweise zur Kommunikation: Auf dem CUSS-Cluster (Solaris und Linux) erfolgt die Kommunikation via Gigabit Ethernet, auf allen anderen Clustern via Infiniband. In jedem Fall können alle OpenMPI Module auch zur Intra-Node Kommunikation verwendet werden (z.B. wenn ein Job auf einer Node läuft und dort mehrere Cores verwendet).
  • Hinweise zur Fortran Integer-Size: Die Default Integer-Size in Fortran Programmen ist 32 Bit. Dies gilt auch für 64 Bit (Pointer) Programme. 32 Bit Integers sind ausreichend, wenn die Felder im Fortranprogramm weniger als 2^32 = 4*10^9 Elemente enthalten (das sind mind. 32 GByte für ein Double Precision Feld). Die allermeisten Programme verwenden ausschließlich kleinere Felder. Wenn Sie jedoch größere Felder verwenden und Sie daher Ihr Programm mit "-i8" übersetzen möchten, dann sollten Sie die passende "_i8" Variante von OpenMPI verwenden. Diese sollte nur ausnahmsweise geschehen und wird nicht offiziell von uns unterstützt. Details zu dem Thema finden Sie im Modul-Hilfetext.
  • Hinweise zum dynamischen und statischen Linken: Die Default-Varianten von OpenMPI verwenden dynamische Bibliotheken. Die speziellen "_static" Varianten verwenden (wo immer möglich) statische Bibliotheken. Wenn Sie Probleme mit "nicht gefundenen Bibliotheken" haben, sollten Sie zuerst den Hinweisen in der Modul-Hilfe und im oben genannten MPI Howto folgen. Wenn das nicht hilft können Sie eine "_static" Variante von OpenMPI verwenden.

Support

Bitte wenden Sie sich an unseren Softwaresupport, wenn Sie weitergehende Hilfe benötigen.