2011-11-17 114 views
0

我在我的大學集羣上提交MPI作業。對於較大的程序,我注意到在我的一個最終通信例程中,我的程序崩潰,幾乎沒有有用的錯誤消息。MPI阻塞呼叫(MPI_Send/Recv)是否有時間限制?

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 S)則導致異常。或者,計算機可能會耗盡內存。當我的本地計算機內存不足時,我收到了非常詳細的內存不足警告,但我不知道遠程計算機上發生了什麼。任何想法這可能意味着什麼?

回答

2

它絕對不是超時。 MPI例程沒有這種例外。如果您的集羣具有不同的MPI庫(或使用不同的編譯器編譯的MPI庫)或啓動機制,請嘗試一下。它可能是圖書館的一個問題(或者是程序中的一個錯誤)。

+1

然後在這種情況下,它可能是一個內存問題。 – puk

+0

儘可能地嘗試使用符號進行編譯,使用ulimit -c unlimited運行並查看它是否轉儲核心。 – jman

+0

是的,事實證明,這是一個內存問題。 – puk