我有 6 台计算机(每台 4 核,硬件相同),具有静态 IP,需要使用 OpenMPI 并行运行 NAMD 计算化学软件。所以我
- 安装了 SSH 和 OpenMPI (在 mint 18 上)
- 将可执行文件放在所有计算机的 /bin 中
- 设置无密码 SSH(我可以从主机无需密码访问所有 4 台从属计算机)
然而,它在 3 台电脑上工作正常,而在其他电脑上则
mpiuser@master ~/Desktop/apoa1-16 $ mpiexec -np 16 --hostfile mpi-hostfile namd2 apoa1.namd > apoa1.log
ssh: Could not resolve hostname slave32: Temporary failure in name resolution
ssh: Could not resolve hostname slave27: Temporary failure in name resolution
[master:04223] 1 more process has sent help message help-errmgr-base.txt / failed-daemon-launch
[master:04223] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages
我的主计算机的 /etc/hosts 如下所示
127.0.0.1 localhost
#127.0.1.1 master
172.18.112.78 master
#Cluster Host Names
172.18.112.75 slave25
172.18.112.76 slave26
172.18.112.77 slave27
172.18.112.82 slave32
172.18.112.81 slave31
ssh slavexx 工作正常
我的 mpi-hostfile 看起来像这样
localhost slots=4
slave25 slots=4
slave26 slots=4
slave27 slots=4
slave31 slots=4
slave32 slots=4
slave25 和 slave26 工作正常(最多 12 个处理器,mpiexec -np 16),但超过这个数目就会ssh: Could not resolve hostname slavexx: Temporary failure in name resolution
出错。这很奇怪,因为我可以毫无问题地 ping、ssh 所有 5 台计算机。
有人有办法解决这个问题吗?
还有一件事,这些机器是克隆的。所以我最近更改了计算机主机名并重新安装了 SSH 和 OpenMPI。
更新:刚才我发现只有前三个用于mpi-hostfile
MPI 运行。其他的则弹出上面的错误!