计算化学公社

标题: ORCA单点并行效率测试以及一些运行时间杂记 [打印本页]

作者
Author:
zhanfei    时间: 2016-7-4 20:35
标题: ORCA单点并行效率测试以及一些运行时间杂记
本帖最后由 zhanfei 于 2016-7-13 00:23 编辑

CentOSv5.5 64bit  ORCA3.03 CPU为AMD 2.4G 24核心/节点
Core  ORCA                     加速比         并行效率                   real        user         sys
*1                          10209.158s    1     100.0%
2    85m 4s579ms   5104.579s    2     100.0%       85m04.606s  169m30.612s  0m18.468s
3    57m14s334ms   3434.334s    2.973  99.1%       57m14.360s  170m58.112s  0m20.411s
4    43m24s592ms   2604.592s    3.920  98.0%       43m24.618s  172m36.916s  0m24.467s
6    28m46s689ms   1726.689s    5.913  98.55%      28m46.715   171m30.251s  0m27.424s
8    22m26s559ms   1346.559s    7.582  94.775%     22m26.585s  177m50.872s  0m27.424s
12    15m29s828ms    929.828s   10.980  91.5%       15m29.845s  183m3.353s   0m55.502s
16    11m24s282ms    684.282s   14.920  93.25%      11m24.299s  177m45.913s  1m17.643s
20     8m25s446ms    505.446s   20.198  100%         8m25.470s  161m51.066s  1m33.051s
24     5m13s746ms    313.746s   32.540  135.58%      5m13.846s  115m34.402s  2m09.539s
Windows7 64bit intel  3.2Ghz
    用时s           加速比     并行效率
1   2945.827
2   1644.982    1.791        89.6%
4    968.197     0.896        76.0%
CentOS5.5 openmpi1.65 orca3.03
                  用时                                   加速比         并行效率
1   1h1m52s586ms/3712.586            
2   31m32s79ms/1892.79                    1.96             98%
3   21m23s973ms/1283.973                2.89             96.39%
4   16m17s853ms/977.852                  3.79             94.92%
5   13m26s859ms/806.859                  4.6               92%
6   11m22s540ms/682.540                  5.44             90.66%
7   10m14s440ms/614.440                  6.042           86.32%
8   26m5s107ms

