|
本帖最后由 paramecium86 于 2022-5-31 03:10 编辑
****************************
05/31/2022 更新 使用 Ubuntu22 + Kernel 5.18
G16 0397 几乎没有统计意义上的区别
ORCA5的任务
双杂化单点(分钟) nprocs 8 12 16
Ubuntu20 23.2 22.3 21.2
Ubuntu22+kernel5.18 18.3 21.3 18
基本上看出 调度上确实新版kernel有提升。 但是这个数据依然比不上MSMPI win版下的数据(24核 14分钟)
********************************
测试平台
12900KF / 开启华硕AI超频 /32GB DDR4 3600 Win11
12900KF 8大核16线程+8小核心对比平台
5900X/ 强制PBO/32GB DDR4 3600 Win11
5900X 12核心24线程
高斯的测试文件使用老朋友Test0397
1. 首先尝试了 VMware16 Pro +CentOS8 发现调度出现问题。无论如何设置%nproc或者 %cpu, 都仅能调动8个小核,所有大核齐刷刷围观。测试成绩惨不忍睹。
2. 使用WSL2 看起来调度正常。所以测试中使用了WSL2。
测试结果如下图1-3
从测试可以看出关闭超线程对于速度有大约10%的提升。并且看起来无论是超线程还是小核心对于高斯的计算应该是没有帮助。8核心最快。
另外在计算中发现虽然看起来%CPU会比%nproc略快一点但是从任务管理器里查看,发现并没有锁定CPU。应该是12代线程调度器和%CPU 可能并无法一起工作。
作为对比我把我以前测过的一些平台上的0397的数据以及让朋友帮我测的和论坛上一些帖子里的结果都放在下面的表格里仅供大家参考。(测试中发现R9 5900X 在win11下比win10慢10%左右,我是用的win11已经是打过AMD补丁的版本。但是还是降了不少效能。)
参考的帖子如下
http://bbs.keinsci.com/thread-26448-1-1.html
http://bbs.keinsci.com/thread-19256-1-1.html
12楼7502机器有空随便跑了一波分,单路@3.1G平均52s,双路@3.02G平均36s 我刚才试了试8352Y双路,32核平均48s
不过用两个CPU就莫名其妙的耗时增加了
用%CPU指定以后就正常了,平均耗时36s
Biogen大佬测了AMD Rome和三代Scalable的Test0397速度。
以下更新ORCA5.0测试结果
测试计算为 瑞德西韦分子的双杂化单点能计算
! PWPB95 D3 def2-TZVPP def2/J def2-TZVPP/C RIJCOSX tightSCF noautostart miniprint nopop
输入文件见附件。
分别测试了1. 12900KF 默认全开(包括大核心小核心和超线程)
2. 12900KF 关闭超线程
3. 12900KF 关闭小核心
4 5900X作为对比
并分别使用了虚拟机上和win版ORCA5.0.1进行测试。
结果如 图4
总结如下
1. 和高斯的测试类似,虚拟机依然只能调用小核心,猜测这是VMware或者Win11还没有做好适配。或许未来更新版本后会有改观。在关闭小核心后VMware可以正常调用大核心运算。但是速度相比于win版ORCA,要慢一些。而作为对比,在5900X平台上,还是虚拟机平台运行较快。
2. 在相同的nproc设置下,总是关闭超线程时候的win版ORCA最快。而关闭小核心时候最慢。
3. 默认全开且使用全部24线程时候速度最快(14min),而关闭超线程,调用全部大核心和小核心(nproc=16)用时(15.2min);而关闭小核心,仅仅调用大核心和超线程(nproc=16)速度是 (18.6min)
对比之下,5900X是使用nproc=12 在VMware下速度最快(21.2min)
总的来说,ORCA和高斯调用12代大小核在win11下有些相似。只是高斯应该要关掉超线程会比较快。而ORCA可以保留着超线程。会得到些微的速度提升。而小核心目前来看会对计算速度起到正面作用 但是应该要等待后续VMware或者win11的更新才能正常在虚拟机下进行计算。
*************************************************************以下更新原生linux平台测试结果
使用版本 Ubuntu 20 LTS 默认 Linux内核 5.1
结果如图5,图6
可以看出在原生Linux下,12代大小核的调度略有不同。总结如下
1. Gaussian16 A.03 AVX2
在原生Linux下高斯的 %CPU可以成功地绑定核心。在一些测试后发现。
a. 小核心大概是50%大核心的性能。并且并行计算能力稍微弱于大核心。
b. 超线程对于计算没有任何帮助。可以关掉。
c. 虽然小核心对于计算有些许帮助,但是因为高斯的并行核心多了之后效率同样会下降。全开8大+8小 和 单独用8大核基本上没有任何区别。
d. Win11的WSL2 速度 和 原生Ubuntu20下跑高斯速度基本是一致的。
2. ORCA5.0
a. 经过测试,Ubuntu20下用OpenMPI的ORCA5.0.1 速度比Win11下的使用MSMPI的 win版ORCA5速度要慢。
b. 在Ubuntu20下 超线程和小核心对于ORCA的计算看起来都没有什么帮助,只保留大核的情况下速度最快(但是仍然赶不上24线程全部调用的ORCA5 win版)
经过一系列测试,我目前的看法是12代买来当做入门的一台量化计算的机器并不是很好的选择。虽然大核心性能强悍,已经略微强过5900X,但是大小核的调用不同情况下存在差异。没准不同的软件不同的操作系统都会不同。不如用5950X这类纯大核的·CPU来的省心。如果买了12代平台只是兼顾做计算,只为计算速度的话没必要安装原生Linux. 高斯用WSL2 ,ORCA使用Win版的ORCA会是目前看起来最好的选择。
*********
11/28/2021更新
有坛友提到可以试一试不同的Linux发行版。
测试了一下CentOS8 Stream的版本如图7,图8
对于Gaussian16
如果默认使用%nproc看起来是CentOS8 比Ubuntu20更快一点点。如果是用%CPU绑定核心,那么二者差不多。
对于ORCA5.0.1
CentOS 4核 8核 12核都快过Ubuntu并在12核达到最快。而在16核的时候反而变慢了。这也看出来linux对于12代的调度还是有问题。总的来说还是Win版的ORCA5 运行要比在linux上快不少。
|
评分 Rate
-
查看全部评分 View all ratings
|