Fortran Coder

查看: 6281|回复: 1
打印 上一主题 下一主题

[并行] fortran下有没有什么异步方案

[复制链接]

1

帖子

1

主题

0

精华

新人

F 币
19 元
贡献
7 点
跳转到指定楼层
楼主
发表于 2018-11-12 20:11:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在写一个大型计算程序,计算中每一步骤都比较长时间,我想在运行过程中把每一步计算结果实时自动画成一些数学图,便于研究算法内部的情况。目前研究清楚了plplot库调用QT绘图库的fortran实现,但是plplot使用qt绘图窗口有个问题,画的结果弹出来后必须在绘图窗口里回车一下关掉窗口,整个程序才继续往下进行。我想绘图窗口接受到用于绘图的数据后自己绘图,同时算法不管绘图进度直接往下继续算,这相当于绘图是一个异步的线程,如何可以实现呢?我找不到清楚的资料,dll调用也是要等待返回吧?如果用openmp把绘图当做一个并行线程,感觉太不划算,因为plplot的资源开销相比于算法计算太微小了...


求指导有什么办法可以把fortran计算出的中间结果数据传给独立的绘图的例程(exe,dll....??),同时算法毫不受影响继续计算??实在不行用写文件到磁盘中转,但是感觉太low了速度不好......
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
沙发
发表于 2018-11-13 08:57:44 | 只看该作者
百度搜索“多线程”
一般 fortran 不管,由UI负责的语言进行多线程,然后分出“计算线程”“响应线程”“主线程”

计算线程调用 Fortran 函数,把进度、中间数据通过指针传递给fortran。fortran通过改变这些变量,告知进度和中间结果。
响应线程,负责每隔一段时间,把进度、中间数据,响应给窗口绘图。
主线程,继续做消息循环/事件处理。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-11-23 20:39

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表