MPIEXEC: Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do 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]]. | + | '''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: | ||
− | + | * 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 11: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óbmpiprocs
, 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