mfix mpi並行死鎖問題探究


目前還沒找到具體原因,只能先記錄一下。(問題原因找到了)

分別用ubuntu14.04和ubuntu16.04測試,用的是筆記本,筆記本為雙核四線程,用2線程並行計算;發現ubuntu16.04會在0.28057s時刻出現死鎖,而ubuntu14.04在0.28057s時刻則會出現掉線程的問題:

上面是ubuntu16.04

上面是ubuntu14.04

 

但是,ubuntu16.04如果繼續計算,會在后面依然出現死鎖的情況,而ubuntu14.04繼續計算以后則不會出現問題。

 

對於新安裝的win10系統,ubuntu只有16.04版本,無法再安裝14.04,經過嘗試,發現可以選擇debian作為替代,商店里搜索WSL就能看到,看起來debian似乎更加穩定一些。所有編譯工具也推薦都用命令安裝的版本,並且由於debian默認python和ssh是不安裝的,記得手動安裝,下面這些安裝命令依次執行即可:

sudo apt install gcc gfortran make g++
sudo apt install libopenmpi-dev openmpi-bin # For DMP
sudo apt-get install python #debian和ubuntu有時候默認不安裝
sudo apt-get install ssh #debian默認不安裝

 

---------------------------------------------------------------------------------------------------

2018.4.16

今天增大反應速率計算又出現掉線程的問題,於是在追蹤問題的過程中發現一些技巧。

為了在一次掉線程以后快速復現問題,可以把dat里的RES_DT設置小一些,比如0.001。因為*.RES文件是用來給restart的時候用的,如果保存太大,restart的時候可能得從很久之前開始算。

通過反復restart,發現每次都在0.28s左右出現掉線程的問題,而且並沒有不收斂相關錯誤。但是還是下意識把步長從0.0001改為0.00005,發現居然度過了那一段出問題的區間。問題解決!!

The devil is in the detail.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM