문제

How do I strace all processes of MPI parallel job, started with mpiexec (MPICH2, linux)?

-o will mess outputs from different processes

PS To some editors: who may think that MPICH is the name of the library. MPICH2 is a particular version.. MPICH2 is actually MPICH2 is an all-new implementation of MPI and I sometimes had to used both mpich and mpich2. So, we can't replace mpich2 with mpich.

도움이 되었습니까?

해결책

Create a wrapper around your program, which will be launched by mpiexec. Something like:

#!/bin/sh
LOGFILE="strace-$(hostname).$$"
exec strace -o"$LOGFILE" my_mpi_program

다른 팁

You may want to try STAT (Stack Trace Analysis Tool). Check out the STAT Homepage. It will give you a high level overview of your process behavior, and works especially well in the case of a hung process.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top