Lattice in the Lettuce

The monologue of a scientist.

MOPAC2012のGPGPU

昨年度行っていたJ-OCTAの評価も一段落ついたので、Winmostarの環境を元に戻した。
元々Ab initioではWinmostar標準のWinGAMESSを使っていたが、これには並列コンピューティングにMSMPIが使われている。J-OCTAはPC-GAMESSが標準のためMPICH2となっており、この二つを混在させるとMPICH2が上手く動かなかったため、MSMPIを消してWinGAMESSを一時的にやめていた。もちろんWinmostarではPC-GAMESSも使えるからあまり問題はなく、そのままでも良かったが・・・。

どっちが速いとかはさておき、WinGAMESSは進捗状況が表示されるため、走り方を見ながら「あ〜こりゃ3日はかかるな」とか後の予定が立てやすいため、やはりWinGAMESSに戻してみた。

ついでにMOPAC2012も最新版にしておこうとダウンロードページを見に行って目についたのが、GPGPUによるアクセラレートが出来るソリューションだ。ライセンス的には問題なさそうなので、ついでに入れてみることにした。

インストール

特段難しい事はなく、Readmeを読むとCUDA 5.5を入れろ的な事が書いてあるので、入ってるか確認する。もともとクロスアビリティのXA-CHEMの関係で入ってるはずなので、コンパネを見てみるとやはり入っていた。

じゃこのままでも動くな、ってことでGPU対応版をダウンロードして、ライセンスファイルでアクティベーションして完了。CPU版とは別のフォルダに入れて様子を見ることに。

ちなみに手元マシンのスペックは、Core i7 3630QM 2.4GHz、GPUGeForce GT 650M。デカいノートPCである。メインにはi7 5960XのGPUがGTX980というのも(XA-CHEMのライセンス料の関係でGFにしてたり)あるが、とりあえずの評価は遅いPCで・・・とノートPCにしておいた。

動作

軽くモノマーを計算させてみたが、MP7でもEF程度では、CPU版でもマルチコア対応してるので1秒以下で終わってしまい、さっぱりベンチマークにならない。
反応計算させるのもなぁ・・・と、以前計算したことのあるオリゴマーを色々見ていたら、良さそうなのがあったのでこれに決めた。

http://designermoleculesinc.com/BMI-1500_%28R1203%29_-Imide_Extended_BMI_TDS.pdf

最近流行りのビスマレイミドである。アルキル鎖がクソ長いため分子量はそれなりにデカく、さらに重くするためにn数変えるのも楽そうなところがいい。分子量1500、原子数263である。

結果

まずCPUでの結果。

TOTAL JOB TIME: 122.24 SECONDS

Ab initioでやったら長期連休いっぱいかかっても終わらなそうだが、やはりMOPAC。速攻で終わる。

次にGPUでの結果。

TOTAL JOB TIME: 106.52 SECONDS

おおっ速くなってる凄い!ノートPCのしょぼいGPUでこれほど速いのは感動だ。
次はもうちょっと重い物をやってみようと思う。