「Hyper threadingが有効になっている場合、リソース競合を起こし、並列計算時の性能が低下する可能性がある」とされています。
(例えば、PGIコンパイラによる MS-MPI の使い方(Windows)の記載)
そこで、Hyperthreadingを有効にした場合と無効にした場合のWindows版GAMESSによる計算時間を比較してみました。
計算はそれぞれ3回ずつ実行し、平均値を採用しました。Speedは、1コアの場合に対する速度向上率を示します。
指定コア数が3の場合に、若干Hyperthreadingを無効にした場合の方が速くなっているが、全体的にはほとんど差がない。
4コアでの速度向上率は、Hyperthreadingを無効にした場合が3.23であるのに対し、Hyperthreadingを有効にした場合は3.33となった。
Hyperthreadingを有効にした場合、指定コア数をさらに増やして計算速度を測定してみました。
計算はそれぞれ3回ずつ実行し、平均値を採用しました。Speedは、1コアの場合に対する速度向上率を示します。
Windows 7でWindows版GAMESSを利用する場合、とくにHyperthreadingを無効にする必要はない。
注) ここで示した結果は、今回使用したデータ、計算方法および実行環境に依存するものです。従って、常に同様な結論が得られるということを主張するものではありません。
なお、Windows XP環境や古いCPUの場合は、Hyperthreadingを有効にすると計算速度が低下する場合があることが知られています。
2012 Copyright by Hiroshi Kihara