ホーム ] PC技術/システム技術 ] VB.NETプログラミング ] なるほどナレッジ ] インフォメーション ]

上へ
基本事項
ソフトウェア構成
UltraLong構造体
UltraMath
FFT
プログラミング例
UltraPrecisionユーティリティ
FFT試験
レガシ演算速度
FFT演算速度
数値/浮動小数点/精度
定数システム
レガシ四則算
FFT乗算
ニュートン法
逆数法
数学関数
時間評価システム
限界値自動決定システム
数学定数算出

UltraMath

限界値自動決定システム

最終更新日:2006/06/12  更新

●概要

 限界値とは、乗除算に関連するシステム変数で、FFTLimit、ReciproLimit、MulSLimit のことであるが、これらの値は、固定ではなく、実装された環境で決まる変数となる。つまり、総合的な演算能力で変動する。最適値は、システム毎に実測すべき値となる。

●内容

 演算時間評価システムで述べた各種演算時間表をもとに、それぞれのシステム変数の最適値を決定する。決定された値は、システムにて保存され維持される。

●原理

○FFTLimit

 FFT乗算時間は非線形(2N を変異点とする階段波形)で変化し、レガシ乗算は二次関数で変化するので、大小関係は下図のように複雑になる。

 十分に大きい桁数から開始し 8 桁づつ減少させながら、FMul と LMul の時間を比較し、初めて、LMul の時間が小さくなった桁数をFFTLimit とする。

○ReciproLimit

 FFTLimit と同じく、関係は複雑となる。RDivもFFT系なので、非線形となるが、2N + 1 、2N+1  間はFFT乗算のように一定ではなく単調増加する。十分に大きい桁数から開始し 8 桁づつ減少させながら、RDiv と LDiv の時間を比較し、初めて、LDiv の時間が小さくなった桁数をReciproLimit とする。

○MulSLimit

 FMul と MulS の時間は下図のような関係となる。MulS の場合は、直線となる。短い方の桁数が、どの値であれば、全ての範囲で、FMul 時間より、MulS 時間が小さくなるかで、MulSLimit(短い方の桁数) を決める。