1

键入如下命令

$ 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-协处理器系统#prep

4

3 回答 3

0

https://software.intel.com/en-us/articles/using-intel-mpi-library-and-intel-xeon-phi-coprocessor-tips中提到了一些技巧

您的症状看起来像 #5 中的症状。您可以尝试“mpiexec.hydra -iface mic0 ...”

于 2014-09-24T17:07:11.870 回答
0

根本原因在于英特尔 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 host。

希望能帮助到你。

于 2014-09-24T14:45:21.803 回答
0

以下是一些可供尝试的选项:

-iface mic0
-bootstrap ssh
-env I_MPI_DEBUG 9 PATH/BINARY
于 2014-09-24T16:56:45.193 回答