24小时热门版块排行榜    

查看: 482  |  回复: 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的回帖

taichiman

新虫 (正式写手)

请问mpi并行程序的编译环境是?

发自小木虫Android客户端
2楼2022-12-05 12:05:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 fo3mt2 的主题更新
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 申请基金代表性成果 +11 lancet0903 2024-05-17 11/550 2024-05-18 13:37 by pinyuan33
[硕博家园] 博三一直没文章怎么办 +15 133456 2024-05-17 23/1150 2024-05-18 12:47 by 未来富婆蛙
[教师之家] 白天不懂夜的黑,90后青椒与60后老板 +3 zylfront 2024-05-18 4/200 2024-05-18 10:12 by zylfront
[论文投稿] 求期刊推荐 30+3 jxhx666666 2024-05-15 5/250 2024-05-18 10:03 by dgfj564
[硕博家园] 又见奇葩学生,可咋办 +14 appleapple2 2024-05-17 18/900 2024-05-18 09:14 by 斯坦福01
[硕博家园] 耐高温垫片求购 +6 Sexyflea 2024-05-16 9/450 2024-05-18 08:31 by nanbeiY
[论文投稿] 当前scientific reports还值得投稿么? +5 lizhengke06 2024-05-14 6/300 2024-05-17 18:28 by dxcharlary
[教师之家] “直接受聘正高专业技术职务”怎么理解 +7 ZHONGWU_U 2024-05-17 8/400 2024-05-17 17:36 by jurkat.1640
[考博] 想被211以上高校课题组接收 +7 风起沧澜 2024-05-16 9/450 2024-05-17 16:39 by zhaojiang427
[硕博家园] 海外博士,国内博后找工作求建议 +7 905452934 2024-05-16 17/850 2024-05-17 12:41 by 905452934
[教师之家] 普通高校有编制讲师与211高校无编制专职科研岗,应该怎么选 +17 1137025804 2024-05-15 22/1100 2024-05-17 12:10 by cleverly
[教师之家] 另一半是老师会加分哦 +11 acogw9004 2024-05-14 11/550 2024-05-17 11:18 by fysh2023
[基金申请] 国自然青基把共同第一作者标成了唯一第一作者 +26 1137025804 2024-05-15 28/1400 2024-05-16 22:26 by 1135482512
[考博] 寻找高分子领域博导 +8 小政雅图 2024-05-14 11/550 2024-05-16 22:10 by 单调的胖子
[考博] 24应届生寻博导 +3 8139173 2024-05-15 4/200 2024-05-16 21:09 by 不容易456
[基金申请] 系统导出申报书中参与人那一页的格式,跨入两页,要通过调整行间距调整到一页吗? +3 danisha 2024-05-15 5/250 2024-05-16 18:21 by danisha
[教师之家] 加上“青年”两个字,意义就变了 +10 zylfront 2024-05-13 13/650 2024-05-15 23:36 by flasheagle
[基金申请] 2024工材口的国自然开始涵评了吗? +3 Thanks1989 2024-05-13 3/150 2024-05-14 22:27 by weiyongscut
[论文投稿] 第一次投SCI,一审给了Revise +5 慎独的小花卷 2024-05-13 12/600 2024-05-14 20:58 by 慎独的小花卷
[论文投稿] 请问这审稿意见准确地说是啥意思 +4 枯禅 2024-05-11 5/250 2024-05-12 14:54 by ca0yan9
信息提示
请填处理意见