Windows Compute Cluster Server の研究を続けています。このシステムは、64bit-CPU を前提に作られていて、プラットホーム自体は 64bit 専用なのですが、アプリケーションは 32bit も動作します。
これまでは、何も考えず 32bit の姫野ベンチマークプログラムなどを用いて、計算速度を検証してきましたが、今回 64bit との比較検討ができましたので、報告します。
測定の方法は、姫野ベンチのMPIによる並列版のC言語プログラムで、問題サイズはSで、分割を1・2・4の3種を試しました。コンパイルの方法は、前と同じ cl /O2 himenoBMTxps.c /ling msmpi.lib です。
32bit と 64bit との違いは、コンパイルに用いるライブラリと、コンパイラの設定で、以下のような違いになります。
32bit-EXE:Visual Studio 2005 コマンドプロンプト:Lib/i386/msmpi.lib を利用
64bit-EXE:Visual Studio 2005 x64 Win64 コマンドプロンプト:Lib/AMD64/msmpi.lib を利用
利用する Compute Host は、以下の4台です。
A1: CPU: AMD Athlon64 3000+ RAM: 2048MB A2: CPU: AMD Athlon64 3000+ RAM: 2048MB
C1: CPU: Intel Celeron 2.53GHz RAM: 512MB C2: CPU: Intel Celeron 2.53GHz RAM: 512MB
1台:Aの平均 880.5(32) → 970.6(64) = 10%の向上
1台:Cの平均 611.0(32) → 793.2(64) = 30&の向上
2台:Aの平均 1348.2(32) → 1437.7(64) = 7%の向上
2台:Cの平均 1000.8(32) → 1202.8(64) = 20%の向上
4台: A+C平均 1332.5(32) → 1561.7(64) = 17%の向上
と、言うことで、64bit の効果は、非常に大きいものがあります。特に、Celeron の方が著しい性能向上です。
これまでは、何も考えず 32bit の姫野ベンチマークプログラムなどを用いて、計算速度を検証してきましたが、今回 64bit との比較検討ができましたので、報告します。
測定の方法は、姫野ベンチのMPIによる並列版のC言語プログラムで、問題サイズはSで、分割を1・2・4の3種を試しました。コンパイルの方法は、前と同じ cl /O2 himenoBMTxps.c /ling msmpi.lib です。
32bit と 64bit との違いは、コンパイルに用いるライブラリと、コンパイラの設定で、以下のような違いになります。
32bit-EXE:Visual Studio 2005 コマンドプロンプト:Lib/i386/msmpi.lib を利用
64bit-EXE:Visual Studio 2005 x64 Win64 コマンドプロンプト:Lib/AMD64/msmpi.lib を利用
利用する Compute Host は、以下の4台です。
A1: CPU: AMD Athlon64 3000+ RAM: 2048MB A2: CPU: AMD Athlon64 3000+ RAM: 2048MB
C1: CPU: Intel Celeron 2.53GHz RAM: 512MB C2: CPU: Intel Celeron 2.53GHz RAM: 512MB
1台:Aの平均 880.5(32) → 970.6(64) = 10%の向上
1台:Cの平均 611.0(32) → 793.2(64) = 30&の向上
2台:Aの平均 1348.2(32) → 1437.7(64) = 7%の向上
2台:Cの平均 1000.8(32) → 1202.8(64) = 20%の向上
4台: A+C平均 1332.5(32) → 1561.7(64) = 17%の向上
と、言うことで、64bit の効果は、非常に大きいものがあります。特に、Celeron の方が著しい性能向上です。