Ubuntu 每当我使用主机文件时,都会运行分段错误

Ubuntu 每当我使用主机文件时,都会运行分段错误,ubuntu,mpi,openmpi,Ubuntu,Mpi,Openmpi,我正在尝试运行一个我在两台机器上使用MPI编写的程序。当使用MPIRUN启动时,它在本地计算机上使用4个内核运行得非常好。我已经配置了ssh,以便本地计算机可以在不使用密码的情况下登录到远程计算机。每当我运行MPIRUN并指定一个主机文件时,就会出现一个分段错误和“地址未映射:(某些地址)”。地址每次运行时都会更改。有时它只是(零)。当我尝试使用hostfile并运行ring_c示例时,也会发生这种情况。我在两台计算机上以及为与作业相关联的用户安装了OpenMPI 3.1.2 主机文件内容 lo

我正在尝试运行一个我在两台机器上使用MPI编写的程序。当使用MPIRUN启动时,它在本地计算机上使用4个内核运行得非常好。我已经配置了ssh,以便本地计算机可以在不使用密码的情况下登录到远程计算机。每当我运行MPIRUN并指定一个主机文件时,就会出现一个分段错误和“地址未映射:(某些地址)”。地址每次运行时都会更改。有时它只是(零)。当我尝试使用hostfile并运行ring_c示例时,也会发生这种情况。我在两台计算机上以及为与作业相关联的用户安装了OpenMPI 3.1.2

主机文件内容

localhost
mpiuser@192.168.1.236
我还尝试在主机文件中使用主机名ubuntu vm。此主机名位于my/etc/hosts文件中。当我键入ssh时mpiuser@ubuntu-虚拟机或sshmpiuser@192.168.1.236,它让我登录,没有问题,也没有密码提示。我已经在两台计算机上多次尝试重新安装OpenMPI

这是否可能是OpenMPI特定的问题?mpich可能会工作吗?我不明白为什么这么难开始工作。我认为使用标准安装说明和运行示例程序不会有问题

我在两台机器上都使用ubuntu 18.04。远程计算机是windows 10主机中的VM。桥接网络适配器配置。我正在将程序放入一个共享文件夹中,在尝试运行它们之前,可以从两台计算机访问该文件夹。如果我前面的语句不清楚,那么示例程序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

这是OpenMPI中的一个真正错误(双重自由错误),它已在上的
master
分支中修复

同时,您可以手动下载并应用位于的修补程序

请注意,openmpi用户邮件列表或githubrepo()是报告此类问题的最佳位置。
mpirun
永远不会崩溃,因此编程错误的可能性很小)

感谢您的响应。事实上,我忘了我问过这个问题,我试着安装MPICH,它工作得非常完美。我知道这对某些人来说不是很有用,但我想在某些情况下这可能是一种选择。