GPUによる量子化学シミュレーション 1

量子力学に基づくシミュレーション(量子シミュレーション)は、化学や材料化学で実験を理解、予測、主導するのにますます重要な役割を果たしている。実際量子化学は、計算機センターのCPU時間を相当使っている。化学の問題に対して量子力学が相当な予測能を持つ事は分かっているし、計算機能力が過去相当向上したため、量子化学は将来有望である。しかし計算能力が依然限られている事は、量子化学を様々な重要な問題、例えばもっと有効な医薬品や、環境問題を解決する新触媒の開発、に応用する際、依然深刻な問題である。そこでこのボトルネックを、新しい優れたアルゴリズムやコンピューターアーキテクチャの開発で、何とか解消したいというのが、この研究の目的である。

現在量子系のシミュレーションに最もよく使われているのは、密度汎関数法である。価電子ドブロイ波長よりはるかに大きい分子では、離れた部分の相関は無視できるので、近似的な独立性を使った効率良い解法(linear-scaling法)が確立されている。他方、近い部分の量子相関は、Gauss型基底関数を使い、波動関数を展開する方法が、不均一系でも効率の良い方法である。密度汎関数法を解く際必要になる、電子間反発積分や交換相関項の計算法もほぼ確立されている。つまり密度汎関数法では、理論やアルゴリズムが成熟し、これらの改良の余地は少ないため、計算機自体を工夫して高速化する強い動機がある。逆に、明らかに改良の余地ある理論を、効率良く実行するアルゴリズムや実装を考えるのは、時期尚早である。

そこで私は当時業界標準だったGaussian03プログラムを改造し、Gauss基底を使ったlinear-scaling 密度汎関数法を加速する事にした。Gaussianの密度汎関数法の計算速度や、分子の安定構造探索手法などは、改造に良く使われるGAMESSより優れている。元々遅いプログラムやアルゴリズムをGPUで加速する事には意味が無いので、我々は最良と思われる、高速多重極子法とdirect J engineを使う事にした。