24小时热门版块排行榜    

查看: 1383  |  回复: 1
【悬赏金币】回答本帖问题,作者tumitumi123将赠送您 5 个金币

tumitumi123

铁虫 (初入文坛)

[求助] omp并行 已有1人参与

我的程序是需要对时间t做循环的  内部需要用omp多线程做do循环  也有一部分是需要单线程计算的 这两个部分需要依次计算(前后数据有依赖)。  为了加快速度我把omp parallel写在循环之外 不然每次t循环都要重新打开一次parallel  会有耗时。 但是我发现当我对单线程部分使用omp single的时候,程序慢了5倍;什么都不加结果又不对(因为单线程部分计算了多次)。请问single单线程部分怎么解决????

omp并行
asd.png
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jiangxingge

金虫 (正式写手)

【答案】应助回帖

建议:
老老实实 把并行套住循环 部分,把单线程部分 放在外边。


最后两句  t=t+dt
           if() goto 111  也应该是 属于 单线程 部分, 否则 会不会出岔子?
2楼2020-12-04 15:15:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 tumitumi123 的主题更新
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
信息提示
请填处理意见