3

我正在尝试创建一个 Java GUI 来控制和运行 MPI 进程。我可以从命令行运行 MPI 进程,但无法通过 Java Process Builder 运行。

进程开始后我立即收到以下错误:

[SCI053_VM003:02928] ..\..\openmpi-1.6.4\opal\event\event.c: ompi_evesel->dispatch() failed.

我怀疑存在环境问题,但我不确定如何诊断它。我已将 java 进程构建器看到的环境以及 mpiexec 进程看到的环境打印到日志中,但我没有发现任何问题!?!?

所有代码和输出日志都发布在gist

我正在尝试使用为 MPI4PY 打包的 OpenMPI 1.6.4 在 Windows 环境中运行

似乎主要是一个 OpenMPI 问题,所以我发布到UserList,但希望在任何我能得到它的地方都能得到帮助......

大卫

PS - 我能够在我的 MacOS 环境中运行 Java 程序来启动和运行相同的代码,但是我使用 brew 安装的 MPICH2。

4

3 回答 3

0

当你从 cmd.exe 成功运行 mpiexec.exe 时,你在哪个目录?我对您的输出日志中显示的 LD_LIBRARY_PATH 很好奇......奇怪的是在 Windows 上设置了 LD_LIBRARY_PATH:

LD_LIBRARY_PATH=C:\Python27\Lib\site-packages\mpi4py\bin/../lib:C:\Python27\Lib\site-packages\mpi4py\bin\..\lib

当您将 PATH 变量设置为指向 MPI bin 和 lib 目录时,是否可以从 Windows 启动 mpiexec.exe?如果这些 Open MPI 指令适用,我不肯定,但他们提到设置 PATH 环境变量。

于 2013-08-06T15:27:36.080 回答
0

我怀疑这个问题是因为您使用的是 Windows。我不记得 OpenMPI 何时停止支持 Windows,但在某些时候确实如此。您可以尝试使用适用于 Windows 的 Microsoft 的 MPICH 端口,看看是否满足您的需要。我不记得 URL 了,但你可以在 MPICH 下载页面 ( http://www.mpich.org/downloads/ ) 找到该端口。

于 2013-07-24T13:54:02.410 回答
0

我也不能直接说出原因,但我对 java 下的系统进程的经验是最好由其他人来处理它。

这是我的提示。调用外部应用程序时,我总是使用您的 apache commins exec。链接到基础教程http://commons.apache.org/proper/commons-exec/tutorial.html 希望对您有所帮助。它易于实施和使用。

刚读完你的要点。我缺少的是,您设置工作目录的位置。尝试将工作目录设置为可以从命令行启动的目录。

于 2013-08-06T15:04:31.753 回答