计算化学公社

标题: 请问这样MD配置是否合理 [打印本页]

作者
Author:
benjaminzhen    时间: 2021-11-27 19:06
标题: 请问这样MD配置是否合理
求助,服务器小白,预算5-6w,想配一台做分子模拟(主要是gromacs、amber、autodock vina等)中等偏上的服务器,主要做的是大分子如淀粉蛋白脂质等之间的相互作用,想缩短跑完一个体系的时间,老师咨询了一家公司,也私下谈了下,请问这样的配置合理吗?显卡有必要3090吗,3080ti是否就足够,还有哪方面可以提升下,谢谢各位专家指点。


作者
Author:
Entropy.S.I    时间: 2021-11-27 23:15
3090不合适,除非你们组以后要搞机器学习方向。双路CPU带一块显卡完全是浪费,GMX这种软件在用GPU加速时如果跨了CPU,效率暴降。你们预算上限6w,所以可以改成3080Ti*2,分别插在7920机箱顶部和底部两个PCIE Zone,但这时候功耗比较夸张,需要把机箱风扇转速拉高。我们实验室有3台7920,风扇拉到30%以上噪音就非常大了。
内存应该换成16GB*8,预算足够就16GB*12,这样可以用满12根内存通道。
RAID卡毫无必要,除非你们以后还要插很多很多硬盘,但这种需求建议专门买一台NAS服务器配合40G内网使用,可以把多台计算服务器挂载到NAS上,这样计算服务器只要有一块小SSD作为系统盘就够(仅限于实验室有很多计算服务器的情况)。
关于价格,以你现在的配置单,如果走政府采购,这个价格很不错,否则直接不建议买品牌工作站整机。
作者
Author:
Entropy.S.I    时间: 2021-11-27 23:23
另外,看到你们的需求是要让一个任务尽可能地快,如果跑的是GMX,可以调整并行参数,让2张显卡和2颗CPU跑一个任务,一般来说-ntmpi 8 -ntomp6 -pme gpu -npme 1这个参数比较合适,大约能到单卡1.8倍的速度。
作者
Author:
牧生    时间: 2021-11-28 21:12
本帖最后由 牧生 于 2021-11-29 10:02 编辑
Entropy.S.I 发表于 2021-11-27 23:15
3090不合适,除非你们组以后要搞机器学习方向。双路CPU带一块显卡完全是浪费,GMX这种软件在用GPU加速时如 ...
  1. 双路CPU带一块显卡完全是浪费,GMX这种软件在用GPU加速时如果跨了CPU,效率暴降。
复制代码

双路CPU带一块显卡,以及跨了CPU,我该怎么理解啊。比如我机子是6149 双路,单U是16核32线程,双路就是32核64线程了,且有两个显卡。。
我平时用的命令是gmx mdrun -deffnm md -v -ntomp 10 -ntmpi 1 -pinoffset 10 -gpu_id 0  ,那么,此时pinoff锁定了10线程,这样就不算跨CPU的吧,但GPU利用率最高只有60%多,有没有什么办法将性能尽量榨干?
如果跨U,那么,能否给出一个命令演示一下,设置多少才是跨U?

  1. 让2张显卡和2颗CPU跑一个任务,一般来说-ntmpi 8 -ntomp6 -pme gpu -npme 1
复制代码
如果我用2张显卡和2颗CPU跑一个任务,那么,gmx mdrun -deffnm md -v -ntmpi 8 -ntomp 6 -pme gpu -npme 1   这个命令就行了吗??   


作者
Author:
Entropy.S.I    时间: 2021-11-28 22:31
牧生 发表于 2021-11-28 21:12
双路CPU带一块显卡,以及跨了CPU,我该怎么理解啊。比如我机子是6149 双路,单U是16核32线程,双路就是 ...

你这条命令问题很大
我平时用的命令是gmx mdrun -deffnm md -v -ntomp 10 -ntmpi 1 -pinoffset 10 -gpu_id 0

1. 没有加-pin on
2. 仔细看看pinoffset的用法和含义,你用错了,跨了CPU,效率严重降低

我记得你的卡是3090,这卡拿来跑GMX非常非常吃CPU。我有一张3080Ti,浮点性能和3090差不多(低3-4%),用性能是你6149两倍的5950X并用满32线程才勉强能发挥出75-80%。为了不跨CPU,你应该用-nt 16 -pin on -gpu_id 0,也可以试试-nt 32 -pin on -pinstride 1 -gpu_id 0,这样可以用满CPU0(gmx检测到超线程会把pinstride设为2)

