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 (自己無撞着場) 計算が行われます。同じオブジェクトを使用して、追加設定なしで勾配やヘッセ行列を計算することも可能です。
対象ユーザー
すでに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との相互運用性:既存のPySCFオブジェクトを
.to_gpu()でGPUオブジェクトに変換し、即座に計算を実行可能。 - 制限事項:基底関数系はg軌道まで (補助基底はiまで)、二重ハイブリッド汎関数は非対応。また、密度フィッティングはdef2-tzvpd基底を用いた場合、約168原子までCPUメモリの制限を受けます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト