第11届北京科音分子动力学与GROMACS培训班将于8月13~16日于北京举办,是系统性学习分子动力学与GROMACS使用的最佳机会,请点击此链接查看培训详情,欢迎参加!

计算化学公社

 找回密码 Forget password
 注册 Register
Views: 947|回复 Reply: 14

[GROMACS] 简单谈谈GROMACS模拟重复性的问题

[复制链接 Copy URL]

201

帖子

1

威望

1395

eV
积分
1616

Level 5 (御坂)

发表于 Post on 2022-6-4 14:26:40 | 显示全部楼层 Show all |阅读模式 Reading model
本身搞分子模拟的都应该清楚,一般的普通模拟最好进行多次重复,以便于确保一次结果并非偶然得到,就比如五次模拟,能够得到基本一致的结果有4次,那也比只做一次的结果要有意义,很多模拟属性都是统计得到的结果。

本身我用GROMACS也很久了,但是实际上我还是要说一说这个软件,由于现在的动力学都已经普遍支持GPU加速,主要是速度快,谈别的原因我觉得都是扯淡。那么我再来说一说GROMACS模拟的重复性问题,说到如何重复,普遍的观点都是每次用不同的随机数种子进行跑就行了,因为只要随机数种子一变,那么粒子初始速度必然改变,这样重复才有意义,这是99%的人都这么认为的。

但是我要说的并非这个,我最终得到的结论是: 只要GROMACS开GPU加速,即便是用相同随机数并且使用同一个tpr跑多次,那得到的结果也不是一样的。反过来说,只要不用GPU,那就可以100%复现(至少在有限模拟时间内)。我估计这个观点可能有很多人不知道,但是事实就是这样,不信你就测试。我也听到过GPU计算的专家说过,这个问题涉及到的主要是GROMACS的gpu代码用了很多原子操作函数,所以即使初始条件完全一样,结果都会不同。我暂时不清楚其他的主流模拟软件是不是都是这种情况。

既然如此,那么我现在就疑惑如果我们用GPU加速跑多次模拟,最后统计得到的结果或者不同模拟之间的误差是不是还有很好的意义,毕竟用相同随机数相同tpr都跑不出完全一样的结果(既然在非常短的模拟时间内),这并不是精度或者舍入误差导致的,完全是gpu部分导致的这个问题。



3万

帖子

99

威望

4万

eV
积分
84403

管理员

公社社长+计算化学玩家

发表于 Post on 2022-6-4 14:55:16 | 显示全部楼层 Show all
不用GPU加速,纯粹的CPU并行计算也会有不可精确重复的问题,下文里提到了
数值误差对计算化学结果重现性的影响
http://sobereva.com/88
mdrun专门有个-reprod选项,可用于确保需要精确重复结果的用户两次跑结果相同

关于“一般的普通模拟最好进行多次重复”这个问题,主要看模拟什么问题。比如模拟水盒子密度,只要每次跑的时间够长而令统计误差比较小,每次跑的结果差异就会小到可以忽略。像这样的情况只需跑一次足够长的轨迹即可。
但对于诸如蛋白质模拟中途出现大幅构象变化这种问题的模拟,出现的现象,以及必然会出现的现象的具体出现的时间点,每次跑都可能不同,而且差异可能显著到不可忽略,这就很有必要多次重复来得到统计结果了。
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办最高质量的各种计算化学类培训:初级量子化学培训班基础(中级)量子化学培训班分子动力学与GROMACS培训班量子化学波函数分析与Multiwfn程序培训班。这些培训是计算化学快速入门以及全面系统性提升研究水平的最佳途径,培训各种相关信息见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取培训最新消息、避免错过网上最有价值的计算化学文章!
欢迎加入人气最高、水准最高的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人,讨论范畴相同
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

201

帖子

1

威望

1395

eV
积分
1616

Level 5 (御坂)

 楼主 Author| 发表于 Post on 2022-6-4 15:00:51 | 显示全部楼层 Show all
