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

GPUを使うプログラムの性能を分析するとき、最初に確かめるべきこととして最も適切なものはどれか。

  1. AGPUのファンの回転の速さ
  2. BGPUのメモリの色
  3. C全体の時間のうち、カーネルの実行、CPUとGPUの間のデータの転送、CPU側の処理がそれぞれどれだけを占めるか
答えと解説を見る

正解:C. 全体の時間のうち、カーネルの実行、CPUとGPUの間のデータの転送、CPU側の処理がそれぞれどれだけを占めるか

GPUのプログラムでは、カーネルそのものが速くても、データの転送やCPU側の準備に時間がかかって、全体が速くならないことがよくあります。GPU向けのプロファイラで時間の流れを見て、どの部分がどれだけを占めるか、転送と計算が重なっているかを確かめます。カーネルが大部分を占めるなら、その中のメモリの使い方や占有率を調べ、転送が大部分なら転送を減らしたり重ねたりする工夫をします。

  • A. 冷却の状態は、性能の分析の最初の手がかりにはなりません。
  • B. 色は関係ありません。
  • C. 正しい。どこを改善するべきかが分かります。
この分野を解く 分野ページへ

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

  1. データセンターでサーバを選ぶとき、ピークの性能だけでなく考えるべき観点として当てはまらないものはどれか。
  2. 「新しい方法で100倍速くなった」という主張を評価するときに確かめるべき点として最も適切なものはどれか。
  3. SSDの性能を、連続の読み出しの帯域(MB/s)だけでなく、4 KBのランダムな読み出しのIOPS(1秒あたりの入出力の回数)でも示すことが多い理由として正しいものはどれか。
  4. 配列の大きさを少しずつ大きくしながら、配列を繰り返し読む処理の1要素あたりの時間を測ると、ある大きさごとに時間が段階的に増える。その理由として正しいものはどれか。
  5. プログラムのCPUでの実行時間を表す基本の式として正しいものはどれか。