【问题标题】:Openmpi trouble with mpirun and sshmpirun 和 ssh 的 Openmpi 问题
【发布时间】:2013-03-12 21:08:20
【问题描述】:

事情就是这样。我已经在两台不同的计算机上安装了 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

这很好......我绝对无法理解为什么它不能在所有节点上工作......

【问题讨论】:

  • 到底是怎么崩溃的?
  • Mpirun 什么都不做,让终端保持忙碌。我必须做 ^c 来检索它。

标签: mpi openmpi


【解决方案1】:

假设您的编译器以及您的主机文件设置正确。您的问题是您需要在两台计算机之间设置无密码 ssh,否则您将收到您描述的错误。这是因为 MPI 需要快速有效地进行通信,并且不会提示消息输入密码,否则会导致消息停止和程序崩溃。

【讨论】:

  • 感谢您的回答。所以我会尝试使用 ssh 的 rsa 密钥。我还有一个小问题,当我使用 mpirun 通过网络启动一个程序时,我必须先将此程序放在所有计算机上,还是由 mpi 运行时负责?谢谢。
  • 我尝试过使用 ssh 证书。它总是卡在同一个地方,什么也没有发生。我必须用 ^C 杀死 mpi run。
  • 回答你的第一个问题,是的,否则它会寻找目标文件而不是找到它们,而且 MPI 也需要安装在所有机器上。这是设置无密码 ssh askubuntu.com/questions/46930/… 的快速指南
  • 我已经设置了一个带有 rsa 证书的 pass_wordless ssh,但它也不起作用。
猜你喜欢
  • 1970-01-01
  • 2015-04-25
  • 2014-10-20
  • 2011-10-01
  • 1970-01-01
  • 2015-03-28
  • 2011-07-08
  • 2013-05-21
  • 2020-09-16
相关资源
最近更新 更多