测试平台为CentOSv5.5 64bit  ORCA3.03 CPU为AMD 2.4G 24核心/节点  CPUworld查询此款没类似intel睿频的功能不存在动态提高频率的影响
测试单点为含一个Os若干NCOH的60原子分子(B3LYP泛函 def2-svp Os使用MWB60 SDD赝势) 关闭了密度拟合 使用默认的格点精度和SCF收敛限制.所有计算均13轮收敛.
这里没有跑单核所以把双核的用时2倍作为单核时间算加速比和并行效率了(尽管不严格,但是计算也没取多次平均时间定性看应该无伤大雅).
ORCA记录的时间比time命令的运行时间real略小,计算加速比和并行效率采用了ORCA记录的时间.
值得注意的是总CPU时间也就是user时间呈现以12核为最大值,向两边减少的趋势不知道是不是偶然,如果考虑CPU时间的波动并行效率就几乎一直100%了,而且在24核心并行时突然降到115m左右.24核心>100%的并行效率原因不详,望清楚原因的前辈指点.
之前看过一片Nwchem的测试说nwchem在30+核心才开始体现并行优势,难道ORCA也有类似特点?这里受条件限制没有24+核的测试,以后有机会补上.
总之ORCA并行似乎真的不错以至于我怀疑自己哪里弄错了。。。,论坛之前的测试高斯由于并行效率的原因更适合高主频的CPU,对于ORCA似乎没有此类限制低主频多核心也ok,毕竟24核内近乎100%并行效率.sob sennsei的建议重跑24 20核的运算
24核 6m13s794ms   real        6m20.156s       user        123m45.791s    sys        4m15.101s  满载运行似乎CPU时间低于其他核心设置
20核 17m1s189ms   real        17m1.270s       user        327m20.693s    sys        2m30.722s CPU时间莫名其妙翻了一倍,如果算入CPU时间翻倍和之前差不多
24核心     5m48s564ms   real        5m48.844s       user        122m26.263s    sys        2m56.713s
20核心   15m24s468ms   real        15m24.564s     user        294m45.443s   sys        2m31.147s 20核心的CPU时间仍然莫名其妙高很多
ORCA TDDFT的计算仍然上面的体系 TDDFT 50个态,不标注ZORA的,重原子采用def2赝势.
PBE  8983.708s杂化         B3LYP                 33974.439s             3.78倍PBE
杂化         B3LYP(ZORA)      60265.113s             6.7倍PBE
杂化meta TPSSh                 19374.614s             2.16倍PBE
范围分离  WB97XD             55203.617s             6.14倍PBE
ZORA其实对vi-vuv吸收谱影响不大,至少我没看到提到必须使用标量相对论计算吸收谱的文献,计算量几乎翻倍不值得
这里干脆把输入文件放上来 不做布居分析ORCApop分析好占时间
!B3LYP  NORI def2-SVP ECP{def2-SD,def2-SVP} nopop
%MaxCore 3000
%pal nprocs 24 end
* xyz 2   1
Os  0.001986 0.008087 0.022514
N  1.937414 -0.371800 0.804791
N  0.146696 -1.996552 -0.201896
N  -1.878677 -0.457519 -0.815774
C  2.795176 0.515820 1.326628
C  4.043114 0.150802 1.825636
C  4.416446 -1.189789 1.780178
C  3.530496 -2.117844 1.237586
C  2.294633 -1.688279 0.755815
C  1.288985 -2.611274 0.169622
C  1.428204 -3.987850 -0.020412
C  0.373945 -4.694717 -0.600031
C  -0.796026 -4.033505 -0.977043
C  -0.889234 -2.657989 -0.760941
C  -2.047137 -1.785140 -1.081511
C  -3.248065 -2.267422 -1.600845
C  -4.296200 -1.381922 -1.842924
C  -4.113651 -0.029317 -1.566325
C  -2.887800 0.390153 -1.057475
N  -0.871522 0.203927 1.941325
N  -0.161502 2.015442 0.191112
N  0.794687 0.648574 -1.829517
C  -1.225869 -0.783659 2.774169
C  -1.845898 -0.547490 3.997823
C  -2.108658 0.767984 4.371102
C  -1.738989 1.800754 3.511750
C  -1.119040 1.498101 2.299547
C  -0.706494 2.530807 1.314267
C  -0.846630 3.914242 1.443673
C  -0.429845 4.732212 0.392194
C  0.115919 4.171560 -0.764002
C  0.246330 2.783887 -0.841271
C  0.795337 2.005318 -1.982098
C  1.281948 2.596802 -3.147287
C  1.774585 1.791220 -4.172159
C  1.770521 0.408809 -4.004524
C  1.271444 -0.119885 -2.817493
H  2.462718 1.556099 1.342772
H  4.703961 0.910976 2.241237
H  5.384917 -1.513805 2.162280
H  3.799578 -3.172530 1.194302
H  2.341878 -4.505189 0.270124
H  0.465676 -5.769484 -0.760714
H  -1.616013 -4.584980 -1.435513
H  -3.367918 -3.330775 -1.807054
H  -5.244163 -1.747858 -2.239015
H  -4.906025 0.699498 -1.735754
H  -2.699720 1.441860 -0.827491
H  -1.002316 -1.799166 2.440037
H  -2.117823 -1.387005 4.636720
H  -2.597054 0.990501 5.320626
H  -1.938508 2.837508 3.781624
H  -1.274027 4.351796 2.345033
H  -0.535749 5.814831 0.471934
H  0.429672 4.810085 -1.588793
H  1.277805 3.681148 -3.254217
H  2.156621 2.239163 -5.090327
H  2.147772 -0.259894 -4.777727
H  1.248088 -1.198302 -2.643276
*
顺带一提gamess2014sockets模式编译,24核并行同体系跑27轮scf用时4h14m,几乎没有实用价值是ORCA的40倍,当然其中有积分格点精度,积分方法,并行方式种种差异但是40倍的差距
使得gamess在普通计算上没有实用价值,nwchem30轮自洽但是不收敛time命令用时real319m19.345s    user2729m11.887s   sys        364m42.759s .
感谢plus E5-2670 0 @ 2.60GHz 机器上做的测试 并行效率在16核往上开始明显降低,有机会再测试.这款E5比之前帖子中用的AMD 2.4G主频想仿佛但是看测试时间核心 AMD2.4G       AMD耗时倍数                intel2.6G
2     5104.579s  4.036               1264.639
4     2604.592s   3.94                660.978
8     1346.559s    3.74                  359.920
12    929.828s     3.43                   269.886
16     684.282s    3.09                 221.254
AMD耗时是仿佛频率同核心intel3-4倍。。。
12





