计算化学公社

标题: win10中8173M计算MS速度异常 [打印本页]

作者
Author:
dt97511    时间: 2019-1-21 22:51
标题: win10中8173M计算MS速度异常
本帖最后由 dt97511 于 2019-1-22 10:25 编辑

各位老师好,我们课题组最近由于计算需求加大,照着论坛里的推荐新买了一台服务器,但现在发现用于MS8.0中CASTEP计算时,计算速度有问题服务器配置大致为cpu:2*8173M
内存:4*32G(在大佬讨论通道数前买的,没注意内存)
主板:超微X11DAI
固态:intel 256G
电源:台达NX650
系统:win10+centos6.6双系统
两个系统分别用于MS计算和VASP计算(在大佬演示7.6前装的),由于VASP还在学,不太会用,就用MS8.0与我们原来的一台2*E5 2650v3服务器进行速度对比,由于MS中没有高斯那样的测试任务,我自己用一个钙钛矿原胞作为测试任务,通过改变截断能和K点控制计算量和计算时间


第一次使用800ev截断能和7*7*7的k点进行测试,还参考了之前大佬的帖子,找厂家借来了12*16G内存组建六通道进行简单测试,测试结果如下:
调用核心数8173M二通道8173M六通道2650v3
2104.5115.3113.3
462.365.774.2
839.741.546.6
1621.123.528.2
3219.515.831.1
6427.120.3
10027.219.2
5630

发现六通道的确实比二通道要快一些,但发现速度最快的是32核,增加到100核反而要慢很多,同时计算时间也太短了,所以又改变参数进行核数更详细的测试,这次只使用了二通道
第二次使用1000ev截断能和10*10*10的k点,测试结果如下:
调用核心数8173M2650v3
2244.45283.66
4143.36159.76
898.62107.73
1272.279.64
1661.0673.65
2069.3981.51
2448.768.48
2833.1761.56
3240.3161.09
3674.56112.38
40117.44
44117.61
48117.77
52118.38
5627.55
6034.59
6433.45
6833.62
7264.05
7667.28
8070.94
8477.19
8880.34
9289.33
9693.41
100100.25
104108.83
10865.08
发现8173M在56核时,计算时间最短,在核数增加的时候计算速度波动较大,计算时间反而增加了2倍,而2650v3就稳定许多,基本随核数增加而减少。
我以为找到了最有效的核数,返回第一个任务里,使用56核进行测试,却没有32核的速度快,感觉不太对劲,就对8173M单独进行了计算量更大的第三次测试。
第三次使用1200ev截断能和12*12*12的k点,结果如下:
调用核心数8173M
16165.33
24113.73
32194.59
40320.61
48131.61
56217.45
64257.8
72292.44
80325.16
88142.12
96164.86
104193.03
这次又变成了24核速度最快,增加核数后,计算速度的波动更加奇怪。

总结:与E5 2650v3的增加核数,计算速度基本保持上升不同,8173M在增加核心的时候,会在中间某个核心数速度达到最快,继续增加反而会慢上3倍。

我对计算机配置和MS兼容性性不太熟悉,分析不出是什么原因。
请问各位老师对这种情况有什么看法,是不是我硬件或设置有什么问题,或者MS中有没有test0397那样的测试性能的常用方法,谢谢!




作者
Author:
hakuna    时间: 2019-1-22 14:20
两颗8173有那么多核心么?你是否弄成超线程了?如果没记错的话,8173是6通道的,你弄4根32G不合适啊
关掉超线程,最好弄linux下玩,win就免了吧
作者
Author:
sobereva    时间: 2019-1-22 15:31
并行线程数不应当超过物理核心数,看
正确看待超线程(HT)技术对计算化学运算的影响
http://sobereva.com/392
测试>56线程没有意义

作者
Author:
dt97511    时间: 2019-1-22 16:37
hakuna 发表于 2019-1-22 14:20
两颗8173有那么多核心么?你是否弄成超线程了?如果没记错的话,8173是6通道的,你弄4根32G不合适啊
关掉 ...

