计算化学公社

 找回密码 Forget password
 注册 Register
Views: 426|回复 Reply: 7
打印 Print 上一主题 Last thread 下一主题 Next thread

[Gaussian/gview] window下双CCD CPU的高斯输入设置,并非%nproc=n!

[复制链接 Copy URL]

20

帖子

0

威望

237

eV
积分
257

Level 3 能力者

本帖最后由 激发态的Xe 于 2025-5-7 20:42 编辑

在sob老师的《正确认识超线程(HT)技术对计算化学运算的影响》一文中我们知道"对于具有HT技术的有N个物理核心的CPU,跑计算化学程序时,一般来说最佳使用方式是:开着HT,但把并行核数设为N"
故本人在计算时一直使用“%nproc=N",但由于近期气温升高本人的9950X一直会高温死机,但由于频率和功耗都是正常范围,故在更换新主板B850M和瓦尔基里360水冷后还是会高温死机(核心温度超过115℃),又在和商家寄回CPU检测无问题后开始进一步排查,发现在window系统下(win11工作站版)运行Gaussian使用%nproc=16会出现CCD0与CCD1温差超过30℃!例如CCD0已经100℃了,CCD1才70℃,但是CPU功耗又有210W(在该CPU核心频率下用其他软件如CPU-Z、AIDA64烤机也只有200多瓦但两CCD温差不超过2℃),所以一直以为是window的调度问题。
但本人再次仔细研究AMD的CCD后,开始了以下测试,得出的结论是,高端AMD 非单CCD CPU使用%nproc=n,只会使一个CCD满载即使用n/2个物理核数和n个逻辑核心!
以下是测试内容和有关CCD介绍内容:

AMD的CPU是通过一个一个CCD拼起来的,比如现在的Zen5架构的9000系列CPU,一个CCD是包含8个物理核心,两个完整未损坏CCD拼起来就是16核的9950X,一个完整未损坏CCD就是8核9700X,一个完好一个损坏CCD拼起来就是9800X,一个损坏CCD就是9600X,而撕裂者系列也是通过n个CCD拼起来的,故戏称AMD为胶水U。
具体测试内容:
Gaussian16 A.03 9950X 64GB  CPU定频5.15GHz  以下测试都没关闭超线程,出现的时间是计算均三甲基苯的单点能,M062X/Def2-TZVP  ,使用AIDA64 检测CCD温度(AIDA64在图吧工具箱里有,搜索图吧工具箱即可)
关键词          CPU做高使用率
%nproc=16        51%
62s

%nproc=8          26%
101s

%nproc=32        100%
47s                 大体系下功耗会超过300W,此时的功耗为220W

%nproc=32/2    95%(大体系能到100%)
47s

%cpu=0-7        26%
121s

%cpu=0-15     使用率50%
68s

%cpu=16-23        26%
120s

%cpu=16-31      50%
67s

%cpu=0-31
报错,输出空白文档,Gaussian界面空白
%cpu=0-31/2
报错

%cpu=0-16/2 26%
84s

%cpu=0-15/2,16-31/2  51%
49s

超线程会极大的增加发热量,故可以尝试在高斯里关闭超线程外加在Bios里拉高CPU频率,我手上只有一颗双CCD的CPU,论坛的其他各位老师同学若是有其他型号的CPU可以试试我说的看看使用%nproc=n并打开温度检测软件,看看是不是也是只有一个CCD在运行(注:需要用AIDA64的传感器选项,其他温度检测软件只会记录温度最高的那个CCD,是看不出来其他CCD有没有运行的!)
在计算我课题的较大体系时 5.15GHz  使用%nproc=16 %npro=32、%nproc=32/2 都会超过115℃自动关机,使用%cpu=0-15/2,16-31/2 可使最高温度降低至90℃并保持平均温度维持在90℃左右。

6万

帖子

99

威望

5万

eV
积分
120060

管理员

公社社长

2#
发表于 Post on 2025-5-7 17:23:52 | 只看该作者 Only view this author
当前贴图方式不对,请按照置顶的社员必读贴说的方式上传图片,否则别人刷不出来

有没有测试linux的情况?
一般这么多核的CPU都不会用windows版Gaussian计算,太浪费CPU了
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办极高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入北京科音微信公众号获取北京科音培训的最新消息,并避免错过网上有价值的计算化学文章!
欢迎加入人气极高、专业性特别强的理论与计算化学综合交流群思想家公社QQ群(群号见此链接),合计达一万多人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大、极为流行的量子化学波函数分析程序)
Google Scholar:https://scholar.google.com/citations?user=tiKE0qkAAAAJ
ResearchGate:https://www.researchgate.net/profile/Tian_Lu

20

帖子

0

威望

237

eV
积分
257

Level 3 能力者

3#
 楼主 Author| 发表于 Post on 2025-5-7 20:24:04 | 只看该作者 Only view this author
