mpiexec.hydra - 如何在hydra_pmi_proxy位置不同的机器上运行MPI进程?

ccb*_*ney 6 mpi mpich

我试图在两台机器的集群上使用MPICH运行一个简单的MPI程序.然而,一个正在运行Fedora 17而另一个正在运行Debian Squeeze - 不一定是个问题,但问题是两个发行版将他们的mpi执行者放在不同的目录中:

当我从host1运行以下内容时:

mpiexec -hosts host2 -np 1 -wdir /home/chris/src/mpi/ ./mpitest
Run Code Online (Sandbox Code Playgroud)

它失败并出现以下错误

bash: /usr/lib/mpich2/bin/hydra_pmi_proxy: No such file or directory
Run Code Online (Sandbox Code Playgroud)

这似乎是因为hydra_pmi_proxy安装在/usr/lib/mpich2/binFedora机器上而是安装在/usr/binDebian机器上.我假设当我通过ssh从host1生成进程时,它希望在host2上的相同位置找到hydra_pmi_proxy.

如果我只是在该节点上本地运行它,程序在两台机器上运行正常 - 我在尝试在两者上运行它时只会遇到问题.

我已经在MPICH文档中搜索了一种覆盖远程路径的方法hydra_pmi_proxy,但无济于事.

我能以某种方式这样做吗?我认为MPICH的一个优点是它可以轻松处理hetrogeneous host ....

任何见解都将非常感激!

小智 2

我设法解决了这个问题,没有安装 mpich Hydra 和终端(例如 apt-get install MPICH2 或 Hydra)。但我下载了源代码:http://www.mpich.org/downloads/(稳定版本)。然后我在主机和从机上运行以下命令:export PATH=/home/you/mpich:$PATH(在我的计算机上我安装在我的 mpich 目录中)。

刚刚解决了这个问题!

谢谢!