本帖最后由 lyj714 于 2022-6-4 15:04 编辑
sobereva 发表于 2022-6-4 14:55
不用GPU加速,纯粹的CPU并行计算也会有不可精确重复的问题,下文里提到了
数值误差对计算化学结果重现性的 ...

但是这个主要的问题并不是数值误差,我测试过的就直接表明就是gpu部分的问题,纯cpu至少能够在有限时间内完全可重复,但是gpu的就是即使在几个ps或者fs都是不可能完全重复的,这就是为啥我要说这个问题的原因,因为动力学本身计算公式都是固定的,完全在有限精度范围内我倒是认为可以接受。但ps甚至fs级别都不对头有些接受不了

192

帖子

0

威望

1588

eV
积分
1780

Level 5 (御坂)

发表于 Post on 2022-6-4 17:27:47 | 显示全部楼层 Show all
sobereva 发表于 2022-6-4 14:55
不用GPU加速,纯粹的CPU并行计算也会有不可精确重复的问题,下文里提到了
数值误差对计算化学结果重现性的 ...

请教社长,MD重复跑的操作,是要从em,eq,prod等从头再依次来一遍吗?

33

帖子

0

威望

221

eV
积分
254

Level 3 能力者

发表于 Post on 2022-6-4 20:27:15 | 显示全部楼层 Show all
除了计算的数值误差外,很多控温控压的方式也会引入随机的东西。所以看开发MD软件的文献,人家为了确认MD数值计算没有问题都是比较NVE系综下模拟得到能量。

468

帖子

0

威望

2245

eV
积分
2713

Level 5 (御坂)

发表于 Post on 2022-6-4 21:43:55 | 显示全部楼层 Show all
本帖最后由 k64_cc 于 2022-6-4 21:45 编辑
lyj714 发表于 2022-6-4 15:00
但是这个主要的问题并不是数值误差,我测试过的就直接表明就是gpu部分的问题,纯cpu至少能够在有限时间内 ...

讨论GPU的可重复性,需要比较模拟得到的物理性质的统计误差。比较ps/fs长度的轨迹没什么意义,就算是个水,物理性质也得>100 ps才能拿到有统计意义的结果。

201

帖子

1

威望

1395

eV
积分
1616

Level 5 (御坂)

 楼主 Author| 发表于 Post on 2022-6-4 21:55:42 | 显示全部楼层 Show all
本帖最后由 lyj714 于 2022-6-4 22:00 编辑
k64_cc 发表于 2022-6-4 21:43
讨论GPU的可重复性,需要比较模拟得到的物理性质的统计误差。比较ps/fs长度的轨迹没什么意义,就算是个水 ...

我知道属性研究肯定是要长时间统计结果,我这里只不过是单纯讨论的GPU计算问题,并非什么属于研究。我只是单纯想为什么就短时间都不可重复而开的此贴,不然我没必要发帖了。正如你上一楼所述,即使用NVE,关掉一切杂七杂八的东西,全部只用cutoff都无法重复。

3万

帖子

99

威望

4万

eV
积分
84403

管理员

公社社长+计算化学玩家

发表于 Post on 2022-6-5 06:53:39 | 显示全部楼层 Show all
lonemen 发表于 2022-6-4 17:27
请教社长,MD重复跑的操作,是要从em,eq,prod等从头再依次来一遍吗?

不用
通常MD用不同的随机初速度就可以
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办最高质量的各种计算化学类培训:初级量子化学培训班基础(中级)量子化学培训班分子动力学与GROMACS培训班量子化学波函数分析与Multiwfn程序培训班。这些培训是计算化学快速入门以及全面系统性提升研究水平的最佳途径,培训各种相关信息见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取培训最新消息、避免错过网上最有价值的计算化学文章!
欢迎加入人气最高、水准最高的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人,讨论范畴相同
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

192

帖子

0

威望

1588

eV
积分
1780

