计算化学公社

标题: NAMD 3080Ti 38万原子,0.36 days/ns 是不是慢的不正常? [打印本页]

作者
Author:
darkseal    时间: 2021-11-1 14:46
标题: NAMD 3080Ti 38万原子,0.36 days/ns 是不是慢的不正常?
机器配置 i9-11900KF,64G内存,3080Ti,安装了NAMD 2.14 GPU win10版本。
运行了一个38万原子的蛋白的模拟,都是缺省设置,居然要0.36 days/ns, 每天只能做3 ns, 是不是win版的namd就是这么慢?
GPU内存使用2G左右,cuda利用也就30%左右,
如果换到linux,大概能做到多快?


(, 下载次数 Times of downloads: 42)

作者
Author:
abin    时间: 2021-11-1 15:05
检测一下是否读盘?

如果读盘很厉害,可以升级硬盘,提高随机读写性能。
也就是提升硬盘并发I/O性能。
作者
Author:
darkseal    时间: 2021-11-1 15:10
应该不是读盘的问题,虽然不是ssd,但是磁盘active time都5%不到
作者
Author:
biogon    时间: 2021-11-1 15:14
先换linux看,这占用率这么低能快么
作者
Author:
k64_cc    时间: 2021-11-1 15:52
本帖最后由 k64_cc 于 2021-11-1 15:54 编辑

GPU利用率不够就换NAMD v3,你这多半是CPU部分拉胯了。

CPU-GPU联合的方案(GMX,NAMD v2)与纯GPU的方案(Amber,OpenMM,NAMD v3)目前各擅胜场,在不同机器、不同体系中优劣很可能相反。建议都测一测。
作者
Author:
喵星大佬    时间: 2021-11-1 16:30
你可以先在WSL里面自己编译下看看
作者
Author:
darkseal    时间: 2021-11-9 15:22
最近换了ubuntu 18.04,cpu 11900kf, gpu 3080Ti,namd2 0.21days/ns, namd3 0.22 days/ns .
38万原子。gpu 占用率30%左右。
对比win 下的数据,namd2 要快不少。namd3没有win版,没有对比。
作者
Author:
Entropy.S.I    时间: 2021-11-10 01:41
本帖最后由 Entropy.S.I 于 2021-11-10 02:39 编辑

Ubuntu 20.04这么舒服为啥还要去折腾18.04。
GPU占用低明显是CPU瓶颈,一个案例:GMX跑20万原子体系,rvdw=1.4,用5950X 16核心带3080Ti可以达到70% GPU占用,功耗330W,频率1950MHz,速度60ns/d。
鄙人不用NAMD,但猜测应该和GMX类似,用GPU加速的情况下对CPU也是有一定要求的,买了高端GPU的同时别忘了配上够强的CPU,3080Ti单精度浮点性能34 TFLOPS左右,是2080Ti的2倍多,2060的4倍多,11900KF才8核心16线程,带20系高端卡还可以,带30系高端卡就远远不够了。对于跑GMX的情况,要想发挥3080Ti大部分性能,应该用5950X,要想榨干可能得3975WX
作者
Author:
喵星大佬    时间: 2021-11-10 11:03
本帖最后由 喵星大佬 于 2021-11-10 11:06 编辑
Entropy.S.I 发表于 2021-11-10 01:41
Ubuntu 20.04这么舒服为啥还要去折腾18.04。
GPU占用低明显是CPU瓶颈,一个案例:GMX跑20万原子体系,rvdw ...

这跟程序有关系,Gromacs从2020版本开始,包括缓冲区,更新坐标和约束可以全部放到GPU上,每个走步循环不再需要和cpu通信,单卡的情况下对CPU没有什么要求,随便什么CPU都可以,多卡的情况最好各跑各的也没啥影响,没有NVLink的多卡并行基本上是负效果不用考虑。但是NAMD似乎是有不同的设计思想,因此对CPU有要求。
作者
Author:
Entropy.S.I    时间: 2021-11-10 12:25
喵星大佬 发表于 2021-11-10 11:03
这跟程序有关系,Gromacs从2020版本开始,包括缓冲区,更新坐标和约束可以全部放到GPU上,每个走步循环不 ...

