【发布时间】:2012-12-13 06:30:36
【问题描述】:
我正在尝试在 C 中使用 MPI 编写并行程序。但是,当我运行我的程序时,我收到该消息并且我的程序被终止。我不知道该错误消息的原因
警告:无法读取 mpd.hosts 或未提供主机列表。 MPI 作业将仅在当前机器上运行。
解决方案开始
作业 1 server_name_60409 中的 7 级导致所有等级集体中止 7级退出状态:返回码0
job 1 server_name_60409 中的rank 6 导致所有rank 集体中止 等级6的退出状态:返回码0
job 1 server_name_60409 中的rank 4 导致所有rank 集体中止 rank 4的退出状态:被信号9杀死
job 1 server_name_60409 中的rank 3 导致所有rank 集体中止 rank 3的退出状态:被信号9杀死
job 1 server_name_60409 中的rank 2 导致所有rank 集体中止 rank 2的退出状态:返回码0
job 1 server_name_60409 中的rank 0 导致所有rank 集体中止 rank 0的退出状态:返回码0
【问题讨论】:
-
假设您正在运行 Unix,信号 9 是 SIGKILL。它通常由无效的内存访问触发(例如,尝试读取/写入/释放它不拥有的内存的错误代码)。但是,在没有看到您的代码的情况下,我们无法告诉您更多信息。
-
@suszterpatt,无效的内存访问触发
SIGSEGV(信号 11),而不是SIGKILL。 -
由于所有进程都在同一个节点上运行,您可能会耗尽内存或达到 CPU 时间限制。如果任何 rank 异常死亡(例如,由于 CPU 或内存限制受到影响),MPI 启动器将通过向剩余的 rank 发送信号来终止剩余的 rank,通常是
SIGKILL(9)。