计算化学公社

标题: 购置了 9950x 计算机,成功PBO3,但计算竟远慢于 7950x ... [打印本页]

作者
Author:
Voidmio    时间: 2025-11-7 02:15
标题: 购置了 9950x 计算机,成功PBO3,但计算竟远慢于 7950x ...
本帖最后由 Voidmio 于 2025-11-7 16:43 编辑

题主几乎计算机小白,于半月前顶着内存涨价狂潮,半捡垃圾半剁手,配置了如下兼顾计算与娱乐的 9950x 计算机,总体看来也算比较有性价比:

   部位                      配置                      支出
   CPU           Ryzen 9 9950x 散片         2921
   主板             技嘉B650M小雕             963
   显卡             瀚铠9060xt 16G            2298
   内存        金士顿Fury 32 5600c40       750
   硬盘            凯侠 SD10 1TB x 2          888
机械盘       希捷 ST4000VX016 4T          588
   电源            长城金牌x8 850W            404
散热器                利民FC140                  100
   机箱             骨伽乘风MX600              299
机箱风扇           从林豹s30 x 9             机箱带
   总价                    自己装机                 9211

嫌麻烦没有装双系统,使用 WSL2 来进行量子化学计算:
操作系统        Win 11 专业版 25H2            
   WSL2              RockyLinux 9.6

大家可以发现内存只有一条很差的 32G
(这是由于涨价初期题主在咸鱼上分别捡了两条金士顿,但另一条其实是 8G 的贴牌假条,马甲下甚至只有单边颗粒,退款自认倒霉,此时价格已经起飞,没有继续购入)
这可能也是后续问题埋雷之一。

馋了很久的 9950x 到手,核心全默认下 Cinebench R23 跑分 39000 左右,开启 PBO2 Curve Optimizer 全核 -28 mV 后跑分来到了 44000 左右,但极高概率出现冻屏和死机,同时跑分和计算时功率往300W上冲,无助的FC140根本压不住,频频撞到 95 温度墙而降频,风扇声则上下抖动非常烦人。

了解到每个核心体制差距巨大,我最后采用 CCD1 金核为基准,逐个调试其他核心的负压值,同时拉 Curve Shaper 辅助,最终 R23 稳定 46000 分以上,满载功耗峰值也只有 220W,温度保持在 90 度下,定频 5.4 GHz 时核心电压 1.17V,CoreCycler 过测,这时候属于调试满足了。

一切看起来都很美好,
但是

我在 WSL2 上安装好 Gaussian 16 A03、使用经典 test0397 改 b3lyp/def2svp force scf=novaracc g09default (nproc=16,mem=20GB)测试时,发现收敛时间需要足足 6m20s(合380 s)(也测试了 9950x 默认设置,则足足需要7m10s,合430s)

对比我们三年前配置的一台 7950x 服务器,采用原生 RockyLinux 9.3 系统,同样的 G16 版本,32 * 2 内存,进行如上 test0397 测试仅需 5m36s(合336 s)收敛。这颗 7950x 甚至没有进行调试,直接开盒即用。

怀疑过是内存问题,但在社长文章单路计算化学攒机配置推荐中提及,内存带宽不会有很大影响。此事令我非常费解。

【此事已经解决,是 wsl2 核心调度问题,见后续描述】但后续观察到 9950x 两个 CCD 温度严重不同(计算任务以及 R23 下 CCD1 温度比 CCD2 稳定高出 10-20 度,但烤鸡时无此差别),进而观察到  CCD2 频率严重低于  CCD1(在 HWiNFO 中查看得)(计算过程中 CCD1 平均频率在 5.5 GHz,峰值 5.7 GHz,但 CCD2 平均频率却只有 3-4 GHz,峰值为 5.6 GHz)。我猜测过是因为我在 CCD2 核心上负压太多,但恢复默认后仍然没有区别,常常是 CCD1 撞上温度墙而 CCD2 还在 80 度左右徘徊。此事也在其他道友的机子上出现过,见 window下双CCD CPU的高斯输入设置,并非%nproc=n!,当时也没有定论。
(, 下载次数 Times of downloads: 0)
(, 下载次数 Times of downloads: 0)

我同样在 9950x 上 Gaussian 中采用三种核心调用语句测试(%cpu=0-7,%cpu=8-15,%cpu=0-15)结果如下:
(, 下载次数 Times of downloads: 0)
同时计算过程中两个 CCD 的情况并未观察到与先前描述的有所不同。但使用先前的 7950x 计算机 %nproc=8 计算同样文件,花费 9m15s,竟与上图 9950x 八核心耗时相仿了...
后来又尝试了设置 nproc=32,这时观察到所有核心频率温度都起来了,但最终耗时 7m12s 才收敛,这与 sob 社长在正确认识超线程(HT)技术对计算化学运算的影响中描述一致,因为计算同时我还在刷 b 站。。
(, 下载次数 Times of downloads: 0)
9950x 核心默认开着 HT 超线程,也没有刻意调整过 CCD 调度,这和占用百分比一样是检测器错误呢,还是确有此事?
【后来参考 ahxb 老师在[Linux] 求助:感觉7950X计算效率较低该如何解决?一文中的观点对 wsl2 进行手动奇数线程绑定,解决了这一问题,现在双 ccd 均可运行在同一个温度上:】
(, 下载次数 Times of downloads: 0)


最终还是求助各位老师与硬件大拿,这里 9950x 计算远慢于 7950x,是内存是否配置双通道 or WSL2 的损耗导致的吗,或是最后这里 CCD 调度出现了严重问题?同时期待其他 9950x 用户一起交流






作者
Author:
Satoru    时间: 2025-11-7 02:21
本帖最后由 Satoru 于 2025-11-6 14:27 编辑

我觉得是内存问题...现在桌面端锐龙的内存带宽瓶颈太严重了。考虑把7950X机器的内存搬过来平行测试一下?

参考我的测试(http://bbs.keinsci.com/thread-56155-1-1.html),10%的内存带宽差距(128G vs 256G)在内存容量不敏感的任务会造成5%左右的差距


还有一个小问题:对于hpc类负载真的需要逐核心调整负压吗?计算里几乎没有单核负载,几个核心(甚至整个ccd0)跑得快也需要等其他进程跑完。所以在我的机器上我给了ccd1更多的负压,来尽量把所有核心的频率调到一样。cb23跑分(开超线程)大概44000
不过如果要兼顾桌面应用的话这么调我觉得没问题

作者
Author:
Voidmio    时间: 2025-11-7 02:26
本帖最后由 Voidmio 于 2025-11-7 13:38 编辑
Satoru 发表于 2025-11-7 02:21
我觉得是内存问题...现在桌面端锐龙的内存带宽瓶颈太严重了。考虑把7950X机器的内存搬过来平行测试一下?
...

我想测试久矣,可惜老机器现在放在我的老学校,远隔千里实在不方便手边同学也找不出几个配好台式 内存合适的可以被我借用的
作者
Author:
Entropy.S.I    时间: 2025-11-7 16:16
瓶颈完全在于内存带宽
作者
Author:
Voidmio    时间: 2025-11-7 16:38
Satoru 发表于 2025-11-7 02:21
我觉得是内存问题...现在桌面端锐龙的内存带宽瓶颈太严重了。考虑把7950X机器的内存搬过来平行测试一下?
...

我就是试图调整所有核心的电压请求-频率不一致的问题,整体下来也是第二个ccd负压更多(-20以上),不过对计算的最终影响比较小了,和全核负压比也就快5%以内。
今天进一步发现,wsl2的核心调度策略有问题,设置奇数或偶数核心来计算比默认快很多




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