推荐安装htop,可以直观地看到CPU每一逻辑线程的占用情况,后面一半的线程是超线程。

gmx使用GPU加速还有很多坑,比如线程编号和系统不一致,gpu编号和系统不一致(两gpu型号相同则无此问题),具体的情况很难用三言两语描述。。但这些都会实打实影响效率。

你这是16*2核的CPU,所以不能用-ntmpi 8 -ntomp 6,可以从-ntmpi 8 -ntomp 4开始,增加或减少MPI RANK来测试速度。

不知道你两张卡型号是不是一样的,如果不是,那跑一个任务的时候调教起来真的很麻烦,可能还要用到-gputasks来均衡负载。。
作者
Author:
牧生    时间: 2021-11-29 09:03
本帖最后由 牧生 于 2021-11-29 09:10 编辑
Entropy.S.I 发表于 2021-11-28 22:31
你这条命令问题很大

1. 没有加-pin on

感谢。-pin on以后,速度有明显提升,现在用的命令是gmx mdrun -deffnm md -v -ntomp 10 -ntmpi 1 -pinoffset 10 -pin  on -gpu_id 0

我的两个卡是1080TI和3090,偶尔还需要一部分CPU跑一下ORCA或者高斯。。

我已经不记得什么时候开始,-ntmpi 只能设为10,多了或者少了都要报错。现在机子上已经设置好了很多软件,也实在懒得折腾了,能水水就可以了,完成单位考核就行,我也不完全靠这个过日子。就这样保持现状吧,累了。   摊手手

作者
Author:
Entropy.S.I    时间: 2021-11-29 09:26
牧生 发表于 2021-11-29 09:03
感谢。-pin on以后,速度有明显提升,现在用的命令是gmx mdrun -deffnm md -v -ntomp 10 -ntmpi 1 -pinof ...

还是不对,应该去掉-pinoffset选项,gmx会调用0-9线程。你现在的参数,gmx调用的是10-19线程,其中16-19线程是第二颗CPU的,你这样跨了CPU,性能受到很大影响。
1080Ti和3090的话,就不必搞两卡并行了,负载均衡很难调,相对于单3090能提升的速度也不多
作者
Author:
牧生    时间: 2021-11-29 09:43
本帖最后由 牧生 于 2021-11-29 09:52 编辑
Entropy.S.I 发表于 2021-11-29 09:26
还是不对,应该去掉-pinoffset选项,gmx会调用0-9线程。你现在的参数,gmx调用的是10-19线程,其中16-19 ...

谢谢提醒。
但经过我的实际测试,加-pin on,速度确实有提升,但加不加-pinoffset,没有实质性变化,速度不变,GPU利用率不变。
作者
Author:
Entropy.S.I    时间: 2021-11-29 09:56
本帖最后由 Entropy.S.I 于 2021-11-29 10:10 编辑
牧生 发表于 2021-11-29 09:43
谢谢提醒。
但经过我的实际测试,加-pin on,速度确实有提升,但加不加-pinoffset,没有实质性变化,速 ...

在双路共32核CPU的计算机中,
对于操作系统:0-15是第1颗CPU;16-31是第2颗CPU;32-47是第1颗CPU超线程;48-63是第2颗CPU超线程。
对于GMX:0、2、4、6...28、30是第一颗CPU;1、3、5、7...29、31是第1颗CPU超线程;32、34、36...60、62是第2颗CPU;33、35、37...61、63是第2颗CPU超线程
作者
Author:
牧生    时间: 2021-11-29 09:59
Entropy.S.I 发表于 2021-11-29 09:56
在双路CPU的计算机中,
对于操作系统:0-15是第1颗CPU;16-31是第2颗CPU;32-47是第1颗CPU超线程;48-63 ...

小本本记下,感谢大佬的帮助。。希望我可以改改设置,让速度可以进一步提升。
作者
Author:
Entropy.S.I    时间: 2021-11-29 10:06
本帖最后由 Entropy.S.I 于 2021-11-29 10:13 编辑
牧生 发表于 2021-11-29 09:43
谢谢提醒。
但经过我的实际测试,加-pin on,速度确实有提升,但加不加-pinoffset,没有实质性变化,速 ...

