计算化学公社

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

[硬件评测] AMD EPYC 9754 & 9654基准测试:量子化学和第一性原理计算程序

  [复制链接 Copy URL]

846

帖子

16

威望

4634

eV
积分
5800

Level 6 (一方通行)

小屁孩

本帖最后由 Entropy.S.I 于 2023-10-31 19:37 编辑

AMD EPYC 9754 & 9654基准测试:量子化学和第一性原理计算程序

Sep-2023 by ア熵增焓减ウ | yult-entropy@qq.com | entropylt@163.com

0 写在前面

应科技博主@极客湾Geekerwan 邀请,我给最新的AMD EPYC CPU做了一些基准测试。原本打算将相关分析做进视频里,但由于进度赶不上,视频中只放了“7950X指数”,分析部分写成了单独的图文发出来,写得比较通俗,因为考虑到会有很多吃瓜群众来看。

视频链接:256核512线程!史上最强CPU到底能做什么?

硬件:7950X和双路EPYC 9754平台同视频中所述;双路9654平台其他硬件同双路9754平台,由@楼下小黑bba 提供。

操作系统&软件版本:

  • Ubuntu 22.04.3 LTS, Linux 6.2.0-33-generic x86_64, GCC 11.4.0, NVIDIA GPU Driver 535.104.05
  • Gaussian 16 Rev C.02 AVX2 (官方二进制分发包)
  • ORCA 5.0.4 – OpenMPI 4.1.1 (官方预编译版本+自行编译的配套OpenMPI库)
  • CP2K 2023.2 – OpenMPI 4.1.5 – OpenBLAS 0.3.23 – CMake 3.26.3 – GCC 13.1.0 (./install_cp2k_toolchain.sh --with-intel=no --with-gcc=install --with-cmake=install --with-openmpi=install --with-sirius=no --with-quip=install --with-plumed=install)
  • CP2K 2023.2 GPU – OpenMPI 4.1.5 – CUDA Toolkit 12.2.2
  • VASP 6.4.2 – AOCC 4.1.0 – AOCL 4.1.0
  • VASP 6.4.2 GPU – NVIDIA HPC SDK 23.7

特别感谢@KiritsuguPapa 帮助测试VASP。


1 Gaussian & ORCA
1.1 介绍

使用Gaussian和ORCA来测试双路9754和双路9654的并行效率,顺便和7950X对比一下。

测试用的模型选用了可以在网络上找到大量对比数据的Test0397缬氨霉素,坐标文件就在Gaussian安装包里面。但是原版只是个普通的密度泛函(DFT)单点能量计算,并且计算级别太低了,不太适合今天的测试。把基组从3-21G调大成def2-TZVP,加个振动分析,针对ORCA再用上含时密度泛函(TDDFT)和DLPNO-CCSD(T)这两个ORCA的优势项目。这样我们得到了4个测试算例,应该能覆盖很多场景了。进一步考虑多任务的情况,把单点计算的基组改成比def2-TZVP小一些的def2-SVP,同时运行8个计算任务,每个任务32核(9754)或24核(9654),狠狠滴压榨。


1.2 测试结果

使用@ggdh 开发的Gaussian和ORCA并行效率测试脚本xbench3.0,测试双路9754和双路9654跑这几个算例的并行效率。

可以看到,单任务的并行效率都不太行,边际效应很明显,还出现了核用得越多跑得越慢的情况,其中双路9754性能很不理想。在多任务测试中,考虑了两种CPU内核分配策略,一种是大多数人会首先想到的按顺序分配,另一种是脚本默认的均匀分配。可以看到多任务的效率比单任务高得多,曲线很接近线性,其中按顺序分配的策略几乎完全线性,性能总和也达到了7950X的8-9倍,很接近理论值了。【10月31日补充】这里有必要提醒一下:并行效率测试中大部分都是“根据NUMA节点均匀分配CPU内核”,这种情况下双路机器的一半CPU核心性能并不等于单路机器。

值得一提的是,我们在测试中发现7950X+96GB内存的配置跑ORCA的DLPNO-CCSD(T)算例跑到半个小时左右的时候内存占用突然提高,然后就因为内存不足而报错退出了,这如果是正经科研的计算,估计科研人员要气晕了。最后把内存加到192GB总算是把测试跑下来了,但是加到192GB又会导致内存降频,而7950X的内存带宽瓶颈本来就严重,这对于其他不那么吃内存的测试来说得不偿失;哪怕是经验上内存越大越好的振动分析任务,再用192GB内存跑一遍,发现速度还是慢了20%。


