基于SCILAB的多精度算法研究與實(shí)現(xiàn)
發(fā)布時(shí)間:2021-09-24 12:22
當(dāng)前,通用處理器一般支持64位浮點(diǎn)運(yùn)算,在大規(guī)模和長(zhǎng)時(shí)程數(shù)值計(jì)算中,由于浮點(diǎn)運(yùn)算的舍入誤差累積效應(yīng),可能導(dǎo)致數(shù)值結(jié)果不可信。因此,有效控制誤差,設(shè)計(jì)高精度、高效可靠的浮點(diǎn)數(shù)值算法至關(guān)重要;赟CILAB軟件平臺(tái),通過使用無誤差變換和double-double數(shù)據(jù)格式,實(shí)現(xiàn)了高精度的算法庫。對(duì)冪指數(shù)、Bernstein和Chebyshev基多項(xiàng)式函數(shù)估值,在Intel平臺(tái)和國(guó)產(chǎn)飛騰處理器平臺(tái)上進(jìn)行了數(shù)值實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果證實(shí)了該高性能數(shù)值算法庫的有效性。該多精度算法庫具有獨(dú)立知識(shí)產(chǎn)權(quán),可有效應(yīng)用于國(guó)產(chǎn)自主可控處理器平臺(tái),為國(guó)家重大科研項(xiàng)目提供技術(shù)支持。
【文章來源】:計(jì)算機(jī)工程與科學(xué). 2020,42(11)北大核心CSCD
【文章頁數(shù)】:7 頁
【部分圖文】:
應(yīng)用double和double-double數(shù)據(jù)格式的
數(shù)值實(shí)驗(yàn)使用Bernstein基對(duì)多項(xiàng)式 p(t)=( t-0.75 ) 7 ( t-1 ) 進(jìn)行展開,并計(jì)算其在重根t=0.75附近的函數(shù)值。在[0.74995,0.75005]中取8 000個(gè)均勻點(diǎn),圖2是DC算法和DC_DD算法在p(t)的Bernstein基展開式下計(jì)算得到的結(jié)果。經(jīng)統(tǒng)計(jì),DC算法的運(yùn)行時(shí)間time_d=1.460,DC_DD算法的運(yùn)行時(shí)間time_dd=54.76,兩者運(yùn)行時(shí)間比為time_dd/time_d=44.73。DC算法的浮點(diǎn)計(jì)算量為1.5n2+1.5n+1,DC_DD算法的浮點(diǎn)計(jì)算量為33n2+33n+2,后者的運(yùn)行時(shí)間是前者的44.73倍,浮點(diǎn)計(jì)算量是前者22倍。效率變慢的原因同樣是更多函數(shù)加載和調(diào)用。
從圖3可以看出,同Clenshaw算法相比,Clenshaw_DD算法給出了較為光滑的曲線,有更好的計(jì)算結(jié)果。經(jīng)統(tǒng)計(jì),Clenshaw算法所用平均時(shí)間time_d=0.876,Clenshaw_DD算法所用平均時(shí)間time_dd=30.28。兩者運(yùn)行平均時(shí)間之比time_dd/time_d=43.69。Clenshaw算法的浮點(diǎn)計(jì)算量為3n+4,Clenshaw_DD算法的浮點(diǎn)計(jì)算量為52n+53。采用double-double格式,在計(jì)算量提高14倍的情況下,運(yùn)行時(shí)間增加了43.49倍,造成效率低效的原因是更多的函數(shù)加載和調(diào)用。
本文編號(hào):3407743
【文章來源】:計(jì)算機(jī)工程與科學(xué). 2020,42(11)北大核心CSCD
【文章頁數(shù)】:7 頁
【部分圖文】:
應(yīng)用double和double-double數(shù)據(jù)格式的
數(shù)值實(shí)驗(yàn)使用Bernstein基對(duì)多項(xiàng)式 p(t)=( t-0.75 ) 7 ( t-1 ) 進(jìn)行展開,并計(jì)算其在重根t=0.75附近的函數(shù)值。在[0.74995,0.75005]中取8 000個(gè)均勻點(diǎn),圖2是DC算法和DC_DD算法在p(t)的Bernstein基展開式下計(jì)算得到的結(jié)果。經(jīng)統(tǒng)計(jì),DC算法的運(yùn)行時(shí)間time_d=1.460,DC_DD算法的運(yùn)行時(shí)間time_dd=54.76,兩者運(yùn)行時(shí)間比為time_dd/time_d=44.73。DC算法的浮點(diǎn)計(jì)算量為1.5n2+1.5n+1,DC_DD算法的浮點(diǎn)計(jì)算量為33n2+33n+2,后者的運(yùn)行時(shí)間是前者的44.73倍,浮點(diǎn)計(jì)算量是前者22倍。效率變慢的原因同樣是更多函數(shù)加載和調(diào)用。
從圖3可以看出,同Clenshaw算法相比,Clenshaw_DD算法給出了較為光滑的曲線,有更好的計(jì)算結(jié)果。經(jīng)統(tǒng)計(jì),Clenshaw算法所用平均時(shí)間time_d=0.876,Clenshaw_DD算法所用平均時(shí)間time_dd=30.28。兩者運(yùn)行平均時(shí)間之比time_dd/time_d=43.69。Clenshaw算法的浮點(diǎn)計(jì)算量為3n+4,Clenshaw_DD算法的浮點(diǎn)計(jì)算量為52n+53。采用double-double格式,在計(jì)算量提高14倍的情況下,運(yùn)行時(shí)間增加了43.49倍,造成效率低效的原因是更多的函數(shù)加載和調(diào)用。
本文編號(hào):3407743
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3407743.html
最近更新
教材專著