谢谢老师指点
是开了超线程的,8173是28核56线程的,2个cpu开超线程后就是112核,但我对比的那台老服务器2650v3也是开了超线程的,也是双通道,就没有这种波动问题
通道数确实也对速度有一定影响,以后会换成六通道的,但现在主要是速度随核数的波动太大的问题。
我自己是要学习使用linux系统,但我师兄他们都是用win界面的MS,用习惯了,所以换不了
我还是试着关超线程测试看看,linux系统也去装个MS,不过马上放假了,远程不方便弄这些,可能要等春节后才行了
作者
Author:
dt97511    时间: 2019-1-22 19:51
sobereva 发表于 2019-1-22 15:31
并行线程数不应当超过物理核心数,看
正确看待超线程(HT)技术对计算化学运算的影响
http://sobereva.com/ ...

我现在主要是在疑惑8173M在核数增加时的异常反应,想找到这种现象的规律,所以才进行了2-108逻辑核心的大范围测试。
感觉主要是28核左右最快,28-56变慢,56左右又变快,个人推测可能是调用两个cpu导致性能损失,56以上确实可能由于资源争抢等原因,速度变化很奇怪,就不再考虑了吧。
但我主要是疑惑:为什么核数增加引起的调用损失或资源争抢,在ms中影响这么大,我们旧的2650v3和您的HT的运算影响测试中,都只相差20%以内,而我的8173M直接慢了两三倍
(PS:今天重装了一下旧的2650v3服务器,发现该CPU有芯片驱动,而8173M并没有检测到需要的驱动,我比较怀疑是不是没有芯片驱动而导致的性能波动巨大)
作者
Author:
hakuna    时间: 2019-1-22 21:41
1. 对于计算来说,超线程没什么意义
2. 8173和2650是不同代次的U,理论上前者更先进点,但是它的三级缓存似乎并不大,三级缓存大小对计算是有意义的
3. 8173在28核时好也属正常,可能是在一块U里完成的,减少了CPU间的通信时间
4. 两种U的通道不同,内存配置方式不一样,而且支持的内存频率不同,是否发挥了全部性能,值得考虑
5 .ms8.0老了,可以考虑2017或2018试试,看看是否更好些
6. ms8.0以后,为加快计算,一些计算的中间结果直接放在了内存里,便于快速读取,这种策略有没有影响不太清楚
7. 做一下测试有必要,使用时你可以合理调配作业数和并行核心数量
8. 最好能源代码编译作比较更能体现不同U的性能差异,譬如VASP等;MS这种编译好的执行代码为适应各种不同平台,性能上会打折扣

作者
Author:
天然呆    时间: 2019-6-2 17:28
hakuna 发表于 2019-1-22 21:41
1. 对于计算来说,超线程没什么意义
2. 8173和2650是不同代次的U,理论上前者更先进点,但是它的三级缓存 ...

您好,大侠。请问您MS用CASTEP计算了吗?感觉计算的时候还是很耗内存,我的内存是192G,算120个原子,核数一多就不够用了。
作者
Author:
天然呆    时间: 2019-6-2 17:31
sobereva 发表于 2019-1-22 15:31
并行线程数不应当超过物理核心数,看
正确看待超线程(HT)技术对计算化学运算的影响
http://sobereva.com/ ...

老师您好,关于超线程的影响,我对比了一次,跟您说的不太一样。不知道是不是因为您测试的时间过短。我用CASTEP测试,关闭超线程之后,快了7个多小时吧。总耗时是3天半左右。
作者
Author:
sobereva    时间: 2019-6-3 10:20
天然呆 发表于 2019-6-2 17:31
老师您好,关于超线程的影响,我对比了一次,跟您说的不太一样。不知道是不是因为您测试的时间过短。我用 ...

没有细节没法说
跟时间长短没关系,至少对于我测试过的问题,我的数据和结论是没问题





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