超级编辑:
添加广播步骤将导致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: