计算化学公社

标题: 分子动力学选择Amber or Gromacs ? [打印本页]

作者
Author:
邓仰福    时间: 2021-12-21 20:07
标题: 分子动力学选择Amber or Gromacs ?
        请教各位老师,最近开始准备学习分子动力学模拟相关知识,不知用哪个软件使用好点呢,以下括号里的内容是网上看别人说的,自己现在也看不懂这些看起来好像amber好点但是gromacs用的人也多,所以在此请教下选用哪个软件学习使用呢
   ( 这两三年gmx删了隐式溶剂,不能在真空下跑MD,现在又开始删deffnm,mdrun only, 而amber现在对中国用户也可以免费使用了)

作者
Author:
邓仰福    时间: 2021-12-21 20:11
另外amber和gmx都可以进行FEP计算叭,不知道fep方面这两款软件是否在精确度或者其他方面有明显优势呢
作者
Author:
sobereva    时间: 2021-12-22 01:11
先说清楚具体模拟什么
在我来看,但凡适合gromacs跑的问题都优先考虑gromacs。gromacs用户数近乎所有其它动力学程序用户的总和
作者
Author:
邓仰福    时间: 2021-12-22 12:57
sobereva 发表于 2021-12-22 01:11
先说清楚具体模拟什么
在我来看,但凡适合gromacs跑的问题都优先考虑gromacs。gromacs用户数近乎所有其它 ...

好的好的,是想模拟蛋白和配体复合物,验证对接的可靠性得到最稳定可靠复合物,计算FEP,谢谢您的解答
作者
Author:
喵星大佬    时间: 2021-12-22 14:12
邓仰福 发表于 2021-12-22 12:57
好的好的,是想模拟蛋白和配体复合物,验证对接的可靠性得到最稳定可靠复合物,计算FEP,谢谢您的解答:hu ...

讲道理,gromacs简单好用,用户多同时意味着教程多,你说的这些功能也都有,速度不说最快,还算说得过去。

Amber和NAMD3的话目前来看速度确实快些,而且功能更全面,用起来的话就会复杂一些,同时用户少也意味着教程少得多,要自己慢慢扒手册慢慢试


总结一句话,自己看
作者
Author:
sobereva    时间: 2021-12-22 14:47
邓仰福 发表于 2021-12-22 12:57
好的好的,是想模拟蛋白和配体复合物,验证对接的可靠性得到最稳定可靠复合物,计算FEP,谢谢您的解答:hu ...

GROMACS算这个极度理想
作者
Author:
邓仰福    时间: 2021-12-22 15:26
sobereva 发表于 2021-12-22 14:47
GROMACS算这个极度理想

好的,谢谢您!
作者
Author:
邓仰福    时间: 2021-12-22 15:28
喵星大佬 发表于 2021-12-22 14:12
讲道理,gromacs简单好用,用户多同时意味着教程多,你说的这些功能也都有,速度不说最快,还算说得过去 ...

谢谢您,打算好好学习使用gromacs
作者
Author:
邓仰福    时间: 2021-12-22 20:14
sobereva 发表于 2021-12-22 14:47
GROMACS算这个极度理想

麻烦再问下您gromacs版本的问题,下载旧版本好点吧比如2018版功能方面可能更全一点哈(最近两三年gmx删了隐式溶剂,不能在真空下跑MD,现在又开始删deffnm,mdrun only)
作者
Author:
Chris——szk    时间: 2021-12-22 20:28
喵星大佬 发表于 2021-12-22 14:12
讲道理,gromacs简单好用,用户多同时意味着教程多,你说的这些功能也都有,速度不说最快,还算说得过去 ...

