4 回答

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個贊
sqrtss給出正確的舍入結(jié)果。 rsqrtss給出倒數(shù)的近似值,精確到大約11位。
sqrtss當(dāng)需要準(zhǔn)確性時,可以產(chǎn)生更準(zhǔn)確的結(jié)果。 rsqrtss存在一個近似值但需要速度的情況。如果您閱讀了英特爾的文檔,您還將發(fā)現(xiàn)一條指令序列(平方根的倒數(shù),后跟一個牛頓-拉夫森步長),幾乎可以提供全精度(如果我沒記錯的話,精度約為23位),并且仍然有些比快sqrtss。
編輯:如果速度至關(guān)重要,并且您實(shí)際上是在循環(huán)中調(diào)用許多值,則應(yīng)該使用這些指令的向量化版本,rsqrtps或sqrtps,這兩個指令每條處理四個浮點(diǎn)數(shù)。

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個贊
劃分也是如此。MULSS(a,RCPSS(b))比DIVSS(a,b)快得多。實(shí)際上,即使使用牛頓-拉夫森(Newton-Raphson)迭代來提高精度時,它仍然更快。
英特爾和AMD均在其優(yōu)化手冊中推薦了該技術(shù)。在不需要IEEE-754兼容的應(yīng)用程序中,使用div / sqrt的唯一原因是代碼可讀性。
- 4 回答
- 0 關(guān)注
- 1716 瀏覽
添加回答
舉報