我测试2020.6的结果表明双CPU & 双卡无桥连器在调到合适的MPI Rank数和OpenMP线程数后相对于单CPU & 单卡,可以实现接近翻倍的效果,两个月前把这个结果告诉钟叔,他也测试了,确实是这样。比如2 × XEON 5220R & 2 × RTX4000,需要-ntmpi 8 -ntomp 6;2 × XEON 5220 & 2 × RTX2060,需要-ntmpi 12 -ntomp 3
我日常用的就是Gromacs 2020.6,测试过很多CPU和GPU的组合,发现对CPU要求不低,单精度浮点性能越强的GPU对CPU要求越高,并且用双路CPU带一张GPU会导致极大的损耗。
要发挥出大部分性能,2060需要8核4.3GHz的Skylake CPU(XEON W-2145),1080Ti需要18核2.7GHz的Skylake CPU(XEON 5220),3060Ti需要24核2.9GHz的Skylake CPU(XEON 5220R)或12核4.5GHz的的Zen3 CPU(5950X绑定12核),3080Ti和3090需要至少16核4.5GHz的Zen3 CPU(5950X)并用满超线程。
如果体系特别巨大,还需要更强的CPU
作者
Author:
喵星大佬    时间: 2021-11-10 12:32
Entropy.S.I 发表于 2021-11-10 12:25
我测试2020.6的结果表明双CPU & 双卡无桥连器在调到合适的MPI Rank数和OpenMP线程数后相对于单CPU & 单卡 ...

我记得20开始是可以把所有计算全部挪到GPU上的,那样速度会怎么样呢?省掉了通信时间
作者
Author:
Entropy.S.I    时间: 2021-11-10 12:51
喵星大佬 发表于 2021-11-10 12:32
我记得20开始是可以把所有计算全部挪到GPU上的,那样速度会怎么样呢?省掉了通信时间

这不是测出来了嘛,对CPU要求不低,考虑性价比的话还是消费级平台比较好,Ryzen支持ECC内存,很不错。我今年才刚开始做MD,上来用的就是Ubuntu20.04 & CUDA11 & GMX2020.6(顺便把实验室所有机子都重新装了一遍…),20以前的GPU加速版本用得很少,没有做测试
作者
Author:
喵星大佬    时间: 2021-11-10 12:56
Entropy.S.I 发表于 2021-11-10 12:51
这不是测出来了嘛,对CPU要求不低,考虑性价比的话还是消费级平台比较好,Ryzen支持ECC内存,很不错。我 ...

这个挺奇怪的,照理说这时候cpu已经可以摸鱼了
作者
Author:
喵星大佬    时间: 2021-12-11 02:41
本帖最后由 喵星大佬 于 2021-12-11 02:43 编辑
Entropy.S.I 发表于 2021-11-10 12:51
这不是测出来了嘛,对CPU要求不低,考虑性价比的话还是消费级平台比较好,Ryzen支持ECC内存,很不错。我 ...

那么像10980XE这样的cpu能带动一张3080Ti或3090嘛?两张3060Ti或3070呢?(360一体水冷,没设置超频也不知道这个冷却条件能超到多少)

再就是速度跟PCIe3.0/4.0有关嘛?毕竟通信消耗了大量时间

