计算化学公社

标题: AMD EPYC 7742服务器运行Gaussian 09效率问题求助! [打印本页]

作者
Author:
hgp2006    时间: 2021-3-31 10:49
标题: AMD EPYC 7742服务器运行Gaussian 09效率问题求助!
按照Sob大神的推荐,最近配置了一个服务器,2颗AMD EPYC 7742,共128核。16条32G三星DDR4内存。最近运行Gaussian09任务的时候发现很奇怪,每次同时提交4个任务,每个任务32核64G内存,老是发现第一个提交的任务运行很快,第二个很慢,然后第三个又很快,第四个很慢。做测试同时提交4个相同的任务也是这种情况,各位大神有没有遇到过这种情况!!

作者
Author:
biogon    时间: 2021-3-31 11:05
甭在这么新的cpu用g09,效率相当堪忧,而且g09在用了12核以后并行效率急剧降低,根本没必要给那么多核心
作者
Author:
hgp2006    时间: 2021-3-31 11:13
biogon 发表于 2021-3-31 11:05
甭在这么新的cpu用g09,效率相当堪忧,而且g09在用了12核以后并行效率急剧降低,根本没必要给那么多核心

用16核提交任务也是会出现这种情况的!!
作者
Author:
biogon    时间: 2021-3-31 11:37
hgp2006 发表于 2021-3-31 11:13
用16核提交任务也是会出现这种情况的!!

因为是g09的问题,导致经常要切换CCD或者CPU运行,g16没这种问题
作者
Author:
hgp2006    时间: 2021-3-31 11:39
biogon 发表于 2021-3-31 11:37
因为是g09的问题,导致经常要切换CCD或者CPU运行,g16没这种问题

多谢多谢,但是我之前用INtel服务器从来没有出现过这种问题,这是不同cpu的区别吗?

作者
Author:
abin    时间: 2021-3-31 11:52
G09 请勿超过12个核心。
否则效率不理想。
作者
Author:
beowulf    时间: 2021-3-31 13:01
想办法把任务钉扎在固定的cpu核心上。
作者
Author:
hgp2006    时间: 2021-3-31 13:14
beowulf 发表于 2021-3-31 13:01
想办法把任务钉扎在固定的cpu核心上。

想不出原因,这个在之前使用intel服务器的时候没有这种问题出现
作者
Author:
abin    时间: 2021-3-31 13:32
或许 可以借助slurm把计算绑定在分配的资源上。
作者
Author:
hgp2006    时间: 2021-3-31 13:57
abin 发表于 2021-3-31 13:32
或许 可以借助slurm把计算绑定在分配的资源上。

现在是想知道到底是不是因为amd和intel的区别还是别的缘故,因为intel从来没出现过这种情况

作者
Author:
灰飞的旋律    时间: 2021-3-31 14:10
高斯吃主频,不很吃内存带宽。如果你的主力使用软件是高斯,可以选择配备高主频最少2.5GHz,且低核心的CPU,单节点核心数我觉得32左右就可以应对绝大部分场景。另外最好一个节点只跑一个任务。你可以在测试下在你这台机上,交两个任务,每个任务用64核,看下计算效率如何,我猜应该会都挺正常的
作者
Author:
hgp2006    时间: 2021-3-31 14:13
灰飞的旋律 发表于 2021-3-31 14:10
高斯吃主频,不很吃内存带宽。如果你的主力使用软件是高斯,可以选择配备高主频最少2.5GHz,且低核心的CPU ...

是的,如果只提交2个任务是正常的,但是128核的服务器不可能只同时算2个任务,一个任务32核已经足够了,大多时间是16核的任务
关键是我也有intel的服务器,从来没出现这种问题,所以想问问各位大神是不是amd需要特别的设置?
作者
Author:
hgp2006    时间: 2021-3-31 15:27
灰飞的旋律 发表于 2021-3-31 14:10
高斯吃主频,不很吃内存带宽。如果你的主力使用软件是高斯,可以选择配备高主频最少2.5GHz,且低核心的CPU ...

那个换成epyc 7282是不是更好一点,主频2.8G

作者
Author:
k64_cc    时间: 2021-3-31 16:00
本帖最后由 k64_cc 于 2021-3-31 16:04 编辑

我们组有EPYC 7702,之前测的时候觉得应该真就是内存带宽没分配好。
你们也有128核的intel server可以测试吗?这个服务器购买策略真有意思……

作者
Author:
hgp2006    时间: 2021-3-31 16:50
k64_cc 发表于 2021-3-31 16:00
我们组有EPYC 7702,之前测的时候觉得应该真就是内存带宽没分配好。
你们也有128核的intel server可以测试 ...

