我正在尝试在两台机器的集群上使用 MPICH 运行一个简单的 MPI 程序。但是,一个正在运行 Fedora 17,另一个正在运行 Debian Squeeze - 不一定是问题,但问题是这两个发行版将它们的 mpi 执行程序放在不同的目录中:
当我从 host1 运行以下命令时:
mpiexec -hosts host2 -np 1 -wdir /home/chris/src/mpi/ ./mpitest
它失败并出现以下错误
bash: /usr/lib/mpich2/bin/hydra_pmi_proxy: No such file or directory
这似乎是因为hydra_pmi_proxy
它安装在/usr/lib/mpich2/bin
Fedora 机器上,但安装在/usr/bin
Debian 机器上。我假设当我通过 ssh 从 host1 生成进程时,它希望在 host2 的同一位置找到 hydra_pmi_proxy。
如果我只是在该节点上本地运行该程序,则该程序在两台机器上都可以正常运行 - 我只是在尝试在两台机器上运行它时都会遇到问题。
我在 MPICH 文档中搜索了一种覆盖到远程路径的方法hydra_pmi_proxy
,但无济于事。
我能以某种方式做到这一点吗?我认为 MPICH 的优点之一是它可以轻松处理异构主机......
任何见解将不胜感激!