MVAPICH - implementacja MPI oparta o sieć InfiniBand

Obecnie zainstalowane są dwie odmiany biblioteki MVAPICH:

  • MVAPICH2 - oparta o standard MPI-2
  • MVAPICH - oparta o standard MPI-1.2

 

Spis treści

Korzystanie z pakietu MVAPICH2

Istotne informacje

Holk

Zaleca się korzystanie z MVAPICH2

  • Wersja: 0.9.2
  • Katalog instalacji: /apl/mpi/mvapich2
  • Ostatnia aktualizacja pakietu: 2006-01-25

Galera

Zaleca się korzystanie z MVAPICH

  • Wersja: 0.9.9
  • Katalog instalacji: /opt/mpi/mvapich
  • Pomoc, dokumentacja: w katalogu instalacji
  • Ostatnia aktualizacja pakietu: 2008-02-12

Ustawienie środowiska (Holk)

Dla wygody można ustawić scieżkę dostępu:

tcsh:
  set path = ( /apl/mpi/mvapich2/bin $path )

bash:
  export PATH=/apl/mpi/mvapich2/bin:$PATH

na stałe we własnym środowisku (plik .tcshrc) oraz w skryptach startowych systemu kolejkowania zadań PBS.

Ustawienie scieżek dostępu nie jest konieczne.

Kompilacja programów

  • Kompilatory MPI C/C++: mpicc, mpicxx
  • Kompilatory MPI Fortana 77/90/95: mpif77, mpif90
  • Kompilatory MPI korzystają z kompilatorów Intela zainstalowanych w katalogu /apl/intel/bin

Kompilacja odbywa się tak samo jak standardowymi kompilatorami Intelowskimi. Programy mpicc, mpicxx, mpif77, mpif90 same odpowiednio ustawią wszytkie wymagane opcje do kompilacji programów MPI.

Uruchamianie programów MPI

Plik konfiguracyjny .mpd.conf

Przed pierwszym uruchomieniem demona mpd należy utworzyć w katalogu domowym plik .mpd.conf zawierajacy linię

secretword=tajne_haslo

gdzie tajne_haslo to dowolny ciąg znaków Plik powinień być zabezpieczony przed odczytem przez innych użytkowników. Można o to osiągnąć następująco:

( /bin/echo -n "secretword=" ; pwgen -c -n -1 8  1 ) > ~/.mpd.conf
chmod 0600 ~/.mpd.conf

Z użyciem systemu kolejkowania zadań PBS

Po pomyślnym skompilowaniy programu należy stworzyć skrypt startowy PBS'a:

#!/bin/sh
#PBS -S /bin/sh
#PBS -l nodes=4:ppn=2
#PBS -q duza
cd $PBS_O_WORKDIR
/apl/mpi/mvapich2/bin/mpirun_pbs ./moj_program argumenty

Linia:

#PBS -l nodes=4:ppn=2

spowoduje przydzielnie 4 węzłów klastra, po dwa procesory na każdym węźle.

Linia:

#PBS -q duza

spowoduje umieszczenie zadania w kolejce duza.

Linia:

/apl/mpi/mvapich2/bin/mpirun_pbs ./moj_program argumenty

spowoduje uruchomienie programu o nazwie "moj_program" z argumentami "argumenty"

Oba parametry można podać jako opcje do polecenia qsub.

Przykłady

Przykładowe skrypty do kompilacji, oraz skrypty do PBS'a wraz z prostym programem, znajdują się w katalogu /apl/mpi/example/hello

Katalog należy przekopiować do własnego katalogu domowego lub roboczego.

Kompilacaja następuje po uruchomieniu skryptu:

./compile-mvapich2

lub bezpośrednio wydając polecenie:

/apl/mpi/mvapich2/bin/mpicc hello.c -o hello.mvapich2

Uruchomienie zadania w sytemie kolejkowym:

qsub -q test -N tescik ./runrun-mvapich2.sh

Standardowe wyjście z programu zostanie zapisane w pliku tescik.oNNNN, natomiast wyjście błędu w pliku tescik.eNNNN (NNNN - jest numerem zadania). Pliki te zostaną zapisane dopiero po zakończeniu zadania.

W katalogu są umieszczone również skrypty do kompilacji i uruchomienia programu w środowisku LAM-MPI

 

Centrum Informatyczne Trójmiejskiej Akademickiej Sieci Komputerowej
ul. G. Narutowicza 11/12, 80-233 Gdańsk   |   tel. 58-347-24-11
email: office@task.gda.pl   |   NIP: 584-020-35-93