MPIEXEC: Różnice pomiędzy wersjami

Z KdmWiki
Skocz do: nawigacji, wyszukiwania
Linia 1: Linia 1:
 
<small>< [[Podręcznik użytkownika KDM]] < [[Oprogramowanie KDM]] < [[Oprogramowanie systemowe i narzędziowe]] < MPIEXEC</small>
 
<small>< [[Podręcznik użytkownika KDM]] < [[Oprogramowanie KDM]] < [[Oprogramowanie systemowe i narzędziowe]] < MPIEXEC</small>
  
'''Mpiexec''' to narzędzie zastępujące <code>mpirun</code>, które pozwala na lepszą kontrolę zadań [[MPI]] w środowisku kolejkowania zadań [[PBS]]. Aktualnie <code>mpiexec</code> jest dostępny tylko na [[Nova]].
+
'''Mpiexec''' to narzędzie zastępujące <code>mpirun</code>, 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 <code>mpiexec</code> nie jest wymagane dla [[OpenMPI]].
  
 
;Zalety:
 
;Zalety:
* <code>mpiexec</code> nie wymaga podawania ani listy hostów ani podziału procesorów na węzły - te informacje uzyskiwane są bezpośrednio z systemu kolejkowego [[PBS]];
+
* <code>mpiexec</code> 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 <code>qdel</code> do zabijania zadań;
 
* prawidłowa obsługa sygnałów, można używać polecenia <code>qdel</code> do zabijania zadań;
 
* jednoczesna obsługa InfiniBand i SHMEM.
 
* jednoczesna obsługa InfiniBand i SHMEM.
  
 
;Użycie:
 
;Użycie:
  mpiexec -n liczba_procesorow program_mpi.x opcje_programu >& wyniki.txt
+
* zadanie kolejkowe należy zlecić podając zasób <code>ncpus</code> i jednocześnie zasób <code>mpiprocs</code>, np zadanie interaktywne na 2x2 procesory:
 +
  qsub -q short6h -N nazwa -l select=2:ncpus=2:mpiprocs=2:mem=1GB -I
  
 +
* po uruchomieniu zadania wymagane jest załadowanie modułu wybranej implementacji MPI oraz modułu <code>mpiexec</code>, np:
 +
module load mvapich2
 +
module load mpiexec
 +
 +
* następnie należy wykonać kompilacje, np:
 +
mpicc -o program_mpi.x program_mpi.c
 +
 +
* i uruchomić program:
 +
mpiexec program_mpi.x opcje_programu >& wyniki.txt
  
 
Strona domowa projektu:
 
Strona domowa projektu:

Wersja z 12:20, 14 sie 2013

< 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 2x2 procesory:
qsub -q short6h -N nazwa -l select=2:ncpus=2:mpiprocs=2: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ć kompilacje, 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