MPI阻塞呼叫(MPI_Send / Recv)是否有时间限制?

时间:2011-11-17 05:19:04

标签: mpi blocking

我正在我的大学集群上提交MPI工作。对于较大的程序,我注意到在我的最后一个通信例程中,我的程序崩溃时几乎没有任何有用的错误消息。

mpirun noticed that process rank 0 with PID 5466 on node red0005 exited on signal 9 (Killed).

唯一有用的是排名0导致问题。由于此最终通信例程的工作方式如下(其中<-->表示MPI_Send/Recv

   rank 0    rank 1    rank 2    rank 3 ...    rank n
     |        <-->      <-->      <-->          <-->
     |
     |
     |
     |
     |
     |
     |
     V
  ----------------------MPI_Barrier()------------------

我的猜测是等级0命中MPI_Barrier()等待很长时间(570-1200秒)然后导致异常。或者,计算机可能会耗尽内存。当我的本地机器内存不足时,我得到一个非常详细的内存不足警告,但我不知道远程机器上发生了什么。任何想法可能意味着什么?

1 个答案:

答案 0 :(得分:2)

绝对不是暂停。 MPI例程没有这样的例外。如果您的集群具有不同的MPI库(或使用不同编译器编译的相同MPI库)或启动机制,请尝试一下。它可能是库的问题(或程序中的错误)。