之前是老的服务器,不是测试速度,是说在intel服务器上从来没遇到过提交几个相同任务还有速度差异这么大的问题
作者
Author:
hgp2006    时间: 2021-3-31 16:52
k64_cc 发表于 2021-3-31 16:00
我们组有EPYC 7702,之前测的时候觉得应该真就是内存带宽没分配好。
你们也有128核的intel server可以测试 ...

内存带宽问题是怎么解决的呢?

作者
Author:
biogon    时间: 2021-3-31 20:35
k64_cc 发表于 2021-3-31 16:00
我们组有EPYC 7702,之前测的时候觉得应该真就是内存带宽没分配好。
你们也有128核的intel server可以测试 ...

四路机器效率也不行
作者
Author:
qinzhong605    时间: 2021-3-31 22:26
为啥不换成G16呢,有G09版权不影响用G16呀
作者
Author:
hgp2006    时间: 2021-3-31 22:40
qinzhong605 发表于 2021-3-31 22:26
为啥不换成G16呢,有G09版权不影响用G16呀

已经安装Gaussian16试过了,还是相同问题!
作者
Author:
hgp2006    时间: 2021-3-31 22:44
biogon 发表于 2021-3-31 11:05
甭在这么新的cpu用g09,效率相当堪忧,而且g09在用了12核以后并行效率急剧降低,根本没必要给那么多核心

您好!麻烦问一下intel和amd处理器是不是使用的Gaussian 09的版本应该是不一样的?我现在使用的都是ES64L-G09RevE.01版本。
作者
Author:
biogon    时间: 2021-4-1 09:06
hgp2006 发表于 2021-3-31 22:44
您好!麻烦问一下intel和amd处理器是不是使用的Gaussian 09的版本应该是不一样的?我现在使用的都是ES64L ...

没有,那么老的软件怎么可能有为epyc优化的版本
作者
Author:
一颗赛艇    时间: 2021-4-1 09:14
操作系统,各个软件版本,BIOS设置,NUMA设置

你啥都没说……
作者
Author:
灰飞的旋律    时间: 2021-4-1 13:05
hgp2006 发表于 2021-3-31 14:13
是的,如果只提交2个任务是正常的,但是128核的服务器不可能只同时算2个任务,一个任务32核已经足够了, ...

两个任务就正常,那应该就是前面4楼和7楼说的原因,经常切换CPU导致的,所以7楼说的想办法把一个任务固定在一个CPU上,我觉得要是可以实现应该就能解决你的问题
作者
Author:
灰飞的旋律    时间: 2021-4-1 17:04
beowulf 发表于 2021-3-31 13:01
想办法把任务钉扎在固定的cpu核心上。

这里再测试用户最多的分子动力学程序GROMACS的情况。版本是2016.3,体系是三万六千原子的蛋白质+水体系,跑100ps动力学。GROMACS的mdrun可以通过-pin on来强制要求CPU核心与mdrun线程绑定,类似于%CPU。下面来看测试结果
开HT,用72核:         87.053 ns/day 99.252s
开HT,用36核:         77.363 ns/day 111.684s
开HT,用36核,-pin on:81.582 ns/day 105.908s
关HT,用36核:         83.199 ns/day 103.85s
关HT,用36核,-pin on:83.164 ns/day 103.893s
转自 正确认识超线程(HT)技术对计算化学运算的影响 - 思想家公社的门口:量子化学·分子模拟·二次元  http://sobereva.com/392
作者
Author:
beowulf    时间: 2021-4-1 21:40
本帖最后由 beowulf 于 2021-4-1 21:41 编辑
hgp2006 发表于 2021-3-31 22:40
已经安装Gaussian16试过了,还是相同问题!

这货是openmp并行的吧,拿likwid 钉死试试看。likwid是个小工具,自行编译一下就好安装了。
likwid = likely I know what I am doing


作者
Author:
喵星大佬    时间: 2021-4-6 22:20
beowulf 发表于 2021-4-1 21:40
这货是openmp并行的吧,拿likwid 钉死试试看。likwid是个小工具,自行编译一下就好安装了。
likwid = li ...

高斯输入文件本身就可以用%cpu编号钉死
作者
Author:
abin    时间: 2021-4-28 09:33
单机上简单搞一个slurm, 直接通过cgroup绑定CPU编号。
然后就踏实了。

openPBS也是支持的。

作者
Author:
biogon    时间: 2021-4-28 17:29
喵星大佬 发表于 2021-4-6 22:20
高斯输入文件本身就可以用%cpu编号钉死

但是G09不支持




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