GPUプログラミング
GPUで速く処理できる仕事の特徴として最も適切なものはどれか。
- A前の結果を使って次を計算する、1本につながった逐次の計算
- B大量のデータの各要素に、互いに独立した同じ計算を行う
- Cデータの量は少なく、条件分岐が非常に多い計算
答えと解説を見る
正解:B. 大量のデータの各要素に、互いに独立した同じ計算を行う
GPUは何千ものスレッドに同じ処理を割り振って並列に動かすので、画像の各画素の処理、行列の掛け算、ベクトルの演算のように、多数の要素を独立に計算できる仕事(データ並列)で力を発揮します。前の結果に依存する逐次の計算や、データが少なく分岐の多い計算では並列にできる部分が少なく、CPUの方が速いことがよくあります。
- A. 逐次の計算は並列にできないので、CPUが向いています。
- B. 正しい。データ並列の仕事に向いています。
- C. 分岐が多いとGPUの効率が下がります。