OpenMPI - 用C广播2d数组

时间:2015-04-05 18:10:29

标签: arrays mpi broadcast

我使用MPI_Bcast广播代表137x137矩阵的2d双数组有两个以上处理器的问题。程序用C语言编写,使用OpenMPI。这就是我在做的事情:

...
double matrix[138][138] = {0.0};
int myid, numprocs;    

MPI_Init(&argc,&argv);
MPI_Comm_size(MPI_COMM_WORLD,&numprocs);
MPI_Comm_rank(MPI_COMM_WORLD,&myid);

if(myid==ROOT){
[reading matrix from file to matrix array]
}

MPI_Bcast(matrix, M_SIZE, MPI_DOUBLE, ROOT, MPI_COMM_WORLD);

[some operation i.e. print matrix]

执行一个或两个处理器时没有问题,但是对于3个或更多程序暂停。当我尝试使用一维数组[138]时,根本没有问题。

我将非常感谢任何有用的信息。谢谢!

0 个答案:

没有答案