事情就是这样。我已经在两台不同的计算机上安装了 openmpi,我已经在这台机器上单独编译并运行了 hello_world 示例,它运行良好。但问题是当我启动这个命令时:
mpirun -hostfile hosts -n 3 hello_c
在主机文件中:localhost 和我另一台机器的 ip。然后,程序询问我的 ssh 密码,在我填写之后,没有任何附加内容,例如 mpirun 刚刚崩溃。我真正的问题是我无法通过 ssh 在两台不同的计算机上运行 mpi 进程。
我想准确地说所有 openmpi 二进制文件和库都设置在路径中,甚至是 hello_world。
更新
我已经设置了一个带有 rsa 证书的 pass_wordless ssh,但它也不起作用。我已经在调试模式(-d)下启动了 mpirun,我得到了这个:
[baptiste@baptiste RE51]$ mpirun -d -hostfile hosts hello_c
[baptiste.thinkFed:02666] procdir: /tmp/openmpi-sessions-baptiste@baptiste.thinkFed_0/53471/0/0
[baptiste.thinkFed:02666] jobdir: /tmp/openmpi-sessions-baptiste@baptiste.thinkFed_0/53471/0
[baptiste.thinkFed:02666] top: openmpi-sessions-baptiste@baptiste.thinkFed_0
[baptiste.thinkFed:02666] tmp: /tmp
[roommateServer:01102] procdir: /tmp/openmpi-sessions-baptiste@roommateServer_0/53471/0/1
[roommateServer:01102] jobdir: /tmp/openmpi-sessions-baptiste@roommateServer_0/53471/0
[roommateServer:01102] top: openmpi-sessions-baptiste@roommateServer_0
[roommateServer:01102] tmp: /tmp
没有别的,它留在这里,我必须杀死 mpirun。
有关信息,我尝试使用以下命令在远程节点上通过 ssh 启动 mpirun hello_c:
ssh roomServer mpirun hello_c
这工作得很好......我绝对无法理解为什么它不能在所有节点上工作......