0

我已经使用 Java 和 MPJ Expresss 开发了一个 MPI 应用程序。它在多核配置中完美运行。

最近,它被授予我访问分布式内存环境的权限,以测试我的应用程序。首先,我使用 MPJ HelloWorld 应用程序检查集群配置是否运行良好。之后,我继续运行我的应用程序,但它在显示后冻结:

MPJ Express (0.38) 在集群配置中启动

更糟糕的是,我使用 Ctrl+C 终止了该进程,但我无法运行 HelloWorld 应用程序。我不得不杀死所有机器中的 MPJ 守护程序并重新启动它们。

我什至用 HelloWorld 类的相同内容替换了我的主类的内容,看看它是否打印了一些东西。它没有。此外,我创建了一个与我的应用程序具有相似包结构的 HelloWorld 应用程序,并且 HelloWorld 运行良好。

我可以注意到 HelloWorld 和我的应用程序之间的一个重大差异是我有一组大小约为 29.8 MB 的库,因此我尝试不将这些库添加到执行类路径中。它有效,但当然,我的应用程序没用,因为它在运行时找不到所需的库。

我将不胜感激任何意见和建议。

谢谢!

4

1 回答 1

1

访问mpj-express.org/readme.html 并根据您的平台选择一个文件:

(Windows) 服务“MPJ Daemon”应该安装一次

然而,如果您使用的是 Eclipse IDE ,线程将在每个MPJ 应用程序之前启动和之后停止。

注意:在命令行上,您可以启动线程、运行任意数量的程序并最终终止它们。


  • 写入“机器”文件
  • 启动守护进程:mpjboot 机器
  • 编译:javac -cp .:$MPJ_HOME/lib/mpj.jar HelloWorld.java
  • 执行:mpjrun.sh -np 4 -dev niodev HelloWorld
  • 停止守护进程:mpjhalt 机器

于 2012-04-07T15:27:06.650 回答