openmpi-3.0.1超線程報錯問題


先簡單記錄一下,雖然還有一些疑惑沒有解決。

之前安裝openmpi是用的命令安裝,版本比較低,mfix並行總出現死鎖問題,於是想看看是不是openmpi版本導致,雖然目前還未找到具體原因,但是先記錄下踩到的坑。

下載openmpi最新版本:https://www.open-mpi.org/software/ompi/v3.0/

安裝openmpi具體方法參見:http://www.cnblogs.com/platero/p/4182436.html

安裝主要是這幾個命令:

./configure --prefix="/usr/local/openmpi"
make
sudo make install

然后~/.bashrc中添加:

export PATH=$PATH:/usr/local/openmpi/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openmpi/lib/

最后執行命令:

sudo ldconfig
source ~/.bashrc

安裝好以后並行運行mfix:

mpirun -np 8 ./mfixsolver -f clc.mfx

結果報錯:

There are not enough slots available in the system to satisfy the 8 slots 

Either request fewer slots for your application, or make more slots available for use.

電腦是6核12線程,之前沒有出現這種問題。如果用低於6線程運行就沒有問題,查了下,發現可以用--oversubscribe參數申請超線程,因此把命令寫成:

mpirun --oversubscribe -np 8 ./mfixsolver -f clc.mfx

 

就可以了。具體參見:https://stackoverflow.com/questions/35704637/mpirun-not-enough-slots-available

 

但是問題就來了:

6核12線程對於mpi來說,可用線程到底是6線程還是12線程。低版本openmpi則沒有這個問題。而且開啟--oversubscribe參數后就開始頻繁出現段錯誤,顯然不是很好的選擇。

暫時存疑。

 

還有就是,在ubuntu16.04上並行出現死鎖問題的case,在ubuntu14.04上卻一切正常,真的是無語~~

死鎖問題具體參見:http://www.cnblogs.com/Jay-CFD/p/8849336.html


免責聲明!

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



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