24小时热门版块排行榜    

查看: 487  |  回复: 1
【悬赏金币】回答本帖问题,作者fo3mt2将赠送您 10 个金币
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

fo3mt2

金虫 (小有名气)

[求助] MPI并行收集数据

大家好,

我想请教一段用fortran写的mpi并行程序。代码如下:

do i = 1, nomi, 1
   if (mod(i-1,world_size) /= world_rank) cycle
   kkim = kkimp(i,1:3)
   call proce(i,ndegen,nbc,npo,kkim,hil,thil,tecv,teve,bcb,eni,er,pi,nne,hb,bcp1)
   if (world_rank == 0) then
      bcp2 = bcp1 !the 6th line
      do j = 1, world_size-1, 1
         if (i-1+j == nomi) exit
         k = i + j + 1000
         call mpi_recv(bcp3,nomi*nne*6,mpi_double_complex,j,k,mpi_comm_world,mpi_status_ignore,ierr)
         bcp2 = bcp2 + bcp3
      end do
   else
      k = i + 1000
      call mpi_send(bcp1,nomi*nne*6,mpi_double_complex,0,k,mpi_comm_world,ierr)
   end if
end do

假设根进程(root processor)在外循环里一共被使用了两次,每次都会调用子程序proce,并从子程序得到传回的数组bcp1。

当用根进程(root processor)使用数组bcp2,从各个进程(包括其自身)收集各自得到的数组bcp1时,根进程(root processor)需要先收集自己得到的数组bcp1。

因为假设根进程(root processor)在外循环里一共被使用了两次,根进程(root processor)一共要从自身收集两次bcp1数组。那程序里的第6行(标记为!the 6th line),写成bcp2 = bcp1是否合理呢?

我觉得这样写,会使得根进程(root processor)在循环里第二次被使用得到的数组bcp1,覆盖掉第一次被使用得到的数组bcp1,进而导致丢失了第一次使用时得到的数组bcp1信息。

如果不丢失信息,应该进行叠加,也就是把第6行写成bcp2 = bcp2 + bcp1;但程序里却不是这样写的。

我想不通是什么原因,能否请大家给些建议呢?或者是否是程序写错了呢?

谢谢啦。

盼复。
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 fo3mt2 的主题更新
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] bless bless bless bless bless bless +6 chenwenqnig 2024-05-19 7/350 2024-05-22 22:59 by 957083516
[论文投稿] 求推荐期刊 20+4 好困好困a 2024-05-18 5/250 2024-05-22 22:41 by 知识产权服务
[教师之家] 有没有在职教师同时做博后的? +6 克雷斯 2024-05-20 7/350 2024-05-22 22:00 by xli1984
[教师之家] 执念 +9 459582015 2024-05-16 10/500 2024-05-22 19:28 by 预演556
[教师之家] 博士去高校就是为了有寒暑假吗? +23 wenwen0825 2024-05-16 29/1450 2024-05-22 15:57 by iwdw2012
[基金申请] 国社科申请书上传有误,学校已提交到省里,省里还未审核,还能退回修改嘛? 100+3 远山晴岚 2024-05-19 7/350 2024-05-22 12:26 by holypower
[论文投稿] 关于通讯作者 5+3 irikiar 2024-05-21 3/150 2024-05-22 11:21 by bobvan
[论文投稿] 投稿journal of energy chemistry +3 小可爱嘿呀 2024-05-21 3/150 2024-05-22 11:11 by xs74101122
[硕博家园] 2024/2025碳纳米材料方向博士/科研助理申请 +4 小二仙 2024-05-21 7/350 2024-05-22 09:51 by 呼呼一哈黑
[基金申请] 国自然等 80+4 胖虎 2024-05-21 12/600 2024-05-22 09:47 by nono2009
[找工作] 浙江的高校现在门槛都这么高吗 +12 dadqweq_qw 2024-05-16 12/600 2024-05-21 22:30 by foolishmani
[基金申请] 河北省基金 +12 3101251516 2024-05-16 19/950 2024-05-21 21:20 by zhang5657
[考博] 本科出身不好是不是会被直接刷呀 +5 未来富婆蛙 2024-05-20 5/250 2024-05-21 15:52 by chemdl
[博后之家] 山东大学(青岛)“天然药物生物智造”课题组 招聘“博士后”(年薪20.4-55.6万元) +3 第二种态度 2024-05-18 6/300 2024-05-21 15:37 by 安小樱
[基金申请] 太诡异了,五月底还有没有送审的。。 +12 hdzw9071 2024-05-21 12/600 2024-05-21 12:43 by dxcharlary
[硕博家园] 又见奇葩学生,可咋办 +25 appleapple2 2024-05-17 30/1500 2024-05-21 09:13 by qyws
[基金申请] 申请基金代表性成果 +14 lancet0903 2024-05-17 20/1000 2024-05-21 00:23 by dxcharlary
[找工作] 绍兴文理学院怎么样?有没有坑啊 +9 zhaojiang427 2024-05-16 23/1150 2024-05-20 21:44 by 高敖曹
[基金申请] 基金评审 +4 阿呆不呆 2024-05-20 4/200 2024-05-20 15:10 by 一路向东
[考博] 考博跨专业可以跨多远 +5 竹外。。。 2024-05-18 6/300 2024-05-19 21:51 by 摩天思瑞
信息提示
请填处理意见