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 个原子)。
相关
- 项目
- 项目
- 项目
- 项目
- 项目