性能評価・プロファイリング

8コアで並列に実行したところ、1コアのときより6倍速くなった。並列効率はいくらか。

  1. A75%
  2. B133%
  3. C48%
答えと解説を見る

正解:A. 75%

並列効率は、速度向上率をコアの数で割った値で、コアがどれだけ有効に使われているかを表します。6÷8=75%なので、理想(8倍)に対して4分の3の効果が得られています。残りの25%は、同期の待ち、仕事の偏り、通信、メモリ帯域の取り合いなどで失われています。コアを増やすほど並列効率は下がりがちなので、効率がどこまで保てるかを見て、使うコアの数を決めます。

  • A. 正しい。6÷8=0.75です。
  • B. 8÷6として計算しています。
  • C. 6×8として計算しています。
この分野を解く 分野ページへ

性能評価・プロファイリングのほかの問題

  1. 性能を測るための仕組みを入れたことで、測りたいプログラムの動きそのものが変わってしまう現象を何と呼ぶか。
  2. プログラムの性能を改善するときの進め方として最も適切なものはどれか。
  3. 大量のデータを処理するプログラムで、最も大きな速度向上が得られる可能性が高い改善はどれか。
  4. ソフトウェアの開発で、変更のたびにベンチマークを自動で実行して結果を記録しておく目的として正しいものはどれか。
  5. ノートパソコンでベンチマークを測ったところ、同じプログラムでも結果が毎回大きくばらついた。CPUの側の原因として考えられるものと、その対策の組み合わせとして正しいものはどれか。