如下所示的键入命令
$ mpiicpc -mmic -o Hello.MIC Hello.c
$ scp Hello.MIC mic0:/tmp/Hello.MIC
$ export I_MPI_MIC=enable
$ mpirun -n 2 -host mic0 /tmp/Hello.MIC
我收到了这个错误
[proxy:0:0@mic0.local] HYDU_sock_connect (../../utils/sock/sock.c:268): unable to connect from "mic0.local" to "127.0.0.1" (Connection refused)
[proxy:0:0@mic0.local] main (../../pm/pmiserv/pmip.c:372): unable to connect to server 127.0.0.1 at port 46331 (check for firewalls!)
这是我的主机设置
$ cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
172.31.1.1 mic0.local mic0 #Generated-by-micctrl
$ ssh mic0 cat /etc/hosts
172.31.1.254 host
172.31.1.1 mic0.local mic0
我关闭了防火墙,并且进行了无密码的ssh连接。
并将主机mpi lib和bin文件复制到mic0。
此错误有什么问题?
请给我一些提示。ps)我指的是在英特尔®至强融核™协处理器系统上使用英特尔®MPI库https://software.intel.com/en-us/articles/using-the-intel-mpi-library-on-intel-xeon-phi-coprocessor-systems#prep
答案 0 :(得分:0)
根本原因在于Intel MPI hydra打印的错误消息:
无法连接" mic0.local"到" 127.0.0.1" (连接被拒绝)
请确认您可以从mic0 ssh到自身,所以命令: $ ssh mic0.local 和 $ ssh localhost 从卡的操作系统执行的操作应完成,无需请求密码验证。
可能需要在卡上设置ssh密钥(例如将公钥添加到.ssh / authorized_keys中),尤其是当/ home文件系统未从主机上安装到卡上时。您可能还需要检查ssh私钥和authorized_keys的文件权限:基本上执行您通常在两台Linux计算机之间进行正常无密码身份验证的所有操作。
此外,还有一些可能有助于解决其他问题的方法:尝试在主机和Xeon Phi卡上使/ etc / hosts完全相同,所以,特别添加一行: 172.31.1.254主持人 也在你的主机上。
希望它有所帮助。
答案 1 :(得分:0)
以下是一些可供尝试的选项:
-iface mic0
-bootstrap ssh
-env I_MPI_DEBUG 9 PATH/BINARY
答案 2 :(得分:0)
您的症状看起来像#5中的症状。你可以试试" mpiexec.hydra -iface mic0 ..."