2 CP2K & VASP
2.1 介绍

HPC和科学计算领域还有很多别的软件,比如著名的第一性原理计算软件——CP2K,它最大的优势是跑第一性原理分子动力学(AIMD)特别快,所以用官方benchmark包里的水盒子算例来测试,分别跑64个、256个、1024个水分子的盒子,每个盒子跑10步。考虑到1024水分子的AIMD压力可能还是不够,所以找了另一个压力奇大无比的算例——LiH-HFX。这个算例对机器的CPU性能、内存性能和内存容量都有很大的需求,是专门给超算做的,通常在超算上用成千上万核来跑,但这次我们用他来压榨双路9754和双路9654。

值得一提的是,像CP2K这样的MPI+OpenMP混合并行软件,需要针对不同的硬件配置做非常仔细的调优才能实现最大的性能。下图展示了经过调优后的并行参数。


VASP也是个著名的第一性原理计算软件。我们找来了英国超算用的benchmark算例,一个是二氧化钛晶体、纯泛函方法,另一个是碲化镉晶体、杂化泛函方法。其中纯泛函方法是VASP里最主流的计算方法;而坊间传闻,VASP的GPU版跑杂化泛函计算的加速比不错。

说到GPU,确实值得一测,就拿4090、RTX 6000 Ada,还有双精度超强的过气卡皇TITAN V来试试。

CP2K官方称CP2K的GPU版只支持A100、V100、MI250等计算卡。TITAN V的核心就是V100的核心,所以可以直接用官方脚本预设的V100选项;至于4090和6000 Ada,不试一下怎么知道它们能不能跑呢?众所周知,Ada架构相较于Ampere架构改动很小,SM编号都是8开头,所以就编译A100的版本,直接在4090上跑,发现还真能跑!又尝试修改编译脚本来启用Ada架构的flag(SM89),但实测发现速度还不如直接用脚本预置的A100或V100选项。

至于VASP,官方明确说了支持各种N卡,所以直接拿NVIDIA HPC SDK编译一下就能跑。


2.2 测试结果
2.2.1 CP2K

双路9754和双路9654全都顺利跑了下来,而7950X这边在跑1024个水的时候由于内存不足,直接报错退出了,把内存加到192G,终于勉强跑了下来,虽然速度实在是有点慢,只有双路9754/9654的不到十分之一。

再来看看GPU。4090和6000 Ada的速度几乎相等,比7950X还要慢一截,TITAN V双精度强,但是也就比7950X快了20-30%,看来CP2K的GPU加速比还是不太行。测试发现,H2O-1024在RTX 4090、RTX 6000 Ada和TITAN V上都无法运行,从报错信息来看疑似显存不足,但奇怪的是报错的时候nvidia-smi dmon监视工具显示显存远未被占满。

至于LiH-HFX,就不勉强可怜的7950X和那些单个GPU了,毕竟是专门给9654和9754准备的。测试运行过程中双路9754/9654功耗全程维持在800W,9754频率3GHz,9654频率3.6GHz,768GB内存几乎被耗尽,看着特别爽。最终双路9754和双路9654分别花了6456.6秒、6971.8秒跑完测试,速度和在2009年的超算上调用1024核相当。当然,超算的核数可不止1024个,多调用一些节点,双路9754/9654还是被轻松碾压了。




顺带一提,OpenBenchmarking网站也有双路9654和双路9754跑H2O-64的测试结果,都是20秒左右,比本文的11.6秒差太多了,这显然是没有做好调优的后果。




2.2.2 VASP

为了能和7950X对比,二氧化钛晶体只跑1个电子步,最终结果双路9754和双路9654速度都是7950X的将近11倍,而GPU们全部因为显存不足而没法跑。

再来看看杂化泛函的测试。4090和6000Ada的速度确实挺不错,虽然依旧没打过双路9754/9654,但是已经比较接近了,至少没出现CP2K那样的差距。当然,TITAN V因为显存只有12G,还是没把这个测试跑下来。

