回 帖 发 新 帖 刷新版面

主题:求OpenMP+Fortran(IVF)并行设计,可有偿。

本人写了FDTD的一个程序,发现并行后的速度是一样的,甚至更慢了,100%CPU。有过优化经验经验请qq联系,提供串行源代码,只要运行了速度提高20%以上,必有酬谢。qq105976915

回复列表 (共10个回复)

沙发

1)在个人电脑上,一般有几个CPU就开几个线程,不要多开,多开了反而慢。
2)并行处理有两种方式,一种是自动并行,一种是自己在程序中加入OpenMP语句,也就是!$OMP开头的语句。显然,自动并行不如经过自己分析后手动加入OpenMP语句的快
3)看你的程序到底适合不适合并行,并行是要加入建立线程等等一系列额外开销的,如果不适合并行的程序让它并行了,还真不见得比串行快

板凳

先在串行上优化试试吧
很多质量不佳的串行代码稍微一优化或者修改编译开关都能提高20%以上

3 楼

我帮师弟把串行的FDTD改成openmp并行的. 只是代码级别修改(简单添加了一些变量和omp代码), 没有在算法上修改. 在4核的node上提速3.8~3.9. 感觉已经很理想了.
楼主修改的时候注意omp的区域, 尽量放大, 减少开关线程次数.
鉴于都是FDTD, 我就不好说太多了.

4 楼

你的是什么环境?

5 楼

IVF11.1
redhat linux64bit(版本不详, 反正很久, 大概06年的系统)

6 楼

[quote]IVF11.1
redhat linux64bit(版本不详, 反正很久, 大概06年的系统)[/quote]
有偿啊,你还不赶快提供支付宝帐号

7 楼

[quote]IVF11.1
redhat linux64bit(版本不详, 反正很久, 大概06年的系统)[/quote]



能否帮忙帮忙优化winxP下的三维的fdtd程序

8 楼

勋哥见笑了.
楼主, 我们老板不让我们把程序告诉别人, 我想你们也一样.
困难可以在这里解决一下, 直接修改代码还是尽量避免吧. 或者让其它弄openmp的朋友帮你改改.

9 楼


red hat linux 我刚安装上 安装上ivf后 怎么写第一个简单程序啊  如何编译

10 楼

代码我可以给你三维的fdtd。f90的 优化成功后必酬谢 见笑了

我来回复

您尚未登录,请登录后再回复。点此登录或注册