2

超级编辑:

添加广播步骤将导致ncols主节点由两个进程打印(我可以从中检查输出)。但为什么?我的意思是,所有广播的变量在它们的声明行中已经有一个值!!!(题外话


我有一些基于这个例子的代码。

我使用这个简单的程序检查了集群配置是否正常,该程序还打印了它将运行的机器的 IP:

int main (int argc, char *argv[])
{
  int rank, size;

  MPI_Init (&argc, &argv);      /* starts MPI */
  MPI_Comm_rank (MPI_COMM_WORLD, &rank);        /* get current process id */
  MPI_Comm_size (MPI_COMM_WORLD, &size);        /* get number of processes */
  printf( "Hello world from process %d of %d\n", rank, size );
  // removed code that printed IP address
  MPI_Finalize();
  return 0;
}

它打印了每台机器的IP两次。


EDIT_2

如果我(仅)打印网格,就像在示例中一样,我将获得一台计算机:

Processes grid pattern:
0 1
2 3

对于两个:

Processes grid pattern:
4

1 回答 1

1

两个节点中的可执行文件不一样!


当我配置集群时,我遇到了非常困难的事情,所以当我遇到挂载问题时,我就跳过了。所以现在,更改只会出现在一个节点中。除非部分(或全部)代码相同,否则代码的行为会很奇怪。

于 2015-08-07T16:10:13.730 回答