跨了CPU速度却没有下降,这有点奇怪,会不会是因为你的3090没有插在CPU0引出的PCIE插槽上?
另外,强烈建议解决一下只能用10线程的问题,这影响太大了。这个问题解决了,你可以试试-nt 32 -pinstride 1,让CPU0的所有线程全部用满,这样应该还能把3090的性能再榨出来一点。
我现在5950X & 3080Ti跑14万原子的体系,非键相互作用cutoff半径1.4,步长2fs,用满32线程,速度80ns/d左右,GPU利用率78%,功耗370W(由于是次旗舰非公卡,七彩虹ADOC,功耗墙被我拉到了400W),频率1980MHz
作者
Author:
snljty    时间: 2021-11-29 10:14
牧生 发表于 2021-11-29 09:59
小本本记下,感谢大佬的帮助。。希望我可以改改设置,让速度可以进一步提升。

(, 下载次数 Times of downloads: 88)
(, 下载次数 Times of downloads: 86)
关于pinoffset参数和htop显示,分享一个图吧。前面的%CPU和%NProcShared是针对Gaussian讲的,主要是为了展示htop命令的输出示意。这是按照双路服务器做的示意图。

作者
Author:
Entropy.S.I    时间: 2021-11-29 10:21
本帖最后由 Entropy.S.I 于 2021-11-29 10:24 编辑
snljty 发表于 2021-11-29 10:14
关于pinoffset参数和htop显示,分享一个图吧。前面的%CPU和%NProcShared是针对Gaussian讲的,主要是 ...

GMX有个很傻的问题,如果有多块不同架构的GPU,则GPU编号不会按驱动里面的来,而是按compute cap从大到小排序(架构越新compute cap的值越大)。这个情况我上个月才发现。由于这个情况的存在,为了让驱动中的编号和GMX的编号一致,我们插GPU的位置也得注意。

作者
Author:
snljty    时间: 2021-11-29 10:23
Entropy.S.I 发表于 2021-11-29 10:21
GMX有个很傻的问题,如果有多块不同架构的GPU,则GPU编号不会按驱动里面的来,而是按compute cap从大到小 ...

这个我没考虑过...谢谢指教。
不过硬件为什么要这么配置,这不是给自己添麻烦嘛...
作者
Author:
牧生    时间: 2021-11-29 10:32
Entropy.S.I 发表于 2021-11-29 10:06
跨了CPU速度却没有下降,这有点奇怪,会不会是因为你的3090没有插在CPU0引出的PCIE插槽上?
另外,强烈 ...

感谢大佬。
机箱里同时插上了1080TI和3090。靠近CPU那边插上3090,其次才能插上1080TI。。刚好且必须只能插在那个位置,无法交换位置,否则空间就不够了。我尝试一下如何解决只能10线程的问题。


作者
Author:
Entropy.S.I    时间: 2021-11-29 10:37
snljty 发表于 2021-11-29 10:23
这个我没考虑过...谢谢指教。
不过硬件为什么要这么配置,这不是给自己添麻烦嘛...

这是小课题组的苦啊,采购了N多次,每次的卡都不一样……比如我们组,有1060、1080Ti、2060(*2)、RTX4000(*2)、3060Ti、3080Ti,一共6个型号共8张卡,现在1080Ti和3060Ti就插在一台双路共48核的机子上……
作者
Author:
sss668800    时间: 2021-11-29 14:46
Entropy.S.I 发表于 2021-11-29 10:37
这是小课题组的苦啊,采购了N多次,每次的卡都不一样……比如我们组,有1060、1080Ti、2060(*2)、RTX40 ...

咨询一下,我现在只有一台I7 10700主机(全核4.6G),显卡采购3070ti能带的动GMX吗?

听你的意思,似乎3080ti完全没有必要,因为AMD 5950都比较勉强。。。
作者
Author:
Entropy.S.I    时间: 2021-11-29 14:58
sss668800 发表于 2021-11-29 14:46
咨询一下,我现在只有一台I7 10700主机(全核4.6G),显卡采购3070ti能带的动GMX吗?

听你的意思,似乎3 ...

10700带3070Ti比较吃力,3060Ti就行了,有80Ti一半多点的速度。如果预算够,直接重新装一套平台,CPU可以用XEON W-3175X或R9 5950X,前者配合6通道内存或许能榨干3080Ti,但是全套要2.6w以上,后者便宜一些,全套2.3w可以解决
作者
Author:
sss668800    时间: 2021-11-29 15:41
Entropy.S.I 发表于 2021-11-29 14:58
10700带3070Ti比较吃力,3060Ti就行了,有80Ti一半多点的速度。如果预算够,直接重新装一套平台,CPU可以 ...

