超级编辑:
添加广播步骤,将导致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:
两个节点中的可执行文件都不一样!
当配置群集时,我的工作非常艰难,因此当安装出现问题时,我只是跳过了它。因此,现在,更改将仅出现在一个节点中。除非某些(或全部)代码相同,否则该代码的行为将很奇怪。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句