计算化学公社

 找回密码 Forget password
 注册 Register
Views: 7797|回复 Reply: 15
打印 Print 上一主题 Last thread 下一主题 Next thread

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

[复制链接 Copy URL]

308

帖子

2

威望

3557

eV
积分
3905

Level 5 (御坂)

本身搞分子模拟的都应该清楚,一般的普通模拟最好进行多次重复,以便于确保一次结果并非偶然得到,就比如五次模拟,能够得到基本一致的结果有4次,那也比只做一次的结果要有意义,很多模拟属性都是统计得到的结果。

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

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

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



6万

帖子

99

威望

5万

eV
积分
120184

管理员

公社社长

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

关于“一般的普通模拟最好进行多次重复”这个问题,主要看模拟什么问题。比如模拟水盒子密度,只要每次跑的时间够长而令统计误差比较小,每次跑的结果差异就会小到可以忽略。像这样的情况只需跑一次足够长的轨迹即可。
但对于诸如蛋白质模拟中途出现大幅构象变化这种问题的模拟,出现的现象,以及必然会出现的现象的具体出现的时间点,每次跑都可能不同,而且差异可能显著到不可忽略,这就很有必要多次重复来得到统计结果了。
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办极高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入北京科音微信公众号获取北京科音培训的最新消息,并避免错过网上有价值的计算化学文章!
欢迎加入人气极高、专业性特别强的理论与计算化学综合交流群思想家公社QQ群(群号见此链接),合计达一万多人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大、极为流行的量子化学波函数分析程序)
Google Scholar:https://scholar.google.com/citations?user=tiKE0qkAAAAJ
ResearchGate:https://www.researchgate.net/profile/Tian_Lu

308

帖子

2

威望

3557

eV
积分
3905

Level 5 (御坂)

3#
 楼主 Author| 发表于 Post on 2022-6-4 15:00:51 | 只看该作者 Only view this author
本帖最后由 lyj714 于 2022-6-4 15:04 编辑
sobereva 发表于 2022-6-4 14:55
不用GPU加速,纯粹的CPU并行计算也会有不可精确重复的问题,下文里提到了
数值误差对计算化学结果重现性的 ...

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

245

帖子

0

威望

2717

eV
积分
2962

Level 5 (御坂)

4#
发表于 Post on 2022-6-4 17:27:47 | 只看该作者 Only view this author
sobereva 发表于 2022-6-4 14:55
不用GPU加速,纯粹的CPU并行计算也会有不可精确重复的问题,下文里提到了
数值误差对计算化学结果重现性的 ...

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

65

帖子

0

威望

461

eV
积分
526

Level 4 (黑子)

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

553

帖子

0

威望

3324

eV
积分
3877

Level 5 (御坂)

6#
发表于 Post on 2022-6-4 21:43:55 | 只看该作者 Only view this author
本帖最后由 k64_cc 于 2022-6-4 21:45 编辑
lyj714 发表于 2022-6-4 15:00
但是这个主要的问题并不是数值误差,我测试过的就直接表明就是gpu部分的问题,纯cpu至少能够在有限时间内 ...

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

308

帖子

2

威望

3557

eV
积分
3905

Level 5 (御坂)

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

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

6万

帖子

99

威望

5万

eV
积分
120184

管理员

公社社长

8#
发表于 Post on 2022-6-5 06:53:39 | 只看该作者 Only view this author
lonemen 发表于 2022-6-4 17:27
请教社长,MD重复跑的操作,是要从em,eq,prod等从头再依次来一遍吗?

不用
通常MD用不同的随机初速度就可以
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办极高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入北京科音微信公众号获取北京科音培训的最新消息,并避免错过网上有价值的计算化学文章!
欢迎加入人气极高、专业性特别强的理论与计算化学综合交流群思想家公社QQ群(群号见此链接),合计达一万多人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大、极为流行的量子化学波函数分析程序)
Google Scholar:https://scholar.google.com/citations?user=tiKE0qkAAAAJ
ResearchGate:https://www.researchgate.net/profile/Tian_Lu

245

帖子

0

威望

2717

eV
积分
2962

Level 5 (御坂)

9#
发表于 Post on 2022-6-5 12:00:28 | 只看该作者 Only view this author
sobereva 发表于 2022-6-5 06:53
不用
通常MD用不同的随机初速度就可以

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

6万

帖子

99

威望

5万

eV
积分
120184

管理员

公社社长

10#
发表于 Post on 2022-6-5 12:00:53 | 只看该作者 Only view this author
lonemen 发表于 2022-6-5 12:00
好的,谢谢社长!请问随机初速度,是在mdp里面设置的吗?

gen-vel设yes就是,每次grompp时都会随机产生初速度
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办极高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入北京科音微信公众号获取北京科音培训的最新消息,并避免错过网上有价值的计算化学文章!
欢迎加入人气极高、专业性特别强的理论与计算化学综合交流群思想家公社QQ群(群号见此链接),合计达一万多人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大、极为流行的量子化学波函数分析程序)
Google Scholar:https://scholar.google.com/citations?user=tiKE0qkAAAAJ
ResearchGate:https://www.researchgate.net/profile/Tian_Lu

245

帖子

0

威望

2717

eV
积分
2962

Level 5 (御坂)

11#
发表于 Post on 2022-6-5 12:04:08 | 只看该作者 Only view this author
sobereva 发表于 2022-6-5 12:00
gen-vel设yes就是,每次grompp时都会随机产生初速度

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

6万

帖子

99

威望

5万

eV
积分
120184

管理员

公社社长

12#
发表于 Post on 2022-6-5 12:30:04 | 只看该作者 Only view this author
lonemen 发表于 2022-6-5 12:04
啊啊,社长辛苦了,秒回啊。那请问随机数gen_seed,是否也要跟上一次的模拟不同才行?谢谢!

一般就用默认的-1就行了,是随机数
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办极高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入北京科音微信公众号获取北京科音培训的最新消息,并避免错过网上有价值的计算化学文章!
欢迎加入人气极高、专业性特别强的理论与计算化学综合交流群思想家公社QQ群(群号见此链接),合计达一万多人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大、极为流行的量子化学波函数分析程序)
Google Scholar:https://scholar.google.com/citations?user=tiKE0qkAAAAJ
ResearchGate:https://www.researchgate.net/profile/Tian_Lu

245

帖子

0

威望

2717

eV
积分
2962

Level 5 (御坂)

13#
发表于 Post on 2022-6-5 13:12:18 | 只看该作者 Only view this author
sobereva 发表于 2022-6-5 12:30
一般就用默认的-1就行了,是随机数

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

142

帖子

3

威望

4381

eV
积分
4583

Level 6 (一方通行)

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

120

帖子

0

威望

655

eV
积分
775

Level 4 (黑子)

15#
发表于 Post on 2022-6-5 23:20:59 | 只看该作者 Only view this author
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, 2025-8-17 21:26 , Processed in 0.187719 second(s), 20 queries , Gzip On.

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