24小时热门版块排行榜    

查看: 472  |  回复: 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个字符以上)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[教师之家] 领导好安排自己做杂事。在成果上给领导挂名,请其不要经常安排自己做杂事 +3 河西夜郎 2024-05-03 3/150 2024-05-04 17:03 by zhangysbad
[基金申请] 关于公布2024年度国家自然科学基金项目申请初审结果的通告 (金币+2) +11 hdzw9071 2024-04-30 16/800 2024-05-04 16:30 by jiaoxg
[基金申请] 活页超过7000字,有影响吗? +3 青竹82 2024-05-04 3/150 2024-05-04 16:20 by 0123wy3210
[考研] 考研日记 +5 九三hs 2024-05-02 5/250 2024-05-04 14:49 by 鱼翔浅底1
[硕博家园] 找工作千万不能来差学校 +8 YN完蛋 2024-05-02 8/400 2024-05-04 12:46 by kanyechris
[论文投稿] 审稿人一收一拒,编辑给了修 +6 njuyck 2024-04-30 9/450 2024-05-04 12:30 by lizhengke06
[教师之家] 七级岗,到手不到8000,带本科论文12教学分/生,额定教学分280 +18 河西夜郎 2024-05-02 20/1000 2024-05-03 22:35 by 棉花糖ww
[教师之家] 说同学对待毕业论文不认真后她很不悦 +12 河西夜郎 2024-04-30 15/750 2024-05-03 22:33 by 棉花糖ww
[论文投稿] 想请问下IEEE Trans最后一轮,你们等了多久? +3 DD4Dr 2024-05-03 4/200 2024-05-03 20:54 by DD4Dr
[考博] 博士申请 +6 Farssh 2024-04-29 11/550 2024-05-03 18:05 by 头秃食品狗
[考博] 2024申博 化学 一作sci两篇 +6 zzzjjjttt 2024-04-29 6/300 2024-05-03 13:49 by ca0yan9
[基金申请] 五一假期评审申请书 +10 zju2000 2024-05-01 14/700 2024-05-03 13:46 by panda_fang
[考博] 2024还有没有补录的博士 +5 crazy peng 2024-04-30 6/300 2024-05-03 12:44 by SudaQian
[公派出国] 有去昆士兰大学联培的吗 +3 研读 2024-04-27 3/150 2024-05-03 03:41 by zhus
[高分子] 高分子聚合物有机材料方向的合作/招聘科研助理 +3 wwwzg 2024-05-01 3/150 2024-05-02 21:38 by Dr. Zhang
[论文投稿] 审稿人评审完成状态还是under review 5+3 ZH0826 2024-04-30 9/450 2024-05-02 13:13 by ZH0826
[论文投稿] 求助,论文小修返修以后ScholarOne审稿系统 状态 20+5 15546226191 2024-04-30 9/450 2024-05-02 12:28 by ca0yan9
[基金申请] 第二次申请青基,祝自己好运! 中! 中! 中! +13 阿豪v5 2024-04-29 15/750 2024-05-01 14:44 by Howard28
[考博] 华南理工大学未来技术学院林镇宏教授“能源与碳决策”课题组招收2024级博士生 +3 刘家绮13 2024-04-28 3/150 2024-05-01 01:37 by 梦想研究生
[考博] 申请25年博士,求推荐学校及博导 +4 明开夜合20 2024-04-28 7/350 2024-04-30 14:23 by 明开夜合20
信息提示
请填处理意见