Linux 为什么MPI给出运行时错误

Linux 为什么MPI给出运行时错误,linux,message,Linux,Message,我打字之后 sudo apt-get install mpich2 安装了mpich,但第一个问题是我不知道文件安装在哪里。另一方面,当我写 mpirun -np 3 ./hello.o 它给了我: mpiexec_hani-laptop: cannot connect to local mpd (/tmp/mpd2.console_hani); possible causes: 1. no mpd is running on this host 2. an mpd is runni

我打字之后

sudo apt-get install mpich2
安装了mpich,但第一个问题是我不知道文件安装在哪里。另一方面,当我写

mpirun -np 3 ./hello.o
它给了我:

mpiexec_hani-laptop: cannot connect to local mpd (/tmp/mpd2.console_hani); possible causes:
  1. no mpd is running on this host
  2. an mpd is running but was started without a "console" (-n option)
In case 1, you can start an mpd on this host with:
    mpd &
and you will be able to run jobs just on this host.
For more details on starting mpds on a set of hosts, see
the MPICH2 Installation Guide.

任何人都可以提供帮助。

您可以通过键入
哪个mpirun
(这适用于任何命令)来确定
mpirun
的位置。
mpd
问题听起来可能是在运行任何东西之前需要运行一个mpi守护进程。我没有使用过mpich,但我记得我的顾问提到过这种情况

mpich2使用mpd作为作业调度程序。这意味着必须先运行mpd守护进程,然后才能运行MPI作业

此外,要使mpd在多个节点上正确运行,您需要使用匹配的密码(或“secretkey”,我不记得mpich2使用哪个术语)


您使用mpich2而不是OpenMPI或LAM有什么原因吗?

您必须设置mpich的主机文件,并为其提供在其他主机上启动作业的方法。e、 g.在可信网络环境中使用rsh和
/etc/hosts.equiv

仅用于测试,我认为只有本地主机才能运行mpich。 哦,但默认情况下可能未启用:

对不起,我记不起那些把戏了。。。时间太长了。

可能是因为mpd(多用途守护进程)没有像它所说的那样运行。“Hydra”是另一种广泛使用的并行过程管理系统。 试试这个:

mpd &
或者这个:

mpiexec.hydra -np 3 ./hello.o
这些守护进程用于将进程调度到所需的核心。
注意:在运行上述命令一次后,mpirun似乎也可以正常工作。

尝试在我的脚本中添加一行导出一些lib:

export LD_LIBRARY_PATH=/usr/local/mpich2-1.0.5p4/lib:/usr/local/hdf5/lib:$LD_LIBRARY_PATH

dpkg-L mpich2将显示文件的位置。apt/dpkg有几个前端,它们试图将执行各种操作所需的所有不同命令收集到一个前端中。e、 这帮了我的忙!谢谢