本次测试也对VASP并行参数做了调优,使双路AMD EPYC 9654的性能达到了双路Intel Xeon 8383C(8380超频定制版)的2.76倍,推翻了以往关于“VASP在Intel平台有特殊加成”的“经验”。由于细节众多,且核心工作并非由我完成,故本次不做讨论,欢迎持续关注。


3 7950X指数

最后,我们把7950X能跑下来的一些算例做成了“7950X指数”,来衡量双路9754和双路9654分别相当于多少颗7950X。


评分 Rate

参与人数
Participants 10
威望 +2 eV +45 收起 理由
Reason
tanyazhi + 5 好物!
乐平 + 5 精品内容
paramecium86 + 5
卡开发发 + 5 精品内容
Picardo + 5 谢谢
ChrisZheng + 5 谢谢
mizu-bai + 5 GJ!
小墨 + 5 赞!
wypkdhd + 5
sobereva + 2

查看全部评分 View all ratings

- 向着虚无前进 -

2301

帖子

1

威望

5473

eV
积分
7794

Level 6 (一方通行)

56#
发表于 Post on yesterday 13:08 | 只看该作者 Only view this author
本帖最后由 abin 于 2024-11-22 14:17 编辑

AMD 9654 单路 vs Intel 8369B双路
也就是AMD 96核心 vs Intel 64核心。

网友提供的算例。 告知需要6小时以上。
我问使用,grep LOOP OUTPUT评估一下可否,对方不认可这种比对。

那只好放在集群上排队等着计算。

采用标准编译, 在慧计算的机器上, 64核心跑同样的算例, 4小时40分钟不到。 SLURM调度器。
经过慧计算调优后, 同样算例, 64核心跑, 大概2小时20分钟。 SLURM调度器。

慧计算采用Intel工具链编译。

并非表达: AMD好或者Intel好; 而是想说明,如果编译不当,使用不当,计算效率可能差很多。

一般而言, 处理器更新换代,性能提升100%比较少见。
但是使用不当,导致性能掉一两倍,那岂不是花了大价钱,而实际性能,确实古董级的电子垃圾?

另, 本人不懂VASP,看不懂输入文件在跑什么东西。

相关讨论截图如下。






High-Performance Computing for You
为您专属定制的高性能计算解决方案

更多讯息,请访问:
https://labitc.top
http://tophpc.top:8080
电邮: ask@hpc4you.top

29

帖子

0

威望

113

eV
积分
142

Level 2 能力者

55#
发表于 Post on 3 day ago | 只看该作者 Only view this author
本帖最后由 ljb874722957 于 2024-11-20 20:57 编辑

老师,个人一手自用,7950X+3080(10 G)算VASP速度怎么样?体系一般都是在100个原子以内,偶尔用到分子动力学模拟,不想配服务器主机,主要是跑计算的过程中可以偶尔看看网站,写写论文之类的

8

帖子

0

威望

628

eV
积分
636

Level 4 (黑子)

54#
发表于 Post on 2024-2-15 13:33:05 | 只看该作者 Only view this author
Entropy.S.I 发表于 2024-2-14 21:12
首先更新系统,内核越新越好。新的硬件搭配新的Linux内核才能发挥出更好的性能,特别是Zen4新增了扩展指 ...

熵大,我也注意到小黄鱼上的V100 SXM2的性价比逐渐凸显出来,当然,缺点是电费感人。你能不能细说一下,4卡V100 SXM2跑DFT和AIMD时,体系的上限。还有跑CP2K怎么样。这套机器跑双精度LAMMPS也应该不错吧。期待你的文章。

846

帖子

16

威望

4634

eV
积分
5800

Level 6 (一方通行)

小屁孩

53#
 楼主 Author| 发表于 Post on 2024-2-14 21:12:29 | 只看该作者 Only view this author
本帖最后由 Entropy.S.I 于 2024-2-14 21:14 编辑
Weldingspock 发表于 2024-2-14 10:48
我用aocc+aocl编译的vasp.6.4.2比 intel oneapi编译的速度只快了5%左右。系统是Cent os 8,gnu版本是8.3.1 ...

首先更新系统,内核越新越好。新的硬件搭配新的Linux内核才能发挥出更好的性能,特别是Zen4新增了扩展指令集。现在Ubuntu Server 22.04 LTS的HWE内核已经是6.5了。

