MVAPICH - implementacja MPI oparta o sieć InfiniBand
Obecnie zainstalowane są dwie odmiany biblioteki MVAPICH:
Spis treści |
Zaleca się korzystanie z MVAPICH2
Zaleca się korzystanie z MVAPICH
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 odbywa się tak samo jak standardowymi kompilatorami Intelowskimi. Programy mpicc, mpicxx, mpif77, mpif90 same odpowiednio ustawią wszytkie wymagane opcje do kompilacji programów MPI.
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
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ł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.