Level 5 (御坂)

发表于 Post on 2022-6-5 12:00:28 | 显示全部楼层 Show all
sobereva 发表于 2022-6-5 06:53
不用
通常MD用不同的随机初速度就可以

好的,谢谢社长!请问随机初速度,是在mdp里面设置的吗?

3万

帖子

99

威望

4万

eV
积分
84403

管理员

公社社长+计算化学玩家

发表于 Post on 2022-6-5 12:00:53 | 显示全部楼层 Show all
lonemen 发表于 2022-6-5 12:00
好的,谢谢社长!请问随机初速度,是在mdp里面设置的吗?

gen-vel设yes就是,每次grompp时都会随机产生初速度
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办最高质量的各种计算化学类培训:初级量子化学培训班基础(中级)量子化学培训班分子动力学与GROMACS培训班量子化学波函数分析与Multiwfn程序培训班。这些培训是计算化学快速入门以及全面系统性提升研究水平的最佳途径,培训各种相关信息见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取培训最新消息、避免错过网上最有价值的计算化学文章!
欢迎加入人气最高、水准最高的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人,讨论范畴相同
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

192

帖子

0

威望

1588

eV
积分
1780

Level 5 (御坂)

发表于 Post on 2022-6-5 12:04:08 | 显示全部楼层 Show all
sobereva 发表于 2022-6-5 12:00
gen-vel设yes就是,每次grompp时都会随机产生初速度

啊啊,社长辛苦了,秒回啊。那请问随机数gen_seed,是否也要跟上一次的模拟不同才行?谢谢!

3万

帖子

99

威望

4万

eV
积分
84403

管理员

公社社长+计算化学玩家

发表于 Post on 2022-6-5 12:30:04 | 显示全部楼层 Show all
lonemen 发表于 2022-6-5 12:04
啊啊,社长辛苦了,秒回啊。那请问随机数gen_seed,是否也要跟上一次的模拟不同才行?谢谢!

一般就用默认的-1就行了,是随机数
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办最高质量的各种计算化学类培训:初级量子化学培训班基础(中级)量子化学培训班分子动力学与GROMACS培训班量子化学波函数分析与Multiwfn程序培训班。这些培训是计算化学快速入门以及全面系统性提升研究水平的最佳途径,培训各种相关信息见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取培训最新消息、避免错过网上最有价值的计算化学文章!
欢迎加入人气最高、水准最高的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人,讨论范畴相同
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

192

帖子

0

威望

1588

eV
积分
1780

Level 5 (御坂)

发表于 Post on 2022-6-5 13:12:18 | 显示全部楼层 Show all
sobereva 发表于 2022-6-5 12:30
一般就用默认的-1就行了,是随机数

好的,谢谢社长指点。理解更深入了一步

102

帖子

0

威望

3018

eV
积分
3120

Level 5 (御坂)

发表于 Post on 2022-6-5 15:47:35 | 显示全部楼层 Show all
很久没测试gromacs的GPU版了,之前是觉得它的GPU加速不如Amber和Desmond,后俩可以只用一个CPU线程,剩下的计算全在GPU上,不过同一个体系跑几次的差异也确实挺大,除非遇到比较稳定的体系……

120

帖子

0

威望

639

eV
积分
759

Level 4 (黑子)

发表于 Post on 2022-6-5 23:20:59 | 显示全部楼层 Show all
laoman 发表于 2022-6-5 15:47
很久没测试gromacs的GPU版了,之前是觉得它的GPU加速不如Amber和Desmond,后俩可以只用一个CPU线程,剩下的 ...

openMM也是,针对GPU服务器默认只能用单核CPU,其它计算全放在GPU上。之前我还特意问了peastman教授,给我的回复是:关于环境变量中设置CPU线程的是针对CPU服务器的。

本版积分规则 Credits rule

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

GMT+8, 2022-8-12 00:53 , Processed in 0.373763 second(s), 24 queries .

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