計算機算術
非正規化数を多く含む計算で、一部のプロセッサでは処理が大きく遅くなることがある。そのため性能を優先する場面で使われる設定はどれか。
- A非正規化数になる結果や入力を0とみなす設定(フラッシュ・トゥ・ゼロ)
- Bすべての計算を倍精度から単精度に自動で変換する設定
- C非正規化数を見つけたらプログラムを停止させる設定
答えと解説を見る
正解:A. 非正規化数になる結果や入力を0とみなす設定(フラッシュ・トゥ・ゼロ)
非正規化数は先頭の1を仮定しない特別な形なので、一部のプロセッサでは高速な回路で処理できず、マイクロコードなどで時間をかけて処理し、通常の何十倍も遅くなることがあります。音声処理やAIなど、0にごく近い値を正確に扱う必要がない場面では、非正規化数を0として扱うフラッシュ・トゥ・ゼロの設定にして速度を保ちます。その代わり、0の近くの精度と、漸進アンダーフローの性質は失われます。精度を一律に変えたり、停止させたりはしません。
- A. 正しい。非正規化数を0とみなして遅くなるのを防ぎます。
- B. 精度を一律に変える設定ではありません。
- C. 停止させてしまっては計算が進みません。