超级编辑:
添加广播步骤将导致主节点通过两个进程打印ncols
(我可以从中检查输出)。但为什么?我的意思是,所有广播的变量在其声明的行中已经有了一个值! (偏离主题image)。
我有一些基于此example的代码。
我通过这个简单的程序检查了群集配置是否正常,该程序也是它将运行的机器的printed the 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:
答案 0 :(得分:1)
两个节点中的可执行文件不同!
当我配置群集时,我遇到了很多困难,所以当我遇到安装问题时,我就跳过了它。所以现在,更改只会出现在一个节点中。除非一些(或所有)代码是相同的,否则代码会表现得很奇怪。