jQMC: A JAX-based ab initio quantum Monte Carlo package designed for GPU-accelerated computing
本文介绍了 jQMC,这是一个基于 Python 且支持 JAX 的从头算量子蒙特卡洛软件包,它利用 GPU 加速和自动微分技术,在变分和晶格正则化扩散蒙特卡洛模拟方面,相比传统的 Fortran 实现实现了显著的性能提升。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,宇宙是由被称为电子的微小、跳动的粒子构成的,它们像极度活跃的蜜蜂围绕着蜂巢一样,在原子核周围飞速穿梭。为了理解物质的行为、药物如何发挥作用,或者为什么有些东西能导电而有些不能,科学家需要解决一个巨大的、纠缠不清的数学问题,即薛定谔方程。这就像是试图预测一群蜜蜂在互相碰撞以及与蜂巢壁碰撞时,每一只蜜蜂的精确路径。几十年来,我们拥有的最佳工具要么太慢,无法处理大规模的蜂群,要么必须做出过多的简化,导致得出的猜测有时会偏离目标。
量子蒙特卡洛(Quantum Monte Carlo, QMC) 应运而生。不要把它仅仅看作一次计算,而要把它看作一场大规模的模拟游戏,成千上万个“行走者”(电子的数字幽灵)在一个虚拟世界中奔跑,通过随机迈步来探索每一种可能的排列组合。通过对这些行走者最终停留的位置进行平均,科学家可以非常准确地描绘出系统的能量和行为。这有点像通过让几千人在体育场看台上游走并汇报情况,来推测全场观众的平均身高,而不是去测量每一个人。代价是什么?这场游戏在计算上极其昂贵。它需要超级计算机运行足够长的时间,才能得到可靠的答案,而且长期以来,运行这些游戏的软件都是为旧的、较慢的计算机设计的。
这便引出了 jQMC,这是由 Kousuke Nakano 和 Michele Casula 推出的一款新软件。该论文将 jQMC 介绍为一个现代化的、基于 Python 的引擎,专门设计用于在当今最强大的超级计算机中所配备的最新、最快速的图形处理器(GPU)上运行。作者开发这个工具是为了验证他们是否能让这些电子模拟比目前的“金标准”软件运行得更快、更高效;而现有的金标准软件是用一种较旧的编程语言(Fortran)编写的,且最初并非为这些新芯片设计的。
研究团队发现,当与现代 GPU 配套使用时,jQMC 确实是一个“速度狂”。对于模拟中的“变分蒙特卡洛”(VMC)部分——这就像是行走者学习窍门的练习赛——在 GPU 上运行的 jQMC 比传统软件在 CPU 上运行的速度快了高达十倍,甚至比尝试在 GPU 上运行的传统软件还要快。对于更为复杂的“扩散蒙特卡洛”(LRDMC)部分——即最后的决赛轮——jQMC 在 GPU 上的速度仍然快了约三倍。研究人员还测试了 jQMC 计算原子之间推力和拉力(这对于理解分子如何运动和反应至关重要)的能力。他们发现,对于乙醇分子,jQMC 的力计算极其精确,与金标准的“耦合簇”(coupled-cluster)理论误差在 1.5 kcal/mol/Å 以内。然而,对于另一种分子——丙酮醛,结果却与金标准大不相同,这表明即使有了这样一个强大的新工具,一些复杂的化学谜题仍然充满了惊喜。
简而言之,jQMC 是量子化学现代化的一次成功实验。它证明了通过重写规则以适应未来的硬件(GPU),科学家可以使这些复杂的模拟运行得更快,从而为研究更大、更复杂的系统开启了大门。虽然它并不能解决化学领域的所有奥秘,但它提供了一种更快速、更灵活的方式来应对我们已知的那些奥秘。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。