【问题标题】:mpi4py pinpointing the erroneous rank during segmentation faultmpi4py 在分段错误期间查明错误的等级
【发布时间】:2021-02-25 10:29:50
【问题描述】:

我的问题与任何特定代码无关。相反,它是一般的。我目前正在 Python 中运行 MPI 并行代码,偶尔会遇到分段错误。每当发生段错误时,我都会收到一条错误消息(如下所示)并且代码退出 -

===================================================================================
=   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
=   PID 173577 RUNNING AT whatever_node
=   EXIT CODE: 139
=   CLEANING UP REMAINING PROCESSES
=   YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
===================================================================================

我的问题是 - 我如何确定导致此错误的排名?退出消息仅提及 PID。我可以用它来找出错误的排名吗?

PS : 上述代码不是我自己的 - 我只是运行它并报告错误。

【问题讨论】:

    标签: python mpi4py


    【解决方案1】:

    也许您可以在代码中添加这样的简单打印:

    import os
    print("Rank %d on %s, Process PID for worker = %d" %(MPI.COMM_WORLD.Get_rank(),MPI.Get_processor_name(),os.getpid()))
    

    【讨论】:

    • 非常感谢。这正是我一直在寻找的。我查看了 mpi4py 的整个文档,看看是否有 getPID() 函数,但我从来不知道 os 有这个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多