多谢回复,主要是预算已经确定,刚好够3070ti,如果买3060ti就浪费1500块钱经费。

我们组和你们组一样,也是一台一台攒起来的。下一台估计会装至强36核的8347C
作者
Author:
abin    时间: 2021-11-29 15:51
我的天呢,
一边数CPU编号,
一边数GPU编号,
还要搞pinon, 还麻烦呀.

直接采用slurm来接管, 额外的各种参数一概不用写的.
只需要说, 几个CPU, 几个GPU, 会自动做绑定.

通常, 主板上的某几个PCIe接口和CPU0直通, 又有几个PCIe接口和CPU1直通.
主板手册有. 在slurm中直接写一次, 就搞定了.
不用麻烦到自己去数, 做设定.  
作者
Author:
Entropy.S.I    时间: 2021-11-29 16:05
sss668800 发表于 2021-11-29 15:41
多谢回复,主要是预算已经确定,刚好够3070ti,如果买3060ti就浪费1500块钱经费。

我们组和你们组一样 ...

8347C是啥,不存在的吧。8375C挺好的。
现在买卡怎么说也不划算,双十一那会很便宜,JD自营3060Ti魔龙只要4099,3080Ti ADOC只要10599,都得抢,不过耐心点还是可以抢到的。现在就涨了1000多了。不知双十二如何
作者
Author:
sss668800    时间: 2021-11-29 16:59
Entropy.S.I 发表于 2021-11-29 16:05
8347C是啥,不存在的吧。8375C挺好的。
现在买卡怎么说也不划算,双十一那会很便宜,JD自营3060Ti魔龙只 ...

我们走政采云,没有办法买到秒杀价。


8347C参数在最后一行,优势是功耗仅需210w,8375C的功耗300w用风冷很难压:
(, 下载次数 Times of downloads: 88)

作者
Author:
Entropy.S.I    时间: 2021-11-29 17:21
sss668800 发表于 2021-11-29 16:59
我们走政采云,没有办法买到秒杀价。

8347C性能弱一大截啊。tb有卖能压300W的LGA4189 4U散热器,这点功耗不用怕,带来的性能提升很值。如果打算放办公室用,那没办法。
3175X超频功耗才夸张呢,轻松冲上500W。

作者
Author:
dingniu2    时间: 2021-11-29 17:49
dell 真的可以配到8255C的CPU吗?
作者
Author:
sss668800    时间: 2021-11-29 18:21
本帖最后由 sss668800 于 2021-11-29 18:28 编辑
Entropy.S.I 发表于 2021-11-29 17:21
8347C性能弱一大截啊。tb有卖能压300W的LGA4189 4U散热器,这点功耗不用怕,带来的性能提升很值。如果打 ...

(1) 我是工作站放办公室,需要静音。


(2) 你说的弱一大截,到底是多少?由于8375C少了4个核心,尽管高频,实际8347c的R20差距3%,R23差距4.5%,但是功耗提升40%,噪音也提升:
(, 下载次数 Times of downloads: 87) 这个差距刚好是8375C让1个核心,我认为可以接受,不算是差一大截。




作者
Author:
benjaminzhen    时间: 2021-11-29 18:58
Entropy.S.I 发表于 2021-11-27 23:15
3090不合适,除非你们组以后要搞机器学习方向。双路CPU带一块显卡完全是浪费,GMX这种软件在用GPU加速时如 ...

感谢大佬回复
作者
Author:
gauss98    时间: 2021-11-30 12:07
sss668800 发表于 2021-11-29 18:21
(1) 我是工作站放办公室,需要静音。

做计算是看专有软件效率,不是测评分数的

比如gauss,特点是并行效率在总的 32核以下高,64和以上低,支持AVX2,频率看全核睿频,速度基本与频率成正比
所以,计算效率基本上,32核以下可以接近于核数成正比,32核到64核接近5折,64核以上低于5折,而与频率基本成正比,
然后根据预算,综合考虑内存(与核数成正比),主板机箱(选择多大集成度)选择合适的CPU
当然,做动力学需要显卡。

8375c 全核睿频 3.5, 比 8347 的2.7高了 30%, 而8347的核数值比8375 高 12%,加上并行效率,核数增加的效率不足 5%,说 8375c高一大截不为过,

当然,你要考虑静音是另外一个问题。比如考虑水冷机箱?


