usando strace con mpiexec
Domanda
Come faccio a strace tutti i processi di lavoro in parallelo MPI, iniziate con mpiexec (MPICH2, Linux)?
-o
volontà uscite disordine di diversi processi
PS ad alcuni redattori: chi può pensare che MPICH is the name of the library. MPICH2 is a particular version.
. MPICH2 è in realtà MPICH2 is an all-new implementation of MPI
e io a volte dovuto utilizzato sia mpich e mpich2. Quindi, non possiamo sostituire mpich2 con mpich.
Soluzione
Crea un wrapper per il programma, che sarà lanciato da mpiexec
. Qualcosa di simile:
#!/bin/sh
LOGFILE="strace-$(hostname).$$"
exec strace -o"$LOGFILE" my_mpi_program
Altri suggerimenti
Si consiglia di provare STAT (Strumento Stack Trace Analysis). Controlla la STAT Homepage . Vi darà un alto livello panoramica del vostro comportamento di processo, e le opere particolarmente nel caso di un processo bloccato.