24小时热门版块排行榜    

查看: 846  |  回复: 1

appleft93

新虫 (初入文坛)

[求助] fortran程序采用openMP并行问题 已有1人参与

各位大神,初学fortran openMP并行,有个关于!$OMP SECTIONS 的小问题。
程序结构如下

program TestOpenMP
   (此处变量声明略去)   
    call cpu_time(start)  ! 记录开始时间
     
    !$OMP PARALLEL
    !$OMP SECTIONS
    !$OMP SECTION
      call aaa
    !$OMP SECTION
      call aaa
    !$OMP END SECTIONS NOWAIT
    !$OMP END PARALLEL

    call cpu_time(finish)

   
    write(*,*)'time = ',finish-start
    pause
    end program TestOpenMP




   subroutine aaa
   ......
   return
   end


其中 subroutine aaa程序执行时间较长(串行执行一次大概35s),于是我就想用两个线程同时执行这个,这样的话时间可以大概减少一半。但是测试发现,串行执行两次aaa和并行执行的时间是差不多的,,并且并行时间反而会长0.2s左右。

请教一下这是怎么回事呢?我是初学者 不太懂,看了一些资料自己写了一下这个程序。请大神指导!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cntsinghua

银虫 (初入文坛)

【答案】应助回帖

(1)你这种写法是subroutine aaa被两个线程分别执行一次,即subroutine aaa被执行两遍。
(2)并行是需要时间开销的,因此并行时间反而会长0.2s左右。
(3)如果希望subroutine aaa被两个线程并行。如果是循环结构,建议使用指令parallel for。如果不是循环结构,须手工进行任务分解,然后用指令task解决。
(4) 建议借阅参考书
雷洪, 胡许冰. 多核并行高性能计算OpenMP. 北京: 冶金工业出版社. 2016年, ISBN: 978-7-5024-7249-8
2楼2018-02-09 10:15:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 appleft93 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 311求调剂 +9 冬十三 2026-03-15 10/500 2026-03-17 22:53 by lbsjt
[考研] 296求调剂 +5 大口吃饭 身体健 2026-03-13 5/250 2026-03-17 21:05 by 不惑可乐
[考研] 301求调剂 +5 yy要上岸呀 2026-03-17 5/250 2026-03-17 20:20 by peike
[考研] 070300化学319求调剂 +4 锦鲤0909 2026-03-17 4/200 2026-03-17 18:21 by 重科小霸王
[考研] 考研化学学硕调剂,一志愿985 +4 张vvvv 2026-03-15 6/300 2026-03-17 17:15 by ruiyingmiao
[考研] 材料专硕326求调剂 +6 墨煜姒莘 2026-03-15 7/350 2026-03-17 17:10 by ruiyingmiao
[考研] 312求调剂 +4 陌宸希 2026-03-16 5/250 2026-03-17 17:09 by ruiyingmiao
[考研] 293求调剂 +6 世界首富 2026-03-11 6/300 2026-03-17 17:04 by ruiyingmiao
[考研] 274求调剂0856材料化工 +13 z2839474511 2026-03-11 14/700 2026-03-17 16:51 by share_joy
[考研] 0854可跨调剂,一作一项核心论文五项专利,省、国级证书40+数一英一287 +3 小李0854 2026-03-16 3/150 2026-03-17 13:40 by 热情沙漠
[考研] 0856专硕279求调剂 +5 加油加油!? 2026-03-15 5/250 2026-03-15 11:58 by 2020015
[考研] 0703化学调剂 +4 快乐的香蕉 2026-03-11 4/200 2026-03-13 22:41 by JourneyLucky
[考研] 一志愿中科院,化学方向,295求调剂 +4 一氧二氮 2026-03-11 4/200 2026-03-13 22:35 by JourneyLucky
[考研] 材料与化工求调剂一志愿 985 总分 295 +8 dream…… 2026-03-12 8/400 2026-03-13 22:17 by 星空星月
[考研] 0856材料与化工301求调剂 +5 奕束光 2026-03-13 5/250 2026-03-13 22:00 by 星空星月
[考研] 工科,求调剂 +3 我887 2026-03-11 3/150 2026-03-13 21:39 by JourneyLucky
[考研] 材料与化工085600调剂求老师收留 +9 jiaanl 2026-03-11 9/450 2026-03-13 20:22 by JourneyLucky
[考研] 工科278分求调剂 +5 周慢热啊 2026-03-12 7/350 2026-03-13 15:49 by JourneyLucky
[考研] 070303一志愿西北大学学硕310找调剂 +3 d如愿上岸 2026-03-13 3/150 2026-03-13 10:43 by houyaoxu
[考博] 2026年博士申请 +3 QwQwQW10 2026-03-11 3/150 2026-03-12 17:58 by gxch43
信息提示
请填处理意见