MPIEXEC

Z KdmWiki
Wersja z dnia 09:38, 3 wrz 2013 autorstwa Ask (dyskusja | edycje) (2x4 łatwiej rozróżnić)
(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 < MPIEXEC

Mpiexec to narzędzie zastępujące mpirun, które pozwala na lepszą kontrolę zadań MPI w środowisku kolejkowania zadań PBS. Dotyczy to wyłącznie implementacji MPI, które nie posiadają natywnego wsparcia dla komunikacji z PBS, to jest MPICH, MPICH2, MVAPICH, MVAPICH2. Użycie mpiexec nie jest wymagane dla OpenMPI.

Zalety
  • mpiexec nie wymaga podawania ani liczby procesorów, ani listy hostów, ani podziału procesorów na węzły - te informacje uzyskiwane są bezpośrednio z systemu kolejkowego PBS;
  • prawidłowa obsługa sygnałów, można używać polecenia qdel do zabijania zadań;
  • jednoczesna obsługa InfiniBand i SHMEM.
Użycie
  • zadanie kolejkowe należy zlecić podając zasób ncpus i jednocześnie zasób mpiprocs, np. zadanie interaktywne na 2x4 procesory:
qsub -q short6h -N nazwa -l select=2:ncpus=4:mpiprocs=4:mem=1GB -I
  • po uruchomieniu zadania wymagane jest załadowanie modułu wybranej implementacji MPI oraz modułu mpiexec, np.:
module load mvapich2
module load mpiexec
  • następnie należy wykonać kompilację, np.:
mpicc -o program_mpi.x program_mpi.c
  • i uruchomić program:
mpiexec program_mpi.x opcje_programu >& wyniki.txt

Strona domowa projektu: http://www.osc.edu/~pw/mpiexec/index.php