机器之心 03月06日
大规模实用化量子化学计算曙光显现,ByteDance Research开源工具集ByteQC
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

字节跳动ByteDance Research团队开源了ByteQC,这是一个基于GPU加速的大规模量子化学计算工具集。该工具集利用GPU算力,加速了常见的量子化学算法,并结合量子嵌入方法实现了高精度下的大规模量子化学体系模拟。ByteQC克服了GPU显存限制和复杂逻辑实现难题,通过引入高效计算库、优化缓存和实现原位操作等手段,实现了显著的加速效果。基准测试表明,ByteQC相比于100核CPU,标准量子化学算法最高可实现单A100 GPU 60倍加速,并大幅提升了可计算的体系规模。

🚀ByteQC利用GPU加速量子化学计算,克服了GPU显存受限和复杂逻辑难以高效实现的问题,实现了量子化学方法的高效GPU化。

🧮ByteQC在硬件层面,通过引入NVIDIA的cuTENSR/cuTENSORMG等高效张量计算库,并完善相关函数封装,实现了张量缩并的高效计算。

🔬ByteQC结合量子嵌入方法,在保持CCSD(T)精度的前提下,扩展了可计算的体系规模,例如在2,753轨道的水团簇问题和3,929轨道的氮化硼表面水吸附问题上实现了高精度计算。

📊基准测试显示,ByteQC的标准量子化学算法相比于100核CPU,最高可实现单A100 GPU 60倍加速,且大多数模块的多卡标度可达到线性加速。

2025-03-05 18:03 四川

GPU加速助力量子化学计算。

机器之心发布

机器之心编辑部


真实化学体系包含大量的微观粒子,其精确的严格计算需要指数高的复杂度,对这些体系的模拟一直是材料、制药和催化等领域的难点和前沿。


为了解决这一问题,近日字节跳动 ByteDance Research 团队开发并开源了 ByteQC —— 基于 GPU 加速的大规模量子化学计算工具集。该工具集使用强大的 GPU 算力,大幅度加速了常见的量子化学算法,同时结合领域内前沿的量子嵌入方法实现了量子化学「黄金标准」精度下的大规模量子化学体系的模拟。论文以大尺寸分子团簇,表面吸附问题为例,展示了 ByteQC 在真实材料计算中的应用潜力。




该论文作者中还包括 NVIDIA 和北京大学的合作者。


摘要


在大规模体系中应用量子化学算法需要大量的计算资源,并且计算资源的需求随着体系规模和所需精度的提高而增长。字节团队开发并发展了开源项目 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 指令实现了高效地求和。


图 2. 基于 warp 特例化的生产者-消费者模型


图 3. 基于 warp 同步原语的相邻 7 个线程的竞态求和


3. 优化缓存和简单高效的原位操作


ByteQC 的诸多代码实现均进行了详细的缓存分析,最大限度地实现了缓存的复用,减少了显存需求。此外大量地使用 Cupy 提供的 kernel 接口,通过 CUDA kernel 实现了原位操作,减少了显存的占用。


结果


基准测试表明相比于 100 核 CPU,ByteQC 的标准量子化学算法最高可实现单 A100 GPU 60 倍加速,大多数模块的多卡标度可达到线性加速。对应可以单 GPU 计算的体系规模也大幅提升:


 

图 4. ByteQC 的子模块加速比(数据点)和计算规模(虚线)


此外,结合 ByteQC 中提供的量子嵌入功能,团队在 2,753 轨道的水团簇问题和 3,929 轨道的氮化硼表面水吸附问题上均实现了 CCSD (T) 水平的「黄金标准」精度的计算。


图 5. (左)水团簇结构和(右)氮化硼表面水吸附结构


总结


字节跳动 ByteDance Research 团队开发并开源的 ByteQC 软件包克服了 GPU 开发过程中显存受限,复杂逻辑难以高效实现的问题,实现了量子化学方法的高效 GPU 化。


此外,结合量子嵌入方法,ByteQC 可以在保持 CCSD (T) 的精度的前提下,计算更大的规模。通过这些创新和优化,ByteQC 有望成为推动量子化学领域发展的工具。


© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:liyazhou@jiqizhixin.com

阅读原文

跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

ByteQC GPU加速 量子化学 字节跳动
相关文章