Kurzbeschreibung

Das OpenMPI Projekt stellt eine Open-Source Implementierung des Message Passing Interface Standards Version 2 (MPI-2) 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, am bwGRiD über Infiniband. Details zu OpenMPI erfahren Sie über das Modul-Hilfesystem.

Helpdesk

Kontaktzeiten Mo - Fr  8 - 18 Uhr
Telefon +49 (0)731/50-30000
Öffnet ein Fenster zum Versenden einer E-Mailhelpdesk(at)uni-ulm.de
Web-Formular für Anfragen
[mehr]

Service-Points des kiz

Verfügbarkeit an der Universität Ulm

Zielsystem/ZielgruppeVerfügbarkeit
kiz CUSS Cluster (Solaris)Ja, nach Laden des entsprechenden Moduls
kiz CUSS Cluster (Linux)Ja, nach Laden des entsprechenden Moduls
kiz Linux PoolsJa, nach Laden des entsprechenden Moduls
kiz Windows PoolsNein
bwGRiD Cluster UlmJa, nach Laden des entsprechenden Moduls
Uniweiter LizenzzugriffJa, OpenMPI kann kostenlos heruntergeladen werden
Externer LizenzzugriffJa, OpenMPI kann kostenlos heruntergeladen werden
Softwarebezug StudierendeJa, OpenMPI kann kostenlos heruntergeladen 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-2 Standards finden Sie auf den Dokumentationsseiten des MPI-Forums.

Zugriff auf Software (CUSS-Cluster, Linux-Pools und bwGRiD)

Auf allen Rechnern des CUSS Compute Clusters (Solaris+Linux), auf den Linux Pool Computern und auf dem bwGRiD 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; unter Linux (CUSS + bwGRiD) zum Beispiel via Befehl

module load compiler/intel/12.0

Danach kann das zum Compiler passende OpenMPI Modul geladen werden. Das ist am bwGRiD und am CUSS Linux-Cluster

module load mpi/openmpi/1.4.3-intel-12.0

Dem entsprechend läd man auf dem CUSS Solaris Cluster erst den Sun Compiler

module load compiler/sun/12u2

und dann das entsprechende OpenMPI Modul

module load mpi/openmpi/1.4.3-sun-12u2

Bitte beachten Sie, dass unter CUSS-Solaris nur OpenMPI Module für den Sun-Compiler verfügbar sind.

Bitte verwenden Sie den Befehl

module avail mpi/openmpi

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

module help mpi/openmpi/1.4.3-intel-12.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

Am bwGRiD finden Sie die Dokumentation hier:

/opt/Uni-Ulm/bw-grid-examples/howto-mpi-example.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 die Kombination "compiler/intel/12.0" und "mpi/openmpi/1.4.3-intel-12.0". Verwenden Sie unter Solaris die Kombination "compiler/sun/12u2" und "mpi/openmpi/1.4.3-sun-12u2".
  • 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 bwGRiD erfolgt die Kommunikation via Infiniband, auf dem CUSS-Cluster (Solaris und Linux) via Gigabit Ethernet. 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.