将
ScienceAI
设为
星标
第一时间掌握
新鲜的 AI for Science 资讯
编辑 | ScienceAI
真实化学体系包含大量的微观粒子,其精确的严格计算需要指数高的复杂度,对这些体系的模拟一直是材料、制药和催化等领域的难点和前沿。
为了解决这一问题,近日字节跳动 ByteDance Research 团队开发并开源了 ByteQC ——基于 GPU 加速的大规模量子化学计算工具集。
该工具集使用强大的 GPU 算力,大幅度加速了常见的量子化学算法,同时结合领域内前沿的量子嵌入方法实现了量子化学「黄金标准」精度下的大规模量子化学体系的模拟。
论文以大尺寸分子团簇,表面吸附问题为例,展示了 ByteQC 在真实材料计算中的应用潜力。
该论文作者中还包括 NVIDIA 和北京大学的合作者。
论文链接:
https://arxiv.org/abs/2502.17963
代码链接:
https://github.com/bytedance/byteqc
摘要
在大规模体系中应用量子化学算法需要大量的计算资源,并且计算资源的需求随着体系规模和所需精度的提高而增长。字节团队开发并发展了开源项目 ByteQC(ByteDance Quantum Chemistry)。
在硬件层面,ByteQC 在现代 GPU 上高效实现了多种标准量子化学算法,包括平均场计算(Hartree-Fock 方法和密度泛函理论)以及后 Hartree-Fock 方法(如 Møller-Plesset 微扰理论、随机相位近似、耦合簇方法和量子蒙特卡洛方法)。
在算法层面,ByteQC 提供了一种
量子嵌入方法
,该方法在保持量子化学「黄金标准」精度的同时,显著扩展了可计算的体系规模。
图 1:ByteQC 软件架构
方法
GPU 的显存显著小于 CPU 内存,同时架构的不同导致很多 CPU 可以高效实现的复杂逻辑在 GPU 上很难实现。为了解决这些问题 ByteQC 在开发过程中主要使用了以下方法:
1、引入
高效计算库
。
张量缩并是量子化学计算的主要热点之一,为此作者团队引入了 NVIDIA 提供的高效张量计算库
cuTENSR/cuTENSORMG
。
该计算库在最小占用显存的前提下高效计算张量缩并。作者团队完善了相关的函数封装,将其引入到了 Python / Cupy 的生态中。
2、高效实现复杂计算逻辑
。
在周期性体系屏蔽计算中需要在 GPU 上实现高效的动态生产者-消费者模型,作者团队提出使用动态的 warp 特例化高效实现。在平均场 Fock 矩阵构建中,涉及相邻任意多的线程竞态求和的问题。CUDA 自带求和函数并未针对该特殊情况优化,作者团队使用 warp 内的 shuffle 指令实现了高效地求和。