MVAPICH1

Z KdmWiki
Wersja z dnia 08:31, 18 sty 2010 autorstwa Ask (dyskusja | edycje) (1 wersja)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacji Przejdź do wyszukiwania

< Podręcznik użytkownika KDM < Oprogramowanie KDM < Oprogramowanie systemowe i narzędziowe

MVAPICH1 i MVAPICH2 to implementacje standardu MPI z naciskiem na wykorzystanie specjalizowanych sieci obliczeniowych, takich jak InfiniBand.

MVAPICH w WCSS

Na klastrze Nova MVAPICH1 jest zainstalowany w drzewie /usr/mpi/intel/mvapich-0.9.9/. Kompilację oprogramowania należy prowadzić z użyciem standardowych skryptów mpiXYZ, które wywołują kompilator z odpowiednimi opcjami i poprawnie dołączają biblioteki MPI:

  • kompilator C: mpicc
  • kompilator C++: mpicxx
  • kompilator F77: mpif77
  • kompilator F90: mpif90
  • linker: ten sam co kompilator

Uruchamianie programu MPI nastepuje poprzez program mpiexec. Instalacja MVAPICH1 na klastrze Nova jest ściśle powiązana z systemem kolejkowanie zadań PBS. Zadanie należy wstawiać do kolejki tak, aby każdy proces liczył się na innym węźle (qsub -l nodes=N:ppn=1). Zapewni to lepsze wykorzystanie sieci IB. Jako argumenty dla mpiexec wystarczy podać jedynie liczbę procesorów ( -n N ) i opcje dla programu. Przykładowy skrypt dla systemu kolejkowego:

#!/bin/bash
mkdir /scratch/$USER/katalog-zadania
cp /home/$USER/dane/* /scratch/$USER/katalog-zadania
cd /scratch/$USER/katalog-zadania
export VIADEV_USE_AFFINITY=0
mpiexec -n 4 /home/$USER/bin/program.mpi plik.danych >& plik.wynikow
rm -rf /scratch/$USER/katalog-zadania

Zapisjujemy skrypt pod wybrana nazwa, nadajemy mu prawa wykonywania :

chmod +x skrypt1.sh

i wstawiamy do kolejki:

qsub -N mpi_skrypt1 -q parallel -l nodes=4:ppn=1 ./skrypt1.sh

MVAPICH w sieci

Zobacz też