PSGPの無効化 (2)

先日のPSGPの話(id:NyaRuRu:20040819#p1)にちょっと補足ですが,D3DX算術関数の計算結果が異なるのは単純にFPU命令とSSE命令の間で計算精度が違うというだけの問題ではありません.次のような最適化も立派な容疑者です.こういう最適化がコンパイル時に行われることもあるので注意.

  • 演算子を変える最適化(除算を乗算で実装など)
  • 計算順序を変える最適化

まさに失って分かる群論的な性質のありがたみ.Fortranとベクトルプロセッサで数値計算を行う業界を中心に調べてみると割とごろごろ資料が転がっているようです.