c - OpenMPI 1.4.3 mpirun 主机文件错误

标签 c mpi centos5 openmpi

我正在尝试在 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/

相关文章:

php - ftp_login() 错误

java - org.springframework.webflow.util.RandomGuid 上的错误 java.lang.NoClassDefFoundError

c - 当使用 == 或 != 时,While 循环会卡住

c - 加载链接列表文件指针

c - MPI_Finalize() 不结束任何进程

c - 直接从我的应用程序执行 BLAST/Smith Waterman 搜索

c++ - 在 C++ 中从控制台获取触发器

c - 符号的使用 | & &~ 和 ~ 在 capability.h 文件中

c - 将 1D 二进制数组分解为多个较小的 MPI 数组,没有填充适当的数据,缺少什么?

linux - Centos 5.4 找不到 semanage 命令