|
●概要 限界値とは、乗除算に関連するシステム変数で、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(短い方の桁数) を決める。
|