⚛️

GANSUで始める量子化学計算:これまでより2.7倍、PySCFに対して15倍の高速化を達成

に公開

GANSUで始める量子化学計算:これまでより2.7倍、PySCFに対して15倍の高速化を達成

これまでZennで連載してきたGPU対応量子化学ソフトウェア「GANSU」ですが、このたびハートリーフォック(RHF)計算において、これまで以上の大幅な高速化を実現しました。今回は、その成果をベンチマーク結果を交えてご報告します。

https://zenn.dev/comp_lab/articles/29e73268f402b6

従来の記事では、GANSUの導入方法や基本的な使用方法に焦点を当ててきましたが、本記事では、内部的な実装の最適化によりどの程度計算速度が向上したのかを、具体的なデータとともに紹介します。

ベンチマーク結果:PySCF比で最大15.1倍、旧GANSU比で最大2.7倍の高速化

以下のグラフは、複数の分子についてRHF計算を実行した際の、SCF収束までの実行時間(秒)を示しています。比較対象として、Pythonベースの量子化学パッケージ PySCF、および2025年3月時点で公開していた旧バージョンのGANSUを含めています。

計算時間の比較

測定環境:NVIDIA A100 + Intel Xeon Gold 6338 CPU
条件:6-31G基底を用いて各分子のRHF計算を実施。SCF収束までの時間を測定。

PySCFと比較して最大で15.1倍、旧GANSUと比べても最大2.7倍の高速化が確認できました。どの分子に対しても1秒以内の計算時間だったのを更に短縮しました。

最適化のポイント

今回の高速化は、以下の2点の最適化によって実現されました。

1. 1電子積分のGPUコードの最適化

従来の実装では、1電子積分(運動エネルギー、核−電子引力)において、GPU処理の一部が非効率な構造になっていました。今回の最適化により、これらの計算の並列処理効率が改善され、特に原子数や基底関数の数が増えた場合に前処理時間が短縮されています。

2. 2電子積分カーネルの呼び出し最適化

RHF計算のボトルネックである2電子積分処理について、CUDAカーネルの呼び出し方法を見直しました。具体的には、バッチ単位でのカーネル統合や非同期実行(CUDA Streamsの利用)によって、GPU内の計算ユニットの使用率を高めることができました。これにより、全体の処理時間が大きく削減されました。

これらの改良は、いずれも個別には小さな変更ですが、積み重ねによって計算全体におけるパフォーマンスに大きな差が生まれています。

今後の展望

GANSUは、「実践的な高速量子化学計算を可能にするGPUベースのソフトウェア」を目指して、引き続き開発を進めています。今後の開発予定としては、以下のような項目を想定しています:

  • Fock行列構築およびSCFループのさらなる最適化
  • MP2やCC、CIといったポストHF法のGPU実装
  • 密度フィッティング(RI法)による2電子積分コストの削減
  • Direct-SCFによる巨大な分子系のサポート

まとめ

  • GANSU最新版では、RHF計算においてPySCF比で最大15.1倍旧GANSU比で最大2.7倍の高速化を実現
  • 最適化の主なポイントは、1電子積分と2電子積分のGPU処理の見直し
  • 今後もさらなる高速化と機能拡張を予定

https://zenn.dev/comp_lab/articles/29e73268f402b6

広島大学コンピューティングラボ

Discussion