合計 32 コアのサーバーでデュアル CPU を大幅に高速化するために OpenMP を利用するプログラムがあります。私が使用している入力パラメータでは、CPU を完全にロードすることはできません。
今日、いくつかのコアが別のプログラムによって 100% ロードされました。プログラムを起動すると、CPU の負荷がいつものようにかなり高い (~2500%) 場合でも、非常に遅くなりました。並列命令を削除したところ、パフォーマンスが向上したことに気付きました。
これはメモリ帯域幅の制限によるものでしょうか? 問題をさらに調査し、最終的にコードを改善するにはどうすればよいですか?