给定以下代码,如果isize< 16000,则成功运行,否则挂起。 如何增加缓冲区/计数的大小以允许isize更大? (比3M大得多)
isize=size(x)
call MPI_BCAST(x,isize,MPI_REAL,0,MPI_COMM_WORLD,ierr)
答案 0 :(得分:0)
这不是内部缓冲区大小的问题。对于MPI实现,16k实数应该没有任何问题(除非你使用的是非常模糊的实现......如果你使用OpenMPI或MPICH2,你应该没问题。)
可以肯定的是,我只是成功地播放了16M的值而没有问题。
所以我的猜测是你要么使用太多的排名(以及杀掉无法处理负载的网络),要么你的硬件设置还有其他问题。