2014-06-14 65 views
1

我的問題是當超額訂閱時可以使用--bind-to-core標誌嗎?我使用OPEN MPI版本1.5.4,並與2(32個進程上16個內核)的一個因素試圖使用超額認購:打開MPI:在超額訂閱時使用bind-to-core

mpirun --bind-to-core --bynode --npersocket 32 --mca mpi_yield_when_idle 1 -n 32 ./$prog 

但它返回我一個錯誤:

32 total processes failed to start 

但是,如果我不使用--bind-to-core一切工作正常。這裏有什麼問題?有可能解決嗎?

回答

2

-npersocket選項激活--bind-to-socket,這與--bind-to-core衝突。你可以通過編寫排名文件來解決它 - - 非常類似於hostfile,但它也包含每個排名的綁定信息。例如,結合於宿主localhost 4個流程,以2個核,以下rankfile可以使用:

rank 0=localhost slot=0 
rank 1=localhost slot=0 
rank 2=localhost slot=1 
rank 3=localhost slot=1 

Rankfiles被提供給mpiexec--rankfile選項。請參閱Open MPI documentation瞭解更多信息。

+0

謝謝。是否有另一種方法來檢查綁定以確認分配?至於我--report-bindings沒有提供關於進程綁定的任何輸出 –

+0

你有沒有把標準錯誤流重定向到/ dev/null? –

+0

我不認爲它正在重定向那裏。我正在爲我的作業使用LSF提交系統,並在日誌文件中獲取其他錯誤和輸出,以便將輸出重定向到。 –