找回密码
 注册
查看: 4554|回复: 3

再请教一个并行运算的问题

[复制链接]
发表于 2006-11-30 14:37:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x

我用mpi(fortran77),同样的程序,同样的大小。当我将整个区域分成2个处理器来计算时,运行很顺也很快。但是当我分成4个处理器来计算时,速度变的超级慢,几乎都无法运行下去,会卡在某一步。而且卡的位置每次run都不一样,有时候卡在call第一个子程序;有时候能很快很顺的运行到第五个子程序,然后就卡在第五个子程序那里。
请问这可能会是什么问题?请求高人指点!!
万分感谢!!
发表于 2006-12-3 08:30:27 | 显示全部楼层

再请教一个并行运算的问题

我估计你在CPU通讯部分程序有问题,其中个别CPU在等待接收信息,却等不到,只好
老等着。
发表于 2006-12-3 20:40:45 | 显示全部楼层

再请教一个并行运算的问题

很有可能是楼上说得原因
 楼主| 发表于 2006-12-5 15:19:39 | 显示全部楼层

再请教一个并行运算的问题

太感谢Keni和Jacobi了。按照你们说的,我试着查找问题,发现就是你们所说的“通讯部分程序有问题”。
我将计算区域分成4块。将整个区域的数据读入rank=0,然后再分别分配给0,1,2,3这4个处理器。我用了mpi_isend和mpi_irecv,估计我的用法有问题。我现在换成了mpi_scatter,问题解决了。再次感谢Keni和Jacobi的提示。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表