大家帮忙看看这样的MPI并行提速靠不靠谱.
刚才在外文文献上看到有人用MPI进行水动力学并行计算的,2个核心的计算速度竟然1个核心的2倍多,我有点不相信.
来源为正规的SCI检索的期刊:INTERNATIONAL JOURNAL FOR NUMERICAL METHODS IN FLUIDS,
文章名:Parallel implementation of a non-hydrostatic model for free surface
flows with semi-Lagrangian advection treatment
By using the state-of-the art parallel compute servers of the BAW,shared-memory SGI Altix machines with 1600 Mhz Intel Itanium-2 procesors with 6 MB secondary cache.
核心数目 耗时[s]
1 11952.4
2 5721.1
4 2721.5
8 1351.8
16 641.9
32 303.3
64 145.9
96 95.0
128 73.0
我的模型与他类似。 (以下的内容刚刚贴过,转过来便于比较)
水动力学模型,服务器R900,测试计算耗时统计(单位:秒)
(1)最开始的测试
线程数目 intel-x86 intel-x64 MS-x86 MS-x64
1 88.405 71.682 223.049 259.475
4 34.539 29.406 80.574 91.509
6 26.583 22.963 59.452 67.86
24 15.304 13.619 30.092 32.214
(2)使用Vtune分析, 优化Openmp,并使用intel编译器优化选项后的效果
(主要是把程序里原来疏漏并行的部分,重新设置了并行;把有些计算量大的程序简洁化了;
然后设置了Inline Function extension -> Default,interprocedual Optimization ->Qipo等)
线程数目 intel-i386 intel-x64
1 67.642 65.926
4 24.032 (未测)
6 18.7356 (未测)
24 9.7859 9.0636