1

给定以下代码,如果 isize<16000 则运行成功,否则挂起。如何增加缓冲区/计数的大小以允许 isize 更大?(大得多。像 3M)

isize=size(x)
call MPI_BCAST(x,isize,MPI_REAL,0,MPI_COMM_WORLD,ierr)
4

1 回答 1

0

这不是内部缓冲区大小的问题。16k 实数对于 MPI 实现应该没有任何问题(除非您使用的是非常模糊的实现......如果您使用 OpenMPI 或 MPICH2,您应该没问题)。

可以肯定的是,我刚刚成功广播了 16M 值并且没有问题。

所以我的猜测是,要么你使用了太多的等级(并杀死了你无法处理负载的网络),要么你的硬件设置有另一个问题。

于 2013-09-27T11:53:40.570 回答