然后仔细测试不同的NCORE、NPAR、KPAR等参数。

不过目前已经不推荐用CPU跑VASP了,用2.4万元组装一台2*4卡V100 SXM2的机器,单个4卡模组跑480原子pure DFT的速度是双路8383C的2.5倍,8卡并行跑一个Cd33Te32 Hybrid DFT速度是双路9654的6倍。年前我就已经做了大量测试,目前准备定制专用机箱以便把这套方案普及开,浅浅颠覆一下计算材料学领域。
- 向着虚无前进 -

197

帖子

1

威望

1104

eV
积分
1321

Level 4 (黑子)

52#
发表于 Post on 2024-2-14 10:48:13 | 只看该作者 Only view this author
我用aocc+aocl编译的vasp.6.4.2比 intel oneapi编译的速度只快了5%左右。系统是Cent os 8,gnu版本是8.3.1,cpu是amd 9554。openmpi版本是4.1.6。最后运行vasp的命令直接是mpirun -np ** vasp_std。请问最后的运行命令需要改吗还是有一些别的参数需要修改?

846

帖子

16

威望

4634

eV
积分
5800

Level 6 (一方通行)

小屁孩

51#
 楼主 Author| 发表于 Post on 2023-12-27 23:54:08 | 只看该作者 Only view this author
本帖最后由 Entropy.S.I 于 2023-12-27 23:55 编辑
ggdh 发表于 2023-12-27 16:41
请问9654上最终选用的是96核X2并行 ,而没有选用平方数的原因是因为96x2 更快么

对。如果用平方数(64*3),没法map by l3cache,核间延迟成为了瓶颈。24Q2发布EPYC Turin,classic版本单机256核就不会有这种头疼的问题了
- 向着虚无前进 -

903

帖子

37

威望

5324

eV
积分
6967

Level 6 (一方通行)

50#
发表于 Post on 2023-12-27 16:41:02 | 只看该作者 Only view this author
请问9654上最终选用的是96核X2并行 ,而没有选用平方数的原因是因为96x2 更快么

299

帖子

0

威望

1922

eV
积分
2221

Level 5 (御坂)

