【发布时间】:2019-03-13 10:02:22
【问题描述】:
我正在尝试运行我在两台使用 MPI 的机器上编写的程序。当使用 MPIRUN 启动时,它在本地机器上使用 4 个内核运行得非常好。我已经配置了ssh,这样本地机器就可以不用密码登录远程机器了。每当我运行 MPIRUN 并指定主机文件时,都会出现分段错误和“地址未映射:(某些地址)”。每次运行时地址都会更改。有时它只是(零)。当我尝试使用主机文件并运行 ring_c 示例时,也会发生这种情况。我在两台计算机上以及与作业相关的用户都安装了 OpenMPI 3.1.2。
主机文件内容
localhost
mpiuser@192.168.1.236
我也尝试在主机文件中使用主机名 ubuntu-vm。这个主机名在我的 /etc/hosts 文件中。当我输入 ssh mpiuser@ubuntu-vm 或 ssh mpiuser@192.168.1.236 时,它会毫无问题地让我登录,也不会提示密码。我曾多次尝试在两台计算机上重新安装 OpenMPI。
这可能是 OpenMPI 特定的问题吗? mpich 可能会起作用吗?我不明白为什么这很难开始工作。我认为使用标准安装说明并运行示例程序不会有问题。
我在两台机器上都使用 ubuntu 18.04。远程机器是 Windows 10 主机中的虚拟机。桥接网络适配器配置。在尝试运行它们之前,我将程序放入可从两台机器访问的共享文件夹中。如果我之前的陈述不清楚,示例程序 ring_c 在多台机器上运行时也会失败,但在本地机器上不会。
命令行:
MPIRUN -np 8 --hostfile hostfile ./ring_c
示例错误输出:
====================== ALLOCATED NODES ======================
ubuntu-desktop: flags=0x11 slots=4 max_slots=0 slots_inuse=0 state=UP
192.168.1.236: flags=0x10 slots=1 max_slots=0 slots_inuse=0 state=UNKNOWN
=================================================================
[ubuntu-desktop:11654] *** Process received signal ***
[ubuntu-desktop:11654] Signal: Segmentation fault (11)
[ubuntu-desktop:11654] Signal code: Address not mapped (1)
[ubuntu-desktop:11654] Failing at address: 0x10
【问题讨论】: