pyscf/gpu4pyscf

A plugin to use Nvidia GPU in PySCF package

解决的问题

Hartree-Fock (HF) 和密度泛函理论 (DFT) 等量子化学计算对计算资源要求极高,尤其是对于大型分子或周期性体系。在 CPU 上运行这些计算可能需要数小时甚至数天。该插件将繁重的数学运算卸载到 NVIDIA GPU 上,在基准测试中将运行时间缩短了 10-30 倍。

工作原理

它作为 PySCF 框架的即插即用 GPU 后端。您只需安装与您的 CUDA 版本 (11.x, 12.x, 或 13.x) 匹配的预构建包,并可选择添加 cuTENSOR 以加速张量收缩。在 Python 脚本中,您创建一个标准的 PySCF 分子对象,然后对平均场对象调用 .to_gpu() 方法将其移动到 GPU 上。随后,.kernel() 方法会在 GPU 上执行 SCF (自洽场) 计算。同一个对象无需额外设置即可计算梯度和 Hessian 矩阵。

适用人群

适用于已经使用 PySCF 进行分子或周期性模拟,并拥有 NVIDIA GPU (计算能力 7.0 或更高,例如 V100, RTX 20 系列及后续型号) 的计算化学家、材料科学家和研究人员。它旨在帮助用户在不重写代码的情况下加速现有的 PySCF 工作流。

主要亮点

  • 支持分子和周期性 Hartree-Fock 和 DFT、解析导数、激发态、溶剂模型、性质计算、几何优化和非绝热动力学。
  • 安装简单:pip install gpu4pyscf-cuda12x (根据您的 CUDA 版本调整),并可选择安装 cutensor 以获得更好的性能。
  • 基准测试显示,在 A100 GPU 上,对于使用各种泛函 (LDA, PBE, B3LYP, M06, wB97M-V) 的密度拟合 SCF 计算,相比 32 核 CPU 上的 Q-Chem 实现了 10-30 倍的加速。
  • 与 PySCF 的互操作性:通过 .to_gpu() 将现有的 PySCF 对象转换为 GPU 对象并立即运行计算。
  • 局限性:基组仅支持到 g 轨道 (辅助基组到 i),不支持双杂化泛函,且密度拟合受限于 CPU 内存 (对于 def2-tzvpd 基组约为 168 个原子)。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目