sobereva 发表于 2025-5-7 17:23
当前贴图方式不对,请按照置顶的社员必读贴说的方式上传图片,否则别人刷不出来

有没有测试linux的情况 ...

对不起sob老师,我已经修改!还没有测试过Linux,我觉得是因为Gaussian把逻辑核心识别成物理核心,就像图一 一样,core0 T1逻辑核心识别成第二个核

20

帖子

0

威望

237

eV
积分
257

Level 3 能力者

4#
 楼主 Author| 发表于 Post on 2025-5-7 22:07:50 | 只看该作者 Only view this author
在我另外一块单CCD CPU 7700X上,使用%nproc=8时会正常使用8个物理核心,但使用%nproc=16会出现高温死机的情况说明但CCD的cpu是能够用之前的结论的

29

帖子

3

威望

326

eV
积分
415

Level 3 能力者

5#
发表于 Post on 2025-5-8 18:27:49 | 只看该作者 Only view this author
众所周知,9950X 在高负载下运行温度相当高,对于密集型任务,很难充分冷却以使其不达到 95 °C 的最高结温 (TJMax)。然而,默认情况下,您的 CPU 不应超过 95 °C(当然更不应达到 115 °C!)。CPU 应该会自动降频以防止温度超过最高结温。在 BIOS 中应该有一个设置可以设置 CPU 的散热限制 - 确保它已开启并设置为 95 °C。

20

帖子

0

威望

237

eV
积分
257

Level 3 能力者

6#
 楼主 Author| 发表于 Post on 2025-5-8 18:55:43 | 只看该作者 Only view this author
本帖最后由 激发态的Xe 于 2025-5-8 19:00 编辑
David_R 发表于 2025-5-8 18:27
众所周知,9950X 在高负载下运行温度相当高,对于密集型任务,很难充分冷却以使其不达到 95 °C 的最高结温 ...

我通过BIOS解锁了功耗墙,温度高点正常,至于寿命问题我觉得不用担心,100℃对于硅来说没什么影响。但是我想请问一下你的7980x和9654能不能通过AIDA64来检测一下是否会出现我所说的调度问题呢

I unlocked the power wall through the BIOS. A higher temperature is normal. As for the lifespan issue, I don't think there's any need to worry. Does 100℃ have no impact on silicon.

But I would like to ask if your 7980x and 9654 can be detected through AIDA64 to see if the scheduling problem I mentioned will occur

29

帖子

3

威望

326

eV
积分
415

Level 3 能力者

7#
发表于 Post on 2025-5-8 20:56:18 | 只看该作者 Only view this author
抱歉,我可能误解了你最初的帖子。

我的电脑系统没有运行 Windows,但我没有观察到任何调度问题。工作负载均匀地分布在所有 CCD 上,温度也很均衡。在 7980X 上,CCD0 在负载下的温度比其他 CCD 高 10-15 摄氏度,但这很正常,因为它被编程为具有更高的最大频率 (FMax)。如果我没记错的话,9950X 也有两个不同质量的 CCD,大概 CCD0 的性能优于 CCD1。我想知道 BIOS 中是否有某个设置可以控制进程在它们之间的分配方式?

你有没有尝试使用 Process Lasso 手动将进程分配给选定的 CCD?

如果你还没有尝试过,你或许可以通过在 PBO 设置中使用曲线优化器来稍微降低 CPU 温度。

20

帖子

0

威望

237

eV
积分
257

Level 3 能力者

8#
 楼主 Author| 发表于 Post on 2025-5-8 23:31:33 | 只看该作者 Only view this author
David_R 发表于 2025-5-8 20:56
抱歉,我可能误解了你最初的帖子。

我的电脑系统没有运行 Windows,但我没有观察到任何调度问题。工作负 ...

我通过使用”%cpu=0-15/2,16-31/2“观察到能够使Gaussian只调用16个物理核心,使用%nproc=16其实会把逻辑核心识别成物理核心而导致另外一个CCD处于闲置状态(此时Gaussian的输出文件里会显示”Will use up to   16 processors via shared memory.“),使用%nproc=32(此时Gaussian的输出文件里会显示”Will use up to  32 processors via shared memory.“))。至于你说的CCD质量问题的话,这两个CCD的缓存一样大,超频性能有差异但此处并不涉及,因为是设置了定频定压(5.15GHz)。

I observed that by using %cpu=0-15/2,16-31/2, it was possible for Gaussian to call only 16 physical cores. Using %nproc=16 actually recognizes the logical core as the physical core, causing another CCD to be idle (at this time, the output file of Gaussian Will display "Will use up to 16 processors via shared memory."). use %nproc=32 (at this point, the output file of Gaussian Will display "Will use up to 32 processors via shared memory.")). As for the quality issue of the CCD you mentioned, the caches of these two CCDS are the same size, and there is a difference in overclocking performance, but it is not involved here because a constant frequency and constant voltage (5.15GHz) are set.

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2025-8-12 17:42 , Processed in 0.545448 second(s), 24 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list