emm不应该是GPU支持下gromacs更加快一点嘛emm
作者
Author:
喵星大佬    时间: 2021-12-22 20:29
本帖最后由 喵星大佬 于 2021-12-22 20:30 编辑
邓仰福 发表于 2021-12-22 20:14
麻烦再问下您gromacs版本的问题,下载旧版本好点吧比如2018版功能方面可能更全一点哈(最近两三年gmx删了 ...

不影响,用最新的。装一个21.4的GPU版和18.8的cpu版(不支持新的硬件和cuda版本)


一般跑轨迹的时候不会在隐式溶剂模型下跑的,要用mm-gbsa的话完了之后用老版本rerun就好了。相同硬件新版本速度快得多得多,何况老版本还不支持新的硬件不能用新的gpu,而且新的版本可以把将更多的计算分配给gpu,多gpu并行的时候gpu间通信也优化过了,速度更快

话说deffnm啥时候删了,这就是个命名输出文件的选项而且21.4还用的好好的,真空下MD指啥?非周期性边界静电作用用cut-off不就是真空嘛,这不是最基本的设置嘛啥时候不行了


作者
Author:
sobereva    时间: 2021-12-22 21:23
邓仰福 发表于 2021-12-22 20:14
麻烦再问下您gromacs版本的问题,下载旧版本好点吧比如2018版功能方面可能更全一点哈(最近两三年gmx删了 ...

deffnm目前最新正式版里没有删
你平时的蛋白质模拟根本不牵扯到隐式溶剂模型,而且本来gmx的GB模型做得就不怎么样,速度慢,支持的计算有效Born半径的方法也老,真需要专门用GB来跑的话基本都会用amber。而当需要用MMPBSA的时候,有专门的gmx_mmpbsa程序可以解决,调用外部PB求解程序。
gmx可以在真空下跑MD,只不过必须在有足够的真空区的盒子里跑,而不能当非周期性来跑。你跑蛋白质根本不会涉及到这种情况。
你提到的那些事情没有一个是和你有直接关系的。

GPU加速应当用>=2020版。纯CPU跑建议2018.8


作者
Author:
邓仰福    时间: 2021-12-22 21:33
sobereva 发表于 2021-12-22 21:23
deffnm目前最新正式版里没有删
你平时的蛋白质模拟根本不牵扯到隐式溶剂模型,而且本来gmx的GB模型做得 ...

好的,学到很多,谢谢您
作者
Author:
邓仰福    时间: 2021-12-22 21:39
喵星大佬 发表于 2021-12-22 20:29
不影响,用最新的。装一个21.4的GPU版和18.8的cpu版(不支持新的硬件和cuda版本)

我也不清楚我是看网上说gromacs最新版有各种缺陷说不如用gromacs2018
作者
Author:
snljty    时间: 2021-12-22 21:41
喵星大佬 发表于 2021-12-22 20:29
不影响,用最新的。装一个21.4的GPU版和18.8的cpu版(不支持新的硬件和cuda版本)

deffnm是开发日志说的,好像是2022版要删...
作者
Author:
naoki    时间: 2021-12-22 21:45
sobereva 发表于 2021-12-22 21:23
deffnm目前最新正式版里没有删
你平时的蛋白质模拟根本不牵扯到隐式溶剂模型,而且本来gmx的GB模型做得 ...

Sob老师好,想咨询一下您,是gmx2020及以上版本的GPU加速效果更好吗
作者
Author:
喵星大佬    时间: 2021-12-22 21:47
snljty 发表于 2021-12-22 21:41
deffnm是开发日志说的,好像是2022版要删...

每个大版本一开始都会bug不断,现在2021.4还是比较稳定的,到22版之后先让子弹飞一会
作者
Author:
喵星大佬    时间: 2021-12-23 04:54
本帖最后由 喵星大佬 于 2021-12-23 04:55 编辑
naoki 发表于 2021-12-22 21:45
Sob老师好,想咨询一下您,是gmx2020及以上版本的GPU加速效果更好吗

同样的硬件越新的版本速度越快,而且不是一点点

另一方面主要是gpu可以计算的任务类型越来越多。4.6版本开始,可以算短程非键作用,2018版开始可以算PME部分,2019开始,可以把成键项也放GPU上,不过这个提升不大。2020开始,约束和更新坐标,缓冲区也可以放gpu上,就是export GMX_FORCE_UPDATE_DEFAULT_GPU=true,然后mdrun的时候-update gpu,这个大幅减少cpu/gpu交互,提升不小
所以用gpu加速要用新的版本,最好是2020以后的版本,目前的2021.4还算比较稳定,bug也修差不多了


作者
Author:
naoki    时间: 2021-12-23 09:10
喵星大佬 发表于 2021-12-23 04:54
同样的硬件越新的版本速度越快,而且不是一点点

另一方面主要是gpu可以计算的任务类型越来越多。4.6版 ...

wow!非常感谢大佬的详细解答
作者
Author:
牧生    时间: 2021-12-23 11:16
喵星大佬 发表于 2021-12-23 04:54
同样的硬件越新的版本速度越快,而且不是一点点

另一方面主要是gpu可以计算的任务类型越来越多。4.6版 ...



-update gpu好像不支持四点水模型

Program:     gmx mdrun, version 2021.4
Source file: src/gromacs/taskassignment/decidegpuusage.cpp (line 726)
Function:    bool gmx::decideWhetherToUseGpuForUpdate(bool, bool, PmeRunMode, bool, bool, gmx::TaskTarget, bool, const t_inputrec&, const gmx_mtop_t&, bool, bool, bool, bool, bool, const gmx::DevelopmentFeatureFlags&, const gmx::MDLogger&)

Inconsistency in user input:
Update task on the GPU was required,
but the following condition(s) were not satisfied:
Virtual sites are not supported.


作者
Author:
喵星大佬    时间: 2021-12-23 11:58
牧生 发表于 2021-12-23 11:16
-update gpu好像不支持四点水模型

Program:     gmx mdrun, version 2021.4

对,而且目前不支持MTS,并且只能用leap-frog不能用vv
但是不用这些的情况下还是可以的,比如用charmm,Gromos或者FF14SB系列模拟生物分子的情况
作者
Author:
sobereva    时间: 2021-12-23 12:30
naoki 发表于 2021-12-22 21:45
Sob老师好,想咨询一下您,是gmx2020及以上版本的GPU加速效果更好吗

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

作者
Author:
Entropy.S.I    时间: 2021-12-23 13:56
喵星大佬 发表于 2021-12-23 04:54
同样的硬件越新的版本速度越快,而且不是一点点

另一方面主要是gpu可以计算的任务类型越来越多。4.6版 ...

woc离谱!我以前一直以为-update选项缺省值就是gpu,今天才知道还得手动加-update gpu,血亏啊呜呜呜…
是我学艺不精了

作者
Author:
喵星大佬    时间: 2021-12-23 14:08
Entropy.S.I 发表于 2021-12-23 13:56
woc离谱!我以前一直以为-update选项缺省值就是gpu,今天才知道还得手动加-update gpu,血亏啊呜呜呜…
...

我上次跟你说吧update放到gpu上快很多,而且对cpu要求会明显降低,你还不信。。。。

update在gpu上是20版本以后的新功能,没注意也正常
作者
Author:
牧生    时间: 2021-12-23 14:39
本帖最后由 牧生 于 2021-12-23 14:42 编辑
喵星大佬 发表于 2021-12-23 14:08
我上次跟你说吧update放到gpu上快很多,而且对cpu要求会明显降低,你还不信。。。。

update在gpu上是2 ...

测试了一下2019.6和2021.4,加上-update gpu以后,两个版本的gromacs速度都差不多。
GPU利用率从不到70%提升到84%了。。测试的9万多原子的表面活性剂水溶液体系,速度从180 ns/day提升到了差不多260 ns/day,当事人表示非常开心。。



作者
Author:
biogon    时间: 2021-12-23 15:14
喵星大佬 发表于 2021-12-23 04:54
同样的硬件越新的版本速度越快,而且不是一点点

另一方面主要是gpu可以计算的任务类型越来越多。4.6版 ...

现在同硬件还是amber快吧
作者
Author:
喵星大佬    时间: 2021-12-23 15:24
biogon 发表于 2021-12-23 15:14
现在同硬件还是amber快吧

确实,Nvidia官方的测试还是Amber快,但也就一点
作者
Author:
Entropy.S.I    时间: 2021-12-23 16:33
本帖最后由 Entropy.S.I 于 2021-12-23 16:41 编辑
喵星大佬 发表于 2021-12-23 14:08
我上次跟你说吧update放到gpu上快很多,而且对cpu要求会明显降低,你还不信。。。。

update在gpu上是2 ...

添加-update gpu测试了我的5950X(PBO) & 3080Ti(Max400W):
100万原子体系,gmx 2020.6,nstcalcenergy=100,rvdw=1.4,dt=0.002,nt=32,速度18ns/d,GPU利用率~85%,GPU功耗~365W;不加-update gpu,速度8.8ns/d,GPU利用率~53%,GPU功耗~300W。
30万原子体系,gmx 2020.6,nstcalcenergy=50,rvdw=1.4,dt=0.002,nt=32,速度67ns/d,GPU利用率~90%,GPU功耗~395W;不加-update gpu,速度53ns/d,GPU利用率~75%,GPU功耗~355W。
作者
Author:
Entropy.S.I    时间: 2021-12-23 16:37
喵星大佬 发表于 2021-12-23 04:54
同样的硬件越新的版本速度越快,而且不是一点点

另一方面主要是gpu可以计算的任务类型越来越多。4.6版 ...

但是export GMX_FORCE_UPDATE_DEFAULT_GPU=true似乎不是必须的吧?
这似乎是让-update选项缺省值设为gpu,就不用每次mdrun都加-update gpu了?
作者
Author:
喵星大佬    时间: 2021-12-23 16:50
本帖最后由 喵星大佬 于 2021-12-23 16:51 编辑
Entropy.S.I 发表于 2021-12-23 16:37
但是export GMX_FORCE_UPDATE_DEFAULT_GPU=true似乎不是必须的吧?
这似乎是让-update选项缺省值设为gpu ...

是的,我是看手册有这么个写法,我也发现不是一定要加的。。。。。

不过测试结果很明显,update到GPU之后速度还是有巨幅提升的,尤其是大体系,真·巨幅提升,其实主要就是降低了cpu和gpu的通信,而且这样对cpu的要求也降低了
作者
Author:
Entropy.S.I    时间: 2021-12-23 16:54
关于3080Ti功耗墙怎么拉到400W:
先nvidia-smi -q看一下Max Power Limit是多少,一般较好的非公版卡,这个值都会比较高,比如我的七彩虹3080Ti AD OC,打开挡板上的自动超频BIOS开关,Max Power Limit就是400W。然后sudo nvidia-smi -pl 400,这里“pl”的意思是power limit,即功耗墙。
接着watch nvidia-smi,你就会看到TDP变成了400W。
其他N卡操作方法类似。
需要注意:以上操作在机器上所有卡的Max Power Limit相同时有效,否则最大只能把所有卡的功耗墙设置为第一块卡的Max Power Limit值。

拉功耗墙的好处是满载时频率更高。如果愿意折腾,也可以玩玩超频,Linux下N卡的超频在网上有教程。不过我不推荐日常跑生产力任务时超频,实在是不稳定。
作者
Author:
naoki    时间: 2021-12-23 18:16
sobereva 发表于 2021-12-23 12:30

感觉能快不少,谢谢Sob老师~
作者
Author:
喵星大佬    时间: 2021-12-23 18:21
biogon 发表于 2021-12-23 15:14
现在同硬件还是amber快吧

http://bbs.keinsci.com/thread-27072-1-1.html

看里面的回答
作者
Author:
夏一天    时间: 2021-12-25 11:44
请问GPU加速上,gromacs2019.6远小于 gromacs2020.6,但是否是 gromacs2020.6 <  gromacs2021.4 < gromacs2022 ?这三个差距大还是已差别不大?
作者
Author:
牧生    时间: 2021-12-25 12:03
本帖最后由 牧生 于 2021-12-25 12:04 编辑
夏一天 发表于 2021-12-25 11:44
请问GPU加速上,gromacs2019.6远小于 gromacs2020.6,但是否是 gromacs2020.6 <  gromacs2021.4 < gromacs20 ...

据我自己的使用感受,6149双路+3090,   2019.6≈2021.4
我不认为“gromacs2019.6远小于 gromacs2020.6”。

作者
Author:
Entropy.S.I    时间: 2021-12-25 12:24
夏一天 发表于 2021-12-25 11:44
请问GPU加速上,gromacs2019.6远小于 gromacs2020.6,但是否是 gromacs2020.6 <  gromacs2021.4 < gromacs20 ...

2020和2021速度几乎没有差别
作者
Author:
喵星大佬    时间: 2021-12-25 15:36
本帖最后由 喵星大佬 于 2021-12-25 15:45 编辑
牧生 发表于 2021-12-25 12:03
据我自己的使用感受,6149双路+3090,   2019.6≈2021.4
我不认为“gromacs2019.6远小于 gromacs2020.6[ ...

印象中-update gpu是2020新加的,你确认一下版本对应的环境变量没弄错?

再就是想再提速30%可以上A40,或者是A6000(这个更容易买到也更便宜),当时和NV的人交流结论就是用Gromacs两张A40然后NVLink插满,再多的基本没意义了,Gromacs是那几个MD程序里唯一用A100不是最快的(2-4卡时不如A40/A6000)
作者
Author:
牧生    时间: 2021-12-25 15:49
本帖最后由 牧生 于 2021-12-25 15:53 编辑
喵星大佬 发表于 2021-12-25 15:36
印象中-update gpu是2020新加的,你确认一下版本对应的环境变量没弄错?

再就是想再提速30%可以上A40 ...

我的机子同时装了2018.8,   2019.6    2020.6    2021.4   你这么一说,我还真有点怀疑我是不是弄错了。我周一上班去办公室的时候再确认一下。到时候再反馈。

为了提速30%,那加钱的幅度得100%或更多,人间不值得  
1080TI已经很好了,3090更是人间极品,更高的我就不去想了

作者
Author:
喵星大佬    时间: 2021-12-25 15:55
本帖最后由 喵星大佬 于 2021-12-25 16:03 编辑
牧生 发表于 2021-12-25 15:49
我的机子同时装了2018.8,   2019.6    2020.6    2021.4   你这么一说,我还真有点怀疑我是不是弄错了。 ...

再上一张3090和桥接器,也是可以的,Gromacs在双卡时效率相当高,这个应该是速度仅次于双A100和双A40/A6000的方案了,速度非常接进前面的了,相对于单3090要有提速90%吧,估计有双A100的85%或者双A6000的92%
作者
Author:
牧生    时间: 2021-12-27 07:06
喵星大佬 发表于 2021-12-25 15:36
印象中-update gpu是2020新加的,你确认一下版本对应的环境变量没弄错?

再就是想再提速30%可以上A40 ...

-update gpu  针对2018.8无效,对2019.6及以后版本是有效的。未测试2019前几个版本。
作者
Author:
喵星大佬    时间: 2021-12-27 07:34
本帖最后由 喵星大佬 于 2021-12-27 07:40 编辑
牧生 发表于 2021-12-27 07:06
-update gpu  针对2018.8无效,对2019.6及以后版本是有效的。未测试2019前几个版本。

https://developer.nvidia.com/blo ... -with-gromacs-2020/

看着里面说的有点区别
不过主要提升在多GPU方面,快出去相当多,但并行效率仍然远不及Amber和NAMD的完美线性

作者
Author:
牧生    时间: 2021-12-27 14:42
喵星大佬 发表于 2021-12-25 15:55
再上一张3090和桥接器,也是可以的,Gromacs在双卡时效率相当高,这个应该是速度仅次于双A100和双A40/A60 ...

gromacs双卡,你的意思是两个卡跑同一个gmx任务吧。这样的话,命令是怎样的啊。
作者
Author:
喵星大佬    时间: 2021-12-27 14:54
牧生 发表于 2021-12-27 14:42
gromacs双卡,你的意思是两个卡跑同一个gmx任务吧。这样的话,命令是怎样的啊。

看上面那个链接
作者
Author:
牧生    时间: 2021-12-27 15:21
喵星大佬 发表于 2021-12-27 14:54
看上面那个链接

原来,NVLink是实体的硬件,这下子明白了。是我孤陋寡闻了。
作者
Author:
喵星大佬    时间: 2021-12-27 15:44
本帖最后由 喵星大佬 于 2021-12-27 15:52 编辑
牧生 发表于 2021-12-27 15:21
原来,NVLink是实体的硬件,这下子明白了。是我孤陋寡闻了。

是的,30系消费级只有3090有,而且和Gromacs的多卡并行效率关系很大
多卡并行优化看上面那个nVidia的博客就好了





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