作者
Author:
sss668800    时间: 2021-11-30 15:13
本帖最后由 sss668800 于 2021-11-30 15:17 编辑
gauss98 发表于 2021-11-30 12:07
做计算是看专有软件效率,不是测评分数的

比如gauss,特点是并行效率在总的 32核以下高,64和以上低, ...

但是你前提假设散热跟得上,二者完全释放全部功耗。
我装工作站实在做不到这个条件,如果将8375C的功耗限制到210w,则全核睿频降为2.7G


反之,如果散热功耗能达到300w,通过bios刷微码把8347C刷成8373C达到全核3.4G甚至更高也是可以的。

作者
Author:
牧生    时间: 2021-12-22 12:29
Entropy.S.I 发表于 2021-11-29 10:06
跨了CPU速度却没有下降,这有点奇怪,会不会是因为你的3090没有插在CPU0引出的PCIE插槽上?
另外,强烈 ...

今天发现了只能10线程的问题,因为装了xtb,在bashrc里面写上了OMP_NUM_THREADS=10,如果改成16,gromacs就能16线程了。

测试发现,10线程时,3090利用率约60%,  12线程,3090利用率64%,14线程,3090利用率67%,16线程,3090利用率70%。如果超过16线程(无论是否开启超线程),利用率还是70%。

所以我认为我这个6149的U,对3090利用率最高就是70%。
作者
Author:
Entropy.S.I    时间: 2021-12-22 13:31
本帖最后由 Entropy.S.I 于 2021-12-22 13:34 编辑
牧生 发表于 2021-12-22 12:29
今天发现了只能10线程的问题,因为装了xtb,在bashrc里面写上了OMP_NUM_THREADS=10,如果改成16,gromacs ...

我也发现把nstcalcenergy设置大一些可以显著提升速度。以前为了尽可能算准压力相关的量,设置了nstcalcenergy=5,gmx手册上说计算能量需要全局通信,高并行下会影响速度,这个参数缺省值是100。我测试了nstcalcenergy=50,5950X(PBO) & 3080Ti(max 400W) & 2*DDR4 3200MHz,对于30w原子体系,速度提升近15%,达到53-54ns/d,GPU占用率从68%左右提升到76%左右。18w原子体系,速度达到92ns/d
作者
Author:
牧生    时间: 2021-12-22 13:42
Entropy.S.I 发表于 2021-12-22 13:31
我也发现把nstcalcenergy设置大一些可以显著提升速度。以前为了尽可能算准压力相关的量,设置了nstcalcen ...

我的nstcalcenergy设置为100000,体系共93884个原子,188 ns/day,GPU利用率70%左右

作者
Author:
Entropy.S.I    时间: 2021-12-22 13:50
牧生 发表于 2021-12-22 13:42
我的nstcalcenergy设置为100000,体系共93884个原子,188 ns/day,GPU利用率70%左右

10万。。。你的任务不需要用gmx energy吗……
作者
Author:
牧生    时间: 2021-12-22 14:06
Entropy.S.I 发表于 2021-12-22 13:50
10万。。。你的任务不需要用gmx energy吗……

因为nsteps为1000000000步,所以,nstcalcenergy设置为100000,也是可以的吧。
作者
Author:
Entropy.S.I    时间: 2021-12-22 14:16
牧生 发表于 2021-12-22 14:06
因为nsteps为1000000000步,所以,nstcalcenergy设置为100000,也是可以的吧。

我发现100以上速度提升没那么明显,我的任务轨迹长度是200ns,现在用nstcalcenergy=50。
有些量波动特别大,例如压强,这类量需要非常大的采样数,否则统计误差极大,我觉得10万有点过了。。你这2μ秒,可以用500
作者
Author:
牧生    时间: 2021-12-22 16:26
Entropy.S.I 发表于 2021-12-22 14:16
我发现100以上速度提升没那么明显,我的任务轨迹长度是200ns,现在用nstcalcenergy=50。
有些量波动特别 ...

谢谢,我之所以把这个值设的很大,是因为想要让产生的轨迹体积小一点。我以前从来没考虑过这个值对某些量(如压强)的影响。
我试了一下,设置1000,或者设置10000,或者更大,速度没有什么变化,预计产生轨迹的体积也没有明显变化。但是设置为200,或者500,预计产生的轨迹体积就明显大多了。。

我以后会注意设定一个合理的值,既不太大,也不太小。




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