主题:求OpenMP+Fortran(IVF)并行设计,可有偿。
xaxaxaxaxdxd
[专家分:0] 发布于 2010-11-14 11:20:00
本人写了FDTD的一个程序,发现并行后的速度是一样的,甚至更慢了,100%CPU。有过优化经验经验请qq联系,提供串行源代码,只要运行了速度提高20%以上,必有酬谢。qq105976915
最后更新于:2010-12-01 23:54:00
回复列表 (共10个回复)
沙发
baccle [专家分:190] 发布于 2010-11-14 11:26:00
1)在个人电脑上,一般有几个CPU就开几个线程,不要多开,多开了反而慢。
2)并行处理有两种方式,一种是自动并行,一种是自己在程序中加入OpenMP语句,也就是!$OMP开头的语句。显然,自动并行不如经过自己分析后手动加入OpenMP语句的快
3)看你的程序到底适合不适合并行,并行是要加入建立线程等等一系列额外开销的,如果不适合并行的程序让它并行了,还真不见得比串行快
板凳
dongyuanxun [专家分:7180] 发布于 2010-11-14 16:26:00
先在串行上优化试试吧
很多质量不佳的串行代码稍微一优化或者修改编译开关都能提高20%以上
3 楼
yeg001 [专家分:14390] 发布于 2010-11-14 23:17:00
我帮师弟把串行的FDTD改成openmp并行的. 只是代码级别修改(简单添加了一些变量和omp代码), 没有在算法上修改. 在4核的node上提速3.8~3.9. 感觉已经很理想了.
楼主修改的时候注意omp的区域, 尽量放大, 减少开关线程次数.
鉴于都是FDTD, 我就不好说太多了.
5 楼
yeg001 [专家分:14390] 发布于 2010-11-19 11:57:00
IVF11.1
redhat linux64bit(版本不详, 反正很久, 大概06年的系统)
6 楼
dongyuanxun [专家分:7180] 发布于 2010-11-19 12:03:00
[quote]IVF11.1
redhat linux64bit(版本不详, 反正很久, 大概06年的系统)[/quote]
有偿啊,你还不赶快提供支付宝帐号
7 楼
xaxaxaxaxdxd [专家分:0] 发布于 2010-11-19 16:11:00
[quote]IVF11.1
redhat linux64bit(版本不详, 反正很久, 大概06年的系统)[/quote]
能否帮忙帮忙优化winxP下的三维的fdtd程序
8 楼
yeg001 [专家分:14390] 发布于 2010-11-19 22:11:00
勋哥见笑了.
楼主, 我们老板不让我们把程序告诉别人, 我想你们也一样.
困难可以在这里解决一下, 直接修改代码还是尽量避免吧. 或者让其它弄openmp的朋友帮你改改.
9 楼
xaxaxaxaxdxd [专家分:0] 发布于 2010-12-01 23:56:00
red hat linux 我刚安装上 安装上ivf后 怎么写第一个简单程序啊 如何编译
10 楼
xaxaxaxaxdxd [专家分:0] 发布于 2010-12-01 23:57:00
代码我可以给你三维的fdtd。f90的 优化成功后必酬谢 见笑了
我来回复