还有就是降低邻居列表搜索频率是否可以降低对CPU的要求?毕竟CPU真正在跑的主要是这玩意
作者
Author:
Entropy.S.I    时间: 2021-12-11 10:27
本帖最后由 Entropy.S.I 于 2021-12-11 10:34 编辑
喵星大佬 发表于 2021-12-11 02:41
那么像10980XE这样的cpu能带动一张3080Ti或3090嘛?两张3060Ti或3070呢?(360一体水冷,没设置超频也不知 ...

现在和10980XE性能相近的XEON W-3175X(略超一下频)很便宜,6k左右就能买到,支持6通道RECC内存,挺不错的。这个绝对能带的动3080Ti,当然如果有土豪用性能超强还支持PCIe 4.0的8375C去带3080Ti,那更完美(感觉8375C带未来浮点再翻一倍的4090也不成问题)。
我发现在我的测试中出现严重的I/O瓶颈可能是因为我的测试任务的nstcalcenergy都设置得很小(=5),而gmx手册中原话是“This option affects the performance in parallel simulations, because calculating energies requires global communication between all processes which can become a bottleneck at high parallelization.”
有空试试一般情况(nstcalcenergy=100)下的性能,不过最近可能没空,年底了有些任务挺着急的。。
和PCIe带宽肯定是密切相关的,在跑超大的体系时,也和内存带宽有一定关系(这个做过测试,5950X的双通道DDR4 3200在跑30w以上原子时就开始成为短板了,具体表现就是双通道3200比双通道2400快30%),这些都是通信的瓶颈。
降低邻居列表更新频率会一定程度上影响轨迹精度,调这个不太合适吧(鄙人对精度有强迫症,不然也不会用rvdw=1.4,nstcalcenergy=5这种极端设置了…之前模拟表面张力,甚至用上了PME来算范德华作用)
作者
Author:
喵星大佬    时间: 2021-12-11 12:43
本帖最后由 喵星大佬 于 2021-12-11 13:11 编辑
Entropy.S.I 发表于 2021-12-11 10:27
现在和10980XE性能相近的XEON W-3175X(略超一下频)很便宜,6k左右就能买到,支持6通道RECC内存,挺不错 ...

但我觉得这种所谓精度应该还是去符合力场开发的时候用的参数比较好吧。比如现在charmm力场就专门有PME算vdW的版本,和正常1.2截断的版本分开了。10980XE是手上的,这玩意现在也很便宜了,主要不支持PXIe4.0,但是WS X299 Pro又确实能插两个显卡。在考虑两个3080Ti甚至两个3090+桥接器能不能发挥出来,10980XE倒是4通道3200的内存,这块应该不存在啥瓶颈。
作者
Author:
Entropy.S.I    时间: 2021-12-11 17:36
本帖最后由 Entropy.S.I 于 2021-12-11 17:37 编辑
喵星大佬 发表于 2021-12-11 12:43
但我觉得这种所谓精度应该还是去符合力场开发的时候用的参数比较好吧。比如现在charmm力场就专门有PME算v ...

刚才见缝插针地测试了一下,30w原子凝聚相,rvdw=1.4,把nstcalcenergy设成100以后,GPU利用率从67涨到了75,速度提升13%;也测了50,和100几乎一样,提升12%。看来没有特殊需求还是把nstcalcenergy设成100或50为好,0.2ps或0.1ps计算并记录一次能量信息在多数情况下也够用了。界面张力算是比较特殊的,统计误差对压力数据采样频率特别敏感,牺牲一点性能换来更低的统计误差也值得
作者
Author:
fhh2626    时间: 2021-12-12 21:14
darkseal 发表于 2021-11-9 15:22
最近换了ubuntu 18.04,cpu 11900kf, gpu 3080Ti,namd2 0.21days/ns, namd3 0.22 days/ns .
38万原子。gp ...

用NAMD 3.0,最好是git版本(https://gitlab.com/tcbgUIUC/namd,devel或者5522 branch)

NAMD 2.X没有使用的价值

作者
Author:
darkseal    时间: 2021-12-15 18:42
fhh2626 发表于 2021-12-12 21:14
用NAMD 3.0,最好是git版本(https://gitlab.com/tcbgUIUC/namd,devel或者5522 branch)

NAMD 2.X没 ...

最终结果MD还是desmond最快。70万原子的体系大约11ns/day.
建模用maestro,虽然速度慢的不行,但是都是图形化的,内置的packmol建模多个组分,lipid,bilayer等都没问题。终于可以解放精力到实际的science中了啊。
作者
Author:
fhh2626    时间: 2021-12-15 19:02
darkseal 发表于 2021-12-15 18:42
最终结果MD还是desmond最快。70万原子的体系大约11ns/day.
建模用maestro,虽然速度慢的不行,但是都是 ...

Desmond会有OpenMM快吗?我表示怀疑

另外建模一般情况下用CHARMM-GUI最简单
作者
Author:
喵星大佬    时间: 2021-12-16 06:11
fhh2626 发表于 2021-12-15 19:02
Desmond会有OpenMM快吗?我表示怀疑

另外建模一般情况下用CHARMM-GUI最简单

是的,charmm-gui简直神器,少花了好多时间在处理这些乱七八糟的问题上,尤其是包括最新的amber/charmm力场

OpenMM没用过,一直听说很快,相比gmx上手难度如何?
作者
Author:
fhh2626    时间: 2021-12-16 10:05
喵星大佬 发表于 2021-12-16 06:11
是的,charmm-gui简直神器,少花了好多时间在处理这些乱七八糟的问题上,尤其是包括最新的amber/charmm力 ...

如果仅仅是做平衡模拟的话应该很好上手,不过OpenMM精通比较难
作者
Author:
caoshuting    时间: 2023-3-16 16:57
各位大佬求教,请问为什么我的namd一用到smd功能,gpu利用率就为0呢




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