49#
发表于 Post on 2023-12-15 22:49:20 | 只看该作者 Only view this author
Entropy.S.I 发表于 2023-10-12 02:58
3年后Zen6将会引入硅中介层或EMIB封装技术,巨幅改善CCX之间互联性能(参考Intel SPR开始所用的EMIB,核 ...

口水ing
想想一台机器512核就相当于一套超算了
不知道能快多少

不过最期待的还是像MD在gpu上那样几十倍的涨

903

帖子

37

威望

5324

eV
积分
6967

Level 6 (一方通行)

48#
发表于 Post on 2023-12-14 16:12:14 | 只看该作者 Only view this author
我发现了一个问题,在zen3和zen4上设OMP_PLACES或OMP_PROC_BIND后,某些情况跑起来会慢几百倍。unset这两个环境变量后就正常了,具体出现条件还没有研究。用的是标准的toolchain编译的 cp2k/2023.2-openmpi416-gcc113

29

帖子

0

威望

443

eV
积分
472

Level 3 能力者

47#
发表于 Post on 2023-12-3 10:32:41 | 只看该作者 Only view this author
本帖最后由 lue611 于 2023-12-5 23:41 编辑
Janus 发表于 2023-12-3 01:38
我相信很多朋友对这个贴子有错误的认识,只看那几个计算和CPU纸面信息,越看越糊涂,特做此回复。仅代表个 ...

非常感谢大佬!心里有数了。论坛需要你这样热心且有实力的大佬,比某位只会骂别人intel信徒的好多了

34

帖子

0

威望

313

eV
积分
347

Level 3 能力者

46#
发表于 Post on 2023-12-3 01:38:50 | 只看该作者 Only view this author
本帖最后由 Janus 于 2023-12-3 01:41 编辑

我相信很多朋友对这个贴子有错误的认识,只看那几个计算和CPU纸面信息,越看越糊涂,特做此回复。仅代表个人观点,仅代表个人观点!不喜勿看,不喜勿喷:
双路9654,涉及复杂的调优,对体系小但任务数量多的用户,请租机时测试。淘宝闲鱼上均有机器,一天也就百来块,测试后再决定。以下给出几个例子:
例1:
手头有30个结构优化的vasp任务,电子步时间不长(15s左右),离子步多,需要两三百步。8336C 64核算一个需要大约6小时,两个任务分别用32核心跑,大概率是10小时结束。
1. 三台8336,10小时可以算6个任务,两天差不多完成所有的计算。并且还可以调控优先级,先出来结果先分析,着急的结构用64核。
2. 双路9654,怎么去分配资源会是很大的问题。小任务,通信瓶颈可能更占主导,192核 vs 64核,可能就1.5~2倍的优势;如果提交多个,吃资源的任务会影响不怎么吃资源的任务。
3. 如果是2个学生用?如果是3个学生用?多台8336C会不会更好点?

例2:
杂化泛函、大体系AIMD、大模型(>200个原子,含铁磁元素...)等等,双路8336勉强能算,一个电子步骤30分钟,这种体系,双路9654可能是最优解。

例3:
过渡态,过渡态计算很有趣,5个插值,用5个节点算,如果4个插值点很快收敛,第五个很慢很慢,已经收敛的4个节点就开始休息了。双路9654可能只需要1个节点就行了,插值点逐步收敛,节点内资源就逐步释放,收敛慢计算速度逐步加快。

综上:只有适合自己的,才是最重要的。双路9654是款非常好的服务器,节能且性能强劲,AOCC和AOCl也在逐步完善。但是,但是,但是适不适合,可能需要根据自身情况选择。

评分 Rate

参与人数
Participants 1
eV +5 收起 理由
Reason
Picardo + 5 谢谢

查看全部评分 View all ratings

34

帖子

0

威望

313

eV
积分
347

Level 3 能力者

45#
发表于 Post on 2023-12-3 00:43:59 | 只看该作者 Only view this author
lue611 发表于 2023-12-2 22:38
我大概看了一下(都是没扩展硬盘内存的),9654*2+16G内存+512Gssd纯CPU工作站67800,8383c*2+16G内存+51 ...

只有合适与否,没有好坏之分。机器还是看你需求的,明白影响计算速度的瓶颈,再做选择:
1. 如果是vasp,并且计算体系不大,150个原子以内,任务数量多;3台8336C大概率干的活多;
2. 如果任务数量不多,但是单个任务贼耗时,类似杂化泛函,9654可能优秀;
3. 如果已经有部分intel的机器了,例如:1代或者2代 xeon,可以考虑9654,配合着用,大体系、小体系都能搞定;

此外,还需要考虑:
1. 几个人用这个机器,是否需要双路9654?两个单路咋样?
2. 是否有机柜,是否有管理节点,供电是否充足;

最后,建议先租机器,实际测试再做选择。不是很懂,并且钱不充足的,我个人建议,双路9654慎选,想用9654,可以考虑单路。

29

帖子

0

威望

443

eV
积分
472

Level 3 能力者

44#
发表于 Post on 2023-12-2 22:38:27 | 只看该作者 Only view this author
本帖最后由 lue611 于 2023-12-2 22:52 编辑
Entropy.S.I 发表于 2023-12-2 18:18
光有CPU就能跑起来了??

我尊重intel信徒

我大概看了一下(都是没扩展硬盘内存的),9654*2+16G内存+512Gssd纯CPU工作站67800,8383c*2+16G内存+512Gssd纯CPU工作站30500,整机也是贵2.22倍
8336c整机是18000,贵3.76倍
我就是觉得奇怪为什么好像性价比差不会很多而已

846

帖子

16

威望

4634

eV
积分
5800

Level 6 (一方通行)

小屁孩

43#
 楼主 Author| 发表于 Post on 2023-12-2 18:18:15 | 只看该作者 Only view this author
本帖最后由 Entropy.S.I 于 2023-12-2 18:19 编辑
lue611 发表于 2023-12-2 17:48
大佬好,我查了下8336c现在是3800,9654是23000,而双路9654有双路8336c的3.18倍,那么在钱足够的情况下是 ...

光有CPU就能跑起来了??

我尊重intel信徒
- 向着虚无前进 -

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

GMT+8, 2024-11-23 11:45 , Processed in 0.870878 second(s), 26 queries , Gzip On.

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