24小时热门版块排行榜    

查看: 892  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +45 医学老男孩 2026-08-13 99/4950 2026-08-18 12:56 by dotnetchen9056
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 KZyU1THERRVo 2026-08-18 3/150 2026-08-18 12:52 by vHWVV9D5Deb5
[基金申请] 2027广东省杰青 +3 奶牛小黑 2026-08-15 8/400 2026-08-18 11:47 by gltch
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +4 Tide man 2026-08-14 5/250 2026-08-18 11:35 by Tide man
[论文投稿] 投稿咨询 +4 wwm09 2026-08-17 5/250 2026-08-18 11:25 by 無關想念
[基金申请] 时间戳变了,能看出什么问题? +5 基诺咪客 2026-08-17 6/300 2026-08-18 11:06 by hunter无悔
[基金申请] 93BebMhtakh前后11位开头都是大写 +4 且听虎啸 2026-08-17 5/250 2026-08-18 00:49 by 蔡棒棒菂
[基金申请] 感觉是下周放榜了 +6 angus9576 2026-08-17 11/550 2026-08-17 23:57 by angus9576
[基金申请] filecode=后面第一个是大写字母 +8 wangze12014 2026-08-14 10/500 2026-08-17 17:05 by xter9665
[基金申请] 今天系统多次维护,明天很可能放榜! +8 zju2000 2026-08-16 9/450 2026-08-17 12:20 by lmz0216
[基金申请] 时间戳又变了8-15 +13 archvillain 2026-08-15 25/1250 2026-08-16 20:13 by zhaosm1982
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 26/1300 2026-08-16 12:35 by 启萌科技
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
信息提示
请填处理意见