[發(fā)明專利]一種基于數(shù)學(xué)近似的浮點程序精度缺陷修復(fù)方法有效
| 申請?zhí)枺?/td> | 201910033498.4 | 申請日: | 2019-01-14 |
| 公開(公告)號: | CN109840067B | 公開(公告)日: | 2021-04-20 |
| 發(fā)明(設(shè)計)人: | 毛曉光;陳立前;易昕;紀(jì)濤;王戟;董威;陳振邦;劉萬偉;劉江潮 | 申請(專利權(quán))人: | 中國人民解放軍國防科技大學(xué) |
| 主分類號: | G06F7/483 | 分類號: | G06F7/483;G06F11/07 |
| 代理公司: | 湖南兆弘專利事務(wù)所(普通合伙) 43008 | 代理人: | 周長清 |
| 地址: | 410073 湖南*** | 國省代碼: | 湖南;43 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 數(shù)學(xué) 似的 浮點 程序 精度 缺陷 修復(fù) 方法 | ||
一種基于數(shù)學(xué)近似的浮點程序精度缺陷修復(fù)方法,其步驟包括:步驟S1.預(yù)處理;步驟S2.定位精度缺陷:使用線性搜索算法查找包含能觸發(fā)精度缺陷的最小輸入?yún)^(qū)間Ierr;步驟S3.生成數(shù)學(xué)近似;步驟S4.補丁生成和優(yōu)化;步驟S5.補丁驗證:對最小輸入?yún)^(qū)間Ierr進行采樣,測試所有采樣輸入對應(yīng)的修復(fù)后的浮點程序的輸出是否滿足精度需求,若滿足則修復(fù)結(jié)束,若不滿足且分配的計算資源還未耗盡則返回S2重新執(zhí)行,若計算資源已經(jīng)耗盡,則返回修復(fù)未完成,修復(fù)結(jié)束。本發(fā)具有能夠提高修復(fù)能力、滿足給定精度需求等優(yōu)點。
技術(shù)領(lǐng)域
本發(fā)明主要涉及到浮點運算的技術(shù)領(lǐng)域,特指一種一種基于數(shù)學(xué)近似的浮點程序精度缺陷修復(fù)方法。
背景技術(shù)
浮點運算被廣泛應(yīng)用于航空航天、金融、科學(xué)計算、物理仿真等各個領(lǐng)域中。浮點數(shù)在計算機中用來近似表示實數(shù),由于浮點數(shù)的有限位數(shù)表示,浮點表示實數(shù)時可能會存在舍入誤差,比如實數(shù)上的0.1在64位浮點數(shù)表示為0.100000001490116119384765625。因此,在浮點數(shù)計算過程中不可避免的會引入誤差,特別是在浮點計算密集的浮點程序中,誤差可能累積和放大,使得程序輸出無法滿足用戶對結(jié)果的精度需求,產(chǎn)生精度缺陷。人工修復(fù)精度缺陷,需要維護人員有浮點運算和數(shù)值計算相關(guān)的專業(yè)知識,因此為了幫助維護人員修復(fù)精度缺陷,研究人員提出了浮點程序精度缺陷的修復(fù)方法。
浮點程序精度缺陷修復(fù)方法目的是修復(fù)精度缺陷。現(xiàn)有浮點程序精度缺陷修復(fù)方法主要包括以下三個步驟:
S1:定位精度缺陷,即找到引發(fā)精度缺陷的浮點表達式。
S2:補丁生成,即對定位到的浮點表達式使用數(shù)學(xué)規(guī)則進行變換生成新的表達式。
S3:補丁驗證,即判斷變換后的的浮點表達式相比于原表達式是否提升了精度,若提升,則返回新生成的表達式,否則執(zhí)行S2。
以上傳統(tǒng)的檢測方式,存在一些不足之處:
1、修復(fù)能力不足:通過誤差分析,可以發(fā)現(xiàn)引起精度缺陷主要是由于兩方面的原因:一是程序執(zhí)行過程中浮點計算引入的誤差累積;二是浮點程序所對應(yīng)的數(shù)學(xué)函數(shù)可能存在病態(tài)問題(條件數(shù)過大),導(dǎo)致浮點計算的誤差被放大。現(xiàn)有的技術(shù)只嘗試減少程序執(zhí)行過程中浮點計算引入的誤差來修復(fù)精度缺陷,沒有針對病態(tài)問題引發(fā)的精度缺陷的有效修復(fù)方法。
2、修復(fù)不能滿足給定的精度需求:現(xiàn)有技術(shù)主要基于數(shù)學(xué)規(guī)則,比如交換律、結(jié)合律等對引入誤差的浮點表達式進行重寫,重寫的結(jié)果可能能提升浮點表達式計算結(jié)果的精度,但由于重寫并沒有以一個給定精度需求為目標(biāo)進行修復(fù),可能無法滿足用戶給定的精度需求。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題就在于:針對現(xiàn)有技術(shù)存在的技術(shù)問題,本發(fā)明提供一種能夠提高修復(fù)能力、滿足給定精度需求的基于數(shù)學(xué)近似的浮點程序精度缺陷修復(fù)方法。
為解決上述技術(shù)問題,本發(fā)明采用以下技術(shù)方案:
一種基于數(shù)學(xué)近似的浮點程序精度缺陷修復(fù)方法,其步驟包括:
步驟S1.預(yù)處理;
步驟S2.定位精度缺陷:使用線性搜索算法查找包含能觸發(fā)精度缺陷的最小輸入?yún)^(qū)間Ierr;
步驟S3.生成數(shù)學(xué)近似:使用線性近似加誤差補償?shù)姆椒▉斫聘↑c程序在最小輸入?yún)^(qū)間Ierr對應(yīng)的數(shù)學(xué)函數(shù)執(zhí)行,并使用迭代精化算法來生成滿足給定精度需求的數(shù)學(xué)近似列表;
步驟S4.補丁生成和優(yōu)化:將生成的數(shù)學(xué)近似列表轉(zhuǎn)化為浮點程序補丁,然后對補丁執(zhí)行性能進行優(yōu)化;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國人民解放軍國防科技大學(xué),未經(jīng)中國人民解放軍國防科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910033498.4/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
- 數(shù)學(xué)式輸入裝置以及數(shù)學(xué)式修正方法
- 一種數(shù)學(xué)學(xué)習(xí)調(diào)查方法及裝置
- 基于實體組合的數(shù)學(xué)自然語言處理實現(xiàn)方法、系統(tǒng)
- 一種多用途學(xué)生用數(shù)學(xué)尺裝置
- 數(shù)學(xué)翻譯器、數(shù)學(xué)翻譯設(shè)備及平臺
- 一種數(shù)學(xué)學(xué)習(xí)輔助方法、系統(tǒng)及其裝置
- 基于虛擬現(xiàn)實的數(shù)學(xué)教學(xué)系統(tǒng)
- 一種數(shù)學(xué)符號輸入的裝置、方法、設(shè)備及存儲介質(zhì)
- 一種獲得數(shù)學(xué)對象標(biāo)注模型、數(shù)學(xué)對象標(biāo)注的方法和裝置
- 學(xué)具(幼兒數(shù)學(xué)智力學(xué)具)





