我試圖創建一個Java GUI來控制和運行MPI進程。我可以從命令行運行MPI進程,但無法通過Java Process Builder運行。從Java ProcessBuilder運行OpenMPI進程時ompi_evesel-> dispatch()失敗
我收到以下錯誤的過程剛開始後:
[SCI053_VM003:02928] ..\..\openmpi-1.6.4\opal\event\event.c: ompi_evesel->dispatch() failed.
我懷疑是一個環境問題,但我不知道如何診斷它。我已經將java進程生成器看到的環境打印到日誌以及mpiexec'd進程看到的環境中,但我沒有看到任何錯誤!?!?
所有代碼和輸出日誌都貼在gist
我想使用的openmpi 1.6.4 Windows環境下打包MPI4PY
運行好像大多是的openmpi問題,所以我貼到UserList,但希望幫助的任何地方,我可以得到它...
大衛
PS - 我能夠運行Java程序啓動和運行在相同的代碼我的MacOS環境,但在那裏我使用brew安裝MPICH2。
今天我將測試使用python子進程調用mpiexec。如果事實證明這是一個可行的中介Java ProcessBuilder => Python Subprocess => OpenMPI MPIExec =>運行我的並行應用程序...我將使用它,但它並不真正回答我的問題(或賞金) – David
更新:我寫了一個簡短的python程序來調用mpiexec或任何你傳遞它的命令。它在命令行中效果很好: – David
更新:我寫了一個簡短的python程序來調用mpiexec或任何通過它的命令。 HTTPS://gist.github。COM/dstuebe/6170563 它的偉大工程作爲一個間接的方式在命令行中運行任何程序,但它失敗時,我用它從裏面的ProcessBuilder Java中以同樣的方式! – David