我已经使用Java和MPJ Expresss开发了一个MPI应用程序。它在多核配置中完美工作。
最近,它允许我访问分布式内存环境,以便测试我的应用程序。首先,我使用MPJ HelloWorld应用程序检查集群配置是否正常工作。之后,我继续运行我的应用程序,但它在显示后冻结
MPJ Express(0.38)在集群配置中启动
更糟糕的是,我用Ctrl+C杀死了这个进程,并且无法运行HelloWorld应用程序。我不得不杀死所有机器中的MPJ守护进程,然后重新启动它们。
我甚至用HelloWorld类的相同内容替换我的主类的内容,看看它是否打印了什么。它没有。此外,我创建了一个HelloWorld应用程序,它的包结构与我的应用程序类似,HelloWorld运行得很好。
我可以注意到HelloWorld和我的应用程序之间的一大区别是,我有一组大小约为29.8MB的库,所以我尝试不将这些库添加到执行类路径中。它起了作用,但当然,我的应用程序是无用的,因为它在运行时找不到所需的库。
如果有任何意见和建议,我将不胜感激。
谢谢!
访问mpj express.org/readme.html并根据您的平台选择一个文件:
- Linux/UNIX/Mac-http://mpj-express.org/docs/readme/README
- Windows-http://mpj-express.org/docs/readme/README-win.txt
(Windows)服务"MPJ守护程序"应安装一次。
然而,线程将在每个MPJ应用程序之前启动,并在MPJ应用之后停止,如果您使用的是Eclipse IDE。
注意:在命令行中,您可以启动线程,运行任意数量的程序,最后终止它们。
- 写入"machine"文件
- 启动守护程序:mpjboot计算机
- 编译:javac-cp.:$MPJ_HOME/lib/MPJ.jar HelloWorld.java
- 执行:mpjrun.sh-np 4-dev niodev HelloWorld
- 停止守护程序:mpjhalt计算机