我正在尝试在 4 个节点上运行一个简单的 MPI 程序。我正在使用在 Centos 5.5 上运行的 OpenMPI 1.4.3。当我提交带有主机文件/机器文件的 MPIRUN 命令时,我没有得到任何输出,而是收到一个空白屏幕。因此,我必须结束这份工作。。
我使用以下运行命令::mpirun --hostfile hostfile -np 4 new46
OUTPUT ON KILLING JOB:
mpirun: killing job...
--------------------------------------------------------------------------
mpirun noticed that the job aborted, but has no info as to the process that caused
that situation.
--------------------------------------------------------------------------
mpirun was unable to cleanly terminate the daemons on the nodes shown
below. Additional manual cleanup may be required - please refer to
the "orte-clean" tool for assistance.
--------------------------------------------------------------------------
myocyte46 - daemon did not report back when launched
myocyte47 - daemon did not report back when launched
myocyte49 - daemon did not report back when launched
这是我试图在 4 个节点上执行的 MPI 程序
**************************
if (my_rank != 0)
{
sprintf(message, "Greetings from the process %d!", my_rank);
dest = 0;
MPI_Send(message, strlen(message)+1, MPI_CHAR, dest, tag, MPI_COMM_WORLD);
}
else
{
for (source = 1;source < p; source++)
{
MPI_Recv(message, 100, MPI_CHAR, source, tag, MPI_COMM_WORLD, &status);
printf("%s\n", message);
}
****************************
我的主机文件如下所示:
[amohan@myocyte48 ~]$ cat hostfile
myocyte46
myocyte47
myocyte48
myocyte49
*******************************
我在每个节点上独立运行了上面的 MPI 程序,它编译并运行得很好。我在使用主机文件时遇到了“启动时守护程序未报告”的问题。我想弄清楚可能是什么问题。
谢谢!
最佳答案
我认为这些行
myocyte46 - daemon did not report back when launched
非常清楚——您在启动 mpi 守护程序或之后与它们通信时遇到了麻烦。所以你需要开始关注网络。您可以在没有密码的情况下通过 ssh 进入这些节点吗?你能ssh回来吗?抛开MPI程序,你能不能
mpirun -np 4 hostname
然后得到什么?
关于c - OpenMPI 1.4.3 mpirun 主机文件错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6632847/