2009年5月23日作成 ,2009年8月9日加筆修正
PCの性能向上,特にマルチコアCPUの台頭や,高速で精度の比較的高いDFT法の発達によって,家庭でもかなりのサイズの分子を,高精度な量子化学計算で扱えるようになりました.現在のところ,ほとんどのPCはx86アーキテクチャに基づくCPUを使用しており,AMDとIntelが二大メーカです.今回は,AMDのPhenom II X4 940(Deneb,定格3.0 GHz)とIntelのXeon 3360(Penryn,定格2.83 GHz,Core 2 Quad Q9550同等品)を用いて,無料で使用できるPC GAMESS/Firefly,GAMESSのベンチマークを実際の計算環境で行い,CPUの性能を比較検討してみました.
| CPU | Phenom II X4 940 Black Edition(3.0GHz) | Xeon X3360(2.83GHz) |
|---|---|---|
| メモリ | unbuffered ECC DDR2-800, 2GB × 4(dual channel) | DDR2, 2GB × 2(dual channel) |
| HDD(計算領域) | Barracuda 7200.10, 500 GB × 2 (RAID0) | Barracuda 7200.10, 500 GB × 2 (RAID0) |
| OS | openSUSE 11.1 | openSUSE 11.0 |
| Cコンパイラ | gcc 4.3.2 | gcc 4.3.1 |
| Fortranコンパイラ | ifort 11.0.08 (-xOオプションを使用) | ifort 11.0.08 (-xTオプションを使用) |
| BLAS | GotoBLAS 1.26 | MKL 10.1.1.019 |
使用したバージョンは7.1.FのMPICH並列化バージョンで,速度の比較はB3PW91/DZV(d,p)レベルのバニリンの構造最適化計算で行いました.なお,すべての計算は4コアを使用して行いました.
| CPU | クロック周波数/GHz | 計算時間/秒 |
|---|---|---|
| Phenom II X4 940 | 2.8 | 470.4 |
| Phenom II X4 940 | 3.0 | 443.9 |
| Phenom II X4 940 | 3.2 | 420.8 |
| Phenom II X4 940 | 3.4 | 403.8 |
| Xeon X3360 | 2.83 | 435.2 |
クロックあたりの速度ではXeon X3360(Core 2 Quad Q9550同等品)の方が高速な模様で,Xeon 2.83GHzはPhenom IIの3.1GHzくらいに相当しそうです.
また,Phenom IIの結果から,クロックと計算時間は単純な直線関係ではない模様です.
使用したバージョンは12 JAN 2009 (R1)です.計算速度の比較は,B3PW91/MIDIレベルでのバニリンの構造最適化計算で行いました.PC GAMESS/Fireflyのときより小さな基底関数を使用しているのに注意.なお,4コアのDDI並列計算です.
結果は以下の表の通りです.
| CPU | クロック周波数/GHz | 計算時間/秒 |
|---|---|---|
| Phenom II X4 940 | 2.8 | 587.8 |
| Phenom II X4 940 | 3.0 | 552.3 |
| Phenom II X4 940 | 3.2 | 519.7 |
| Phenom II X4 940 | 3.4 | 488.0 |
| Xeon X3360 | 2.83 | 557.2 |
今回はIntelのFortranコンパイラを使ったりしているので,まあ,PGIのコンパイラあたりでも試してみたいところですが,Phenom II 3.0GHzがXeon 2.83GHzとが同じくらいの計算速度でした.
ちなみにPhenom IIの結果を見る限り,GAMESSは計算速度とクロック周波数がほぼ比例している模様です.
なお,Phenom II 3.2GHzでバニリンの構造最適化をB3PW91/DZV(d,p)レベルで行うと1168.3秒かかり,先に記したPC GAMESS/Firefly 7.1.Fの2.8倍近く遅いという結果でした.
実計算環境における,クロックあたりの計算効率はIntelのXeon(Core 2,Penryn)がPhenom II(Deneb)に比べて一歩リードしているようですが,わずかな差で,数日以上かかる計算でないと,あまりその差を意識する必要はなさそうです.なお,消費電力についてはCore 2の方が小さいと言われてますので,この点ではCore 2は有利でしょう.
一方で,AMDのPhenom IIはCore 2と比べてクロックあたりの値段が安い(Core 2 Quad Q9550, 1MHz単価9.5円; Phenom II X4 940,1MHz単価6.6円.参考: CPU最安値情報 2009年5月22日)ため,クロックあたりの計算効率が劣っていても,より安価に高クロックな製品を購入できるので,クロックあたりの計算効率の差を埋めることができます.また,中程度の価格のマザーボードでもECCメモリに対応しているといった特徴があります.最近のメモリは安価のものでも比較的よくできているのでECCが必須という感じはしませんが,まあ,メモリ容量も大きくなってきているので,長時間計算を回すのならば,信頼性を確保するためにはあった方がよいでしょう.
したがって,コストや信頼性の面を重視するならPhenom IIが,消費電力を重視するならCore 2がよいでしょう.