Hyperthreadingを有効にした場合の計算速度への影響について

「Hyper threadingが有効になっている場合、リソース競合を起こし、並列計算時の性能が低下する可能性がある」とされています。
(例えば、PGIコンパイラによる MS-MPI の使い方(Windows)の記載)

そこで、Hyperthreadingを有効にした場合と無効にした場合のWindows版GAMESSによる計算時間を比較してみました。

実行方法などについて

使用機種のCPU
Intel  i7-960  3.2GHz 4コア
実行方法
Windows 7 64ビット版のコマンドプロンプト
使用プログラム
gamess.11-64.exe
計算方法
HF 6-31Gd Single Point
使用データ
モネシン骨格  Monensin-631Gd-gm.inp

モネシンの構造

Hyperthreadingを有効にした場合と無効にした場合の比較

計算はそれぞれ3回ずつ実行し、平均値を採用しました。Speedは、1コアの場合に対する速度向上率を示します。

HyperthreadingをOnにした場合とOffにした場合の比較

指定コア数が3の場合に、若干Hyperthreadingを無効にした場合の方が速くなっているが、全体的にはほとんど差がない。

4コアでの速度向上率は、Hyperthreadingを無効にした場合が3.23であるのに対し、Hyperthreadingを有効にした場合は3.33となった。

Hyperthreadingを有効にした場合の計算速度

Hyperthreadingを有効にした場合、指定コア数をさらに増やして計算速度を測定してみました。

計算はそれぞれ3回ずつ実行し、平均値を採用しました。Speedは、1コアの場合に対する速度向上率を示します。

Hyperthreadinが有効な場合の計算速度

結 論

Windows 7でWindows版GAMESSを利用する場合、とくにHyperthreadingを無効にする必要はない。

注) ここで示した結果は、今回使用したデータ、計算方法および実行環境に依存するものです。従って、常に同様な結論が得られるということを主張するものではありません。
なお、Windows XP環境や古いCPUの場合は、Hyperthreadingを有効にすると計算速度が低下する場合があることが知られています。

Return

2012 Copyright by Hiroshi Kihara