作者
Author:
shalene    时间: 2016-7-4 21:35
实时监控一下CPU频率?
作者
Author:
zhanfei    时间: 2016-7-4 21:45
shalene 发表于 2016-7-4 21:35
实时监控一下CPU频率?

问题应该不在这里AMD这款CPU没睿频,机房空调是开的应该不至于过热
作者
Author:
liyuanhe211    时间: 2016-7-4 21:57
这是CPU时间还是实际时间(wall time)?
如果是CPU时间的话可以理解,例如可以聪明的在并行不好的时候把它变成1线程1进程,此时CPU时间看并行效率会显得很高,但实际所消耗的时间降低并不显著。
作者
Author:
zhanfei    时间: 2016-7-4 22:28
本帖最后由 zhanfei 于 2016-7-4 22:39 编辑
liyuanhe211 发表于 2016-7-4 21:57
这是CPU时间还是实际时间(wall time)?
如果是CPU时间的话可以理解,例如可以聪明的在并行不好的时候把它 ...

算并行效率用的是ORCA最后给出的时间比time命令给出的real time略小一点,CPU时间(time命令的user time)后面也列出来了
作者
Author:
sobereva    时间: 2016-7-5 03:34
可以再跑一次20核和24核的,看是否能重现。
如果还是这样,一方面可能是和程序在内存分配机制上有关,另一方面可能是24核恰好占满所有CPU核心,系统在调度任务的时候不容易让进程在不同核心之间乱窜而影响效率。
作者
Author:
plus    时间: 2016-7-6 08:41
楼主说下你的程序版本,mpi版本,测试体系
我测试的并行效率很低的
作者
Author:
zhanfei    时间: 2016-7-6 12:37
本帖最后由 zhanfei 于 2016-7-6 12:40 编辑
plus 发表于 2016-7-6 08:41
楼主说下你的程序版本,mpi版本,测试体系
我测试的并行效率很低的

其他上面都有,mpi是openmpi1.6就是手册推荐的版本,我干脆把输入文件贴上来了
作者
Author:
plus    时间: 2016-7-8 10:05
本帖最后由 plus 于 2016-7-8 11:39 编辑

cpu: Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz
orca: orca_3_0_3_linux_x86-64
mpi: openmpi-1.6.4-intel

processtime(s)efficiency
1
2656.679
1.00
2
1264.639
1.05
4
660.978
1.00
8
359.920
0.92
12
269.886
0.82
16
221.254
0.75





作者
Author:
sobereva    时间: 2016-7-8 13:06
plus 发表于 2016-7-8 10:05
cpu: Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz
orca: orca_3_0_3_linux_x86-64
mpi: openmpi-1.6.4-int ...

这个看着比较正常
作者
Author:
zhanfei    时间: 2016-7-8 14:26
本帖最后由 zhanfei 于 2016-7-8 14:28 编辑
plus 发表于 2016-7-8 10:05
cpu: Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz
orca: orca_3_0_3_linux_x86-64
mpi: openmpi-1.6.4-int ...

谢谢测试。至少8核以内是近100%的并行效率。有机会我再到其他机器上试试
作者
Author:
qchem    时间: 2016-7-18 16:34
plus 发表于 2016-7-8 10:05
cpu: Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz
orca: orca_3_0_3_linux_x86-64
mpi: openmpi-1.6.4-int ...

意思是用intel编译器编译的openmpi?
能请教下编译方法吗?
作者
Author:
plus    时间: 2016-7-21 15:42
qchem 发表于 2016-7-18 16:34
意思是用intel编译器编译的openmpi?
能请教下编译方法吗?

没有特别的啊,载入intel编译器的环境变量
bash下设置export CC=icc CXX=icpc FC=ifort
其他的都一样
configure,make,make install




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3