問題解惑:MPI Application rank 0 exited before MPI_Finalize() with status 2
2016-09-23 by:CAE仿真在線 來源:互聯(lián)網
這種問題是fluent多線程問題,一旦出現這種問題整個fluent就死掉了,所有的數據都無法保存,問題很嚴重。
但是問題一般情況不是多線程本身的問題,而是因為線程里面運行的計算過程出現了問題。
1、MPI_Finalize() with status 2 原因之一:出現負體積
只要出現負體積,線程的計算就無法進行下去了,這時候線程要拋出異常終止
Error at Node 3: Update-Dynamic-Mesh failed. Negative cell volume detected.
WARNING: 2 cells with non-positive volume detected.MPI Application rank 0 exited before MPI_Finalize() with status 2
2、MPI_Finalize() with status 2 原因之二:任何原因出現發(fā)散或速度或移動推進速度過快的情況,如Courant數超大
112 more time steps
Updating solution at time level N...
Global Courant Number [Explicit VOF Criteria] : 471.06
Error at Node 0: Global courant number is greater than 250.00 The
velocity field is probably diverging. Please check the solution
and reduce the time-step if necessary.
Error at Node 1: Global courant number is greater than 250.00 The
velocity field is probably diverging. Please check the solution
and reduce the time-step if necessary.
Error at Node 2: Global courant number is greater than 250.00 The
velocity field is probably diverging. Please check the solution
and reduce the time-step if necessary.
Error at Node 3: Global courant number is greater than 250.00 The
velocity field is probably diverging. Please check the solution
and reduce the time-step if necessary.
MPI Application rank 0 exited before MPI_Finalize() with status 2
===============Message from the Cortex Process================================
Fatal error in one of the compute processes.
==============================================================================
Error: Cortex received a fatal signal (unrecognized signal).
Error Object: ()
Error: There is no active application.
Error Object: (case-modified?)
Error: No journal response to dialog box message:'There is no active application.'
. Internally, cancelled the dialog.
Error: There is no active application.
Error Object: (rp-var-value 'physical-time-step)
Error: There is no active application.
Error Object: (rp-var-value 'delta-time-sampled)
3、MPI_Finalize() with status 2 原因之三:內存過度緊張,多線程中只要任何一個線程無法分配到足夠的內存,就會終止
一般情況下,MPI_Finalize() with status 出現之前會有錯誤信息,如上面e文所示,但是有些情況是沒有的
如下圖所示
上面的計算是在進行一次正常的動網格重構完成后,進入下一次迭代求解計算的時候,直接出現了問題。
筆者檢查機器此時內存占用已經達到92%的水平,為了進一步驗證這個猜測,本人馬上用一個可以正常計算的case,在內存90%以上的情況下進行計算
開始可以計算一步,第二部就直接MPI_Finalize() with status 2
fluent多線程mpi異常退出問題,還有多種不同的status,如-1最多,其實只有兩種類型的錯誤,一種是腳本錯誤,一種是物理模型數據錯誤
前者如 journal file 腳本 udf腳本,這些錯誤一般會導致-1或其他-值,后者就是發(fā)散、超指標等導致異常物理指標的情況終止。
情況很多,各位要具體問題具體分析,先看出現問題之前的log,如果有l(wèi)og這就是問題根源,如果沒有l(wèi)og提示,很可能就是內存問題
還有一種情況是在多線程計算中其實內部不同線程一直在持續(xù)通訊,如果計算過程網絡環(huán)境變化,直接就回出問題,下圖是計算過程通訊圖,如果網絡改變了,比如ip或網卡屬性變化,在計算期間是不允許的。
相關標簽搜索:問題解惑:MPI Application rank 0 exited before MPI_Finalize() with status 2 Fluent培訓 Fluent流體培訓 Fluent軟件培訓 fluent技術教程 fluent在線視頻教程 fluent資料下載 fluent分析理論 fluent化學反應 fluent軟件下載 UDF編程代做 Fluent、CFX流體分析 HFSS電磁分析