【问题标题】:using strace with mpiexec将 strace 与 mpiexec 一起使用
【发布时间】:2010-06-01 16:10:01
【问题描述】:

如何跟踪 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。

【问题讨论】:

    标签: mpi strace mpich mpiexec


    【解决方案1】:

    围绕您的程序创建一个包装器,该包装器将由mpiexec 启动。比如:

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

    【讨论】:

    • 没关系,由于$$部分,文件名仍然会有所不同-它是当前进程的PID。
    【解决方案2】:

    您可能想尝试 STAT(堆栈跟踪分析工具)。 查看STAT Homepage。 它将为您提供有关您的流程行为的高级概述,并且有效 在挂起进程的情况下尤其好。

    【讨论】:

    • 对不起。这个项目很有趣,但我无法在目标平台上运行它(StackWalker API 没有被移植,但 strace 是)。
    • 它是什么平台?尝试使用 gcc 4.1.2,我们在使用较新版本(特别是 StackWalker)进行编译时遇到了问题。
    猜你喜欢
    • 2019-01-24
    • 2013-10-05
    • 2014-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多