質問: ハイパースレッディングを用いたCPUで並列化の計算をする際、実際の計算では結局物理コア分しか並列化できないのでしょうか? pythonのmultiprocessで並列化をしたいのですが、コア数をmultiprocess.cpu_count()で獲得すると、ハイパースレッド分のコア数が出てきます。実際にこのコア数で計算されるのか気になりました。
回答: ハイパースレッディングはCPUのメモリ/キャッシュ読み込み等の待機時間で、別のスレッドの計算を行うことでCPUの計算効率を上げています。 物理コア数ほどの上昇は見込めませんが、幾分効率化はします。(さほど効率化しないパターンもあります。) 効果を確認するのであれば、Biosからハイパースレッディングの無効が選択できるため、有無での速度の違いを計測してみれば良いでしょう。