我在两台机器上执行MPI程序时遇到困难。操作系统是Ubuntu 12.04。 MPI实现是MPICH2
ssh工作正常:
root@ubuntu:/home# ssh 192.168.1.9
root@gpuguy's password:
Welcome to Ubuntu 12.04.3 LTS (GNU/Linux 3.8.0-29-generic i686)
* Documentation: https://help.ubuntu.com/
131 packages can be updated.
67 updates are security updates.
Last login: Thu Oct 24 17:36:25 2013 from ubuntu.local
root@gpuguy:~#
但是当我运行我的MPI程序时,它失败了:
root@ubuntu:/home# mpiexec -f hosts.cfg -n 4 hello
root@192.168.1.9's password:
[proxy:0:0@gpuguy] HYDU_sock_connect (./utils/sock/sock.c:171): unable to get host address for ubuntu (1)
[proxy:0:0@gpuguy] main (./pm/pmiserv/pmip.c:209): unable to connect to server ubuntu at port 42104 (check for firewalls!)
我已经在两台机器上禁用了防火墙,这是我可以成功执行ssh的原因。但是如何解决这个问题呢?
我的MPI代码在单台机器上成功运行。
答案 0 :(得分:2)
要使MPICH(或任何MPI实现)起作用,您需要设置无密码SSH。我还应该提一下,你真的不应该以root身份登录才能使其工作。一直以root身份登录通常都是一个非常糟糕的主意。