Ruprecht-Karls-Universität Heidelberg

This is an archive of our old website and not updated anymore

The current website can be found at conan.iwr.uni-heidelberg.de

Download create_mpihost.sh

create_mpihosts.sh

Ausführen eines MPI-parallelen Programms im Pool

Um MPI-parallel auf mehreren Rechnern im CIP-Pool zu arbeiten, sollten Sie als erstes eine Datei mit den Namen der Rechner erzeugen, die an der Rechnung beteiligt sein sollen. Dazu verwenden Sie bitte das Skript create_mpihosts.sh, das Sie in der Kommandozeile mit

      
        ./create_mpihosts.sh
      
    
aufrufen. Es schreibt in die Datei mpihosts die Namen derjenigen Rechner, die im Augenblick nicht ausgelastet sind. Danach können Sie parallele Rechnungen mittels
      
        mpirun -np <p> -machinefile mpihosts ./<executable>
      
    
starten. Für <p> setzen Sie die Anzahl der gewünschten Prozesse ein, <executable> ist das gewünschte parallele Programm.

Achten Sie dabei bitte auf folgende Punkte:

  • Rechnen Sie nach Möglichkeit nicht tagsüber, weil dann im Pool Übungen stattfinden. Am Wochenende oder am Abend stören die Rechnungen niemanden.
  • Rufen Sie vor jedem parallelen Prozessstart das Skript create_mpihosts.sh auf, damit die aktuell nicht ausgelasteten Rechner neu ermittelt werden.
  • Achten Sie auf die Anzahl der Rechner, die in Ihrer mpihosts -Datei eingetragen wurden. Jeder Rechner verfügt über zwei Prozessorkerne, so dass Sie mit zwei Prozessen pro Rechner optimale Leistung erreichen sollten.
  • Überschlagen Sie vor der Rechnung den Speicherverbrauch. Auf jedem Rechner sollten Sie höchstens 1.5 GB Speicher verbrauchen, damit die Rechner stabil weiterlaufen.
Sollten Sie einmal eine parallele Rechnung abbrechen wollen, drücken Sie einfach Strg-C. Dabei kann es passieren, dass auf den Knoten einzelne Prozesse hängebleiben. Diese können Sie mit der Kommandozeile
      
        for i in `seq -w 50`; do ssh cip$i killall -9 ./<executable>
      
    
sicher entfernen.

Kompilieren eines parallelen Programmes im Pool

Um ein Programm zur parallelen Ausführung im Pool zu kompilieren, verwenden Sie die Befehlszeile

      
        mpicc -o <executable> <prog.c>
      
    
wobei <prog.c> Ihr paralleles C-Programm ist und <executable> der Name der ausführbaren Datei. Schreiben Sie Ihre MPI-Programme am Besten in C, die Weiterentwicklung der C++-Bindings ist unklar.

Revision: 380     Letzte Änderung: 2010-02-18 18