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