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、 这帮了我的忙!谢谢