PC GAMESS 7.1.0 RC 並列MP2続報
PC GAMESSのサイトにnew mp2 gradient code documentationが公開されています。これを参考に入力ファイルを調整し、実用的なベンチマークという意味で、電子数208の有機分子(第1~第3周期の元素を含む)を種々のモデル化学でGradient計算してみました。Gradient計算で、最適化1サイクルあたりの時間が大体分かるので、実験計画を立てやすいというのが理由です。
| Model Chemistry | Basis Functions | Memory(MW) | Wall Clock Time(sec) | rel.Time |
| HF/3-21G(d) | 299 | 1.5 | 97.6 | 1.00 |
| B3LYP/3-21G(d) | 299 | 2.5 | 278.2 | 2.85 |
| MP2/3-21G(d) | 299 | 9.6 | 751.8 | 7.70 |
| HF/DZVP | 449 | 3.1 | 1048.8 | 10.75 |
| B3LYP/DZVP | 449 | 4.5 | 1509.1 | 15.46 |
| MP2/DZVP | 449 | 21 | 5207.9 | 53.36 |
HF, B3LYPについては
$p2p p2p=.t. dlb=.t. $end
$smp csmtx=.t. $end
MP2については
$p2p p2p=.t. dlb=.t. xdlb=.t. $end
$smp csmtx=.t. $end
$mp2 method=1 $end
のオプションにて計算を実施(HF,DFTはp2pでなくても並列計算できますが、MP2に合わせるということと、p2pを使った方が少し計算が速いため)。
MP2も結構健闘していて、基底関数が大きくなるとHFに接近する傾向があります(DFTほどではないですが)。メモリの消費量は他の二つに比べて増えますが、上記オプションを使うことでエネルギー計算の際の(異常なメモリ消費による)ロスはなくなります(400 Basis Functionsの系で700秒短縮(2000→1300)されました!)。
前回のグラフでも分かるように、小さい系(<200 Basis Functions)ならMP2はDFTよりも高速ですので、その辺ではかなり使えそう。そしてある程度大きい系でもDFTでは扱えない相互作用を扱うのにMP2は必要ですから、これぐらいのスケールで収まったのは実務上大きいですね。