我如何划分MPI并行作业的所有进程,从mpiexec(MPICH2,linux)开始?
-o
会混淆不同进程的输出
PS对一些编辑:谁可能认为MPICH is the name of the library. MPICH2 is a particular version.
。 MPICH2实际上是MPICH2 is an all-new implementation of MPI
,我有时不得不同时使用mpich和mpich2。所以,我们不能用mpich取代mpich2。
在程序周围创建一个包装器,由mpiexec
启动。就像是:
#!/bin/sh
LOGFILE="strace-$(hostname).$$"
exec strace -o"$LOGFILE" my_mpi_program
您可能想尝试STAT(堆栈跟踪分析工具)。看看STAT Homepage。它将为您提供过程行为的高级概述,并且在挂起过程的情况下尤其有效。