GPUプログラミング

家庭用のゲーム向けGPUの多くで、倍精度(FP64)の計算性能が単精度(FP32)よりずっと低い(数十分の一など)理由として最も適切なものはどれか。

  1. AグラフィックスやAIでは単精度以下で足りるので、回路の面積を倍精度の演算器に多く割いていないから
  2. B倍精度の計算は物理的に不可能だから
  3. C倍精度の計算は、CPUにしか許されていないから
答えと解説を見る

正解:A. グラフィックスやAIでは単精度以下で足りるので、回路の面積を倍精度の演算器に多く割いていないから

倍精度の演算器は単精度の数倍の面積と電力を使います。ゲームの画像やAIの推論では単精度や半精度で十分なので、家庭用のGPUは倍精度の演算器を少なくして、その分を単精度などに回しています。気象や流体のシミュレーションのように倍精度が必要な科学技術計算には、倍精度の性能を高めたデータセンター向けのGPUが使われます。

  • A. 正しい。科学技術計算向けの製品は倍精度を強化しています。
  • B. 倍精度の計算もできますが、遅いだけです。
  • C. そのような決まりはありません。
この分野を解く 分野ページへ

GPUプログラミングのほかの問題

  1. 最近のGPUに搭載されているテンソルコア(行列演算ユニット)の特徴として正しいものはどれか。
  2. GPUの混合精度の計算で、掛け算をFP16などの低い精度で行い、足し合わせ(累積)をFP32で行うことが多い理由として正しいものはどれか。
  3. GPUで同じデータの浮動小数点数の総和を求めたところ、実行するたびに結果の最後の桁がわずかに違った。最も考えられる原因はどれか。
  4. CUDAで1ブロックあたりのスレッドの数を決めるときの一般的な目安として正しいものはどれか。
  5. 上のようなループ(グリッドストライドループ)でカーネルを書く利点として正しいものはどれか。