異構系統中基于數據表精簡技術的超越函數訪存優化方法
【專利摘要】本發明涉及一種異構系統中基于數據表精簡技術的超越函數訪存優化方法,首先采用MathDataReduce算法壓縮數學函數數據表;然后采用立即數尋址方式將數據寫入指令中;通過分支跳轉指令獲取寫入的數據,消除函數實現中的訪存操作。本發明在運算控制核心和運算核心相結合的異構眾核高性能計算機系統中,對基礎數學庫中采用多項式和查表相結合算法實現的超越函數使用數據表精簡技術實現訪存優化,減少寫入數據的指令與分支判斷跳轉指令數目,降低增加指令數目對數學函數的性能影響,有效提升數學函數的性能。
【專利說明】
異構系統中基于數據表精簡技術的超越函數訪存優化方法
技術領域
[0001] 本發明設及異構眾核高性能計算機系統中高性能數據處理技術領域,特別設及一 種異構系統中基于數據表精簡技術的超越函數訪存優化方法。
【背景技術】
[0002] 隨著高性能計算機的蓬勃發展,處理器技術朝著眾核發展,其運算性能不斷提升, 而存儲器帶寬提升相對較慢,"存儲墻"問題更加突出。數學函數庫作為處理器配套系統軟 件的重要組成部分,是高性能計算機平臺上各領域特別是科學計算與工程數值計算領域應 用軟件開發所必備的最基礎、最核屯、的軟件之一。目前數學函數庫中超越函數算法已基本 成熟,采用多項式與查表結合的算法,即規約(reduction)、逼近(approximation),W及重 建(reconstruction)。具體實現如下:
[0003] 設實現的函數為f,定義域為I,則算法分=步:
[0004] Reduction:對于XG I,尋找最接近X的斷點Cjk,
[000引 r = R(x,Cjk),最典型的例子:R(X,CjO=X-Cjk
[0006] App;roximation:f(;r)>p(;r),通常P(T)是多項式
[0007] f(r)=S(f(cjk),f(r))
[000引 ^=S(f(Cjk),p(r))
[0009] Reconstruction: >5(化,P(T))
[0010] S是重建函數,Tk是存儲在表中的f (Cjk)的近似值。
[0011] 由于查表有大量的訪存操作,因此,在高性能平臺上,"存儲墻"問題成為超越函數 優化面臨的關鍵問題之一。近幾年,隨著計算機和信息技術的迅猛發展和普及應用,應用系 統的規模也迅速擴大,應用所產生的數據呈爆發式增長,因而需要更高的性能處理數據。因 此,為了滿足應用的高性能需求,需抓住訪存運一時間消耗熱點,對其進行深度優化。
[0012] 目前,訪存優化方法主要有提高cache命中率和隱藏訪存延時。上述兩項方法雖然 可W-定程度上提高性能,但提高cache命中率方法會受到硬件體系結構的限制,隱藏訪存 延時方法會受到依賴關系的影響,訪存優化效果有限且并不能減少訪存操作的實際時間消 耗。
【發明內容】
[0013] 為克服現有技術中的不足,本發明提供一種異構系統中基于數據表精簡技術的超 越函數訪存優化方法,解決異構眾核高性能平臺上"存儲墻"問題對數學函數性能的影響, 訪存優化效果好,大大減少訪存操作的實際時間消耗。
[0014] 按照本發明所提供的設計方案,一種異構系統中基于數據表精簡技術的超越函數 訪存優化方法,包含如下步驟:
[0015] 步驟1、采用MatMa化Reduce算法,壓縮數學函數的數據表;
[0016] 步驟2、針對經過步驟1壓縮后的數據表,采用立即數尋址方式將數據寫入指令中。
[0017]步驟3、通過分支跳轉指令獲取寫入的數據,消除函數實現中的訪存操作。
[001引上述的,步驟巧體包含如下內容:
[0019] 步驟1.1、從已有的函數實現中獲取數學函數的逼近多項式,W及逼近多項式與數 學函數之間的最大相對誤差;
[0020] 步驟1.2、基于步驟1.1中獲取的最大相對誤差,通過基于區間分析的多項式誤差 分析方法,得到當前誤差下的多項式逼近區間;
[0021] 步驟1.3、針對多項式逼近區間,結合規約函數,分析數學函數的數據表,改變數學 函數輸入與數據表之間的映射關系,通過重組數據,壓縮數據表。
[0022] 上述的,步驟1.1中利用多項式誤差測試工具獲取該數學函數中逼近多項式的最 大相對誤差,其中,對于數學函數中的重建函數S = ^±p(r),通過計算近似值化與逼近多項 式P(r)之間的最小階碼之差,由最小階碼之差計算得到重建函數S所能容忍的逼近多項式P (r)和mp打函數庫中相應函數fXr)之間的最大相對誤差。
[002引上述的,所述步驟1.2具體包含如下內容:
[0024] 步驟1.2.1、初始化逼近區間D;
[0025] 步驟1.2.2、結合數學函數實現特征,利用窮舉法和隨機生成法生成逼近區間D的 測試數據集,測試數據集中包含n個測試數據,初始化計數器count;
[00%] 步驟1.2.3、判斷計數器count是否滿足count《n,若是,則進入步驟1.2.4,否則進 入步驟1.2.5;
[0027]步驟1.2.4、根據測試數據集,計算逼近多項式p(r),并與mpfr函數庫中對應數學 函數f(r)進行比對,計算出兩者之間的相對誤差,若相對誤差 < 最大相對誤差,則統計滿足 該條件的測試數據的個數,記錄滿足條件的最大邊界點,同時令count = count+l,并返回步 驟1.2.3;否則,令。〇11]11 = (3〇11]11+1,并返回步驟1.2.3;
[00%]步驟1.2.5、計算滿足逼近多項式p(r)與mpfr函數庫中對應數學函數f(r)之間相 對誤差小于最大相對誤差的概率rate,若概率^*6>設定闊值,則逼近區間D為在最大相對 誤差下該逼近多項式P(r)的最佳逼近區間,否則,根據滿足條件的最大輸入修改逼近區間 D,并返回步驟1.2.2執行。
[0029] 上述的,所述步驟1.2.5中的設定闊值為0.999999。
[0030] 本發明的有益效果:
[0031] 本發明基于MatMataReduce算法的訪存優化技術,通過壓縮數學函數數據表,減 少寫入數據的指令與分支判斷跳轉指令數目,降低增加指令數目對數學函數的性能影響, 有效提升數學函數的性能;進一步增強同一算法在不同平臺上的適應性,保證基礎數學函 數在異構環境下的高效運行;不僅適用于超越函數,同樣適用于在異構眾核平臺下存在大 量訪存操作且訪存慢的程序,特別對于大型高性能計算應用的優化有重要的指導意義。
【附圖說明】:
[0032] 圖1為本發明的流程示意圖;
[0033] 圖2為本發明中基于區間分析的多項式誤差分析方法的流程示意圖;
[0034] 圖3為本發明中采用MatMa化Reduce算法壓縮數學函數數據表的示意圖;
[0035] 圖4為本發明中數據指令轉換示意圖。
【具體實施方式】:
[0036] 本發明中設及到mpfr函數庫,mpfr函數庫是一個正確舍入的多精度浮點計算庫, 主要目標是提供高效且具有明確定義語義的多精度浮點運算。
[0037] 下面結合附圖和技術方案對本發明作進一步詳細的說明,并通過優選的實施例詳 細說明本發明的實施方式,但本發明的實施方式并不限于此。
[0038] 實施例一,參見圖1所示,一種異構系統中基于數據表精簡技術的超越函數訪存優 化方法,含如下步驟:
[0039] 步驟1、采用MatMa化Reduce算法,壓縮數學函數的數據表;
[0040] 步驟2、針對經過步驟1壓縮后的數據表,采用立即數尋址方式將數據寫入指令中。
[0041] 步驟3、通過分支跳轉指令獲取寫入的數據,消除函數實現中的訪存操作。
[0042] 基于MatMataReduce算法的訪存優化技術,通過壓縮數學函數數據表,減少寫入 數據的指令與分支判斷跳轉指令數目,降低增加指令數目對數學函數的性能影響,有效提 升數學函數的性能。
[0043] 實施例二,參見圖1~4所示,一種異構系統中基于數據表精簡技術的超越函數訪 存優化方法,含如下步驟:
[0044] 步驟1、采用MatMa化Reduce算法,壓縮數學函數的數據表,具體包含如下內容:
[0045] 步驟1.1、從已有的函數實現中獲取數學函數的逼近多項式,W及逼近多項式與數 學函數之間的最大相對誤差,利用多項式誤差測試工具獲取該數學函數中逼近多項式的最 大相對誤差,其中,對于數學函數中的重建函數S = ^±p(r),通過計算近似值化與逼近多項 式P(r)之間的最小階碼之差,由最小階碼之差計算得到重建函數S所能容忍的逼近多項式P (r)和mp打函數庫中相應函數fXr)之間的最大相對誤差;
[0046] 步驟1.2、基于步驟1.1中獲取的最大相對誤差,通過基于區間分析的多項式誤差 分析方法,得到當前誤差下的多項式逼近區間,具體包含如下內容:
[0047] 步驟1.2.1、初始化逼近區間D;
[0048] 步驟1.2.2、結合數學函數實現特征,利用窮舉法和隨機生成法生成逼近區間D的 測試數據集,測試數據集中包含n個測試數據,初始化計數器count;
[0049] 步驟1.2.3、判斷計數器count是否滿足count《n,若是,則進入步驟1.2.4,否則進 入步驟1.2.5;
[0050] 步驟1.2.4、根據測試數據集,計算逼近多項式p(r),并與mpfr函數庫中對應數學 函數f(r)進行比對,計算出兩者之間的相對誤差,若相對誤差 < 最大相對誤差,則統計滿足 該條件的測試數據的個數,記錄滿足條件的最大邊界點,同時令count = count+l,并返回步 驟1.2.3;否則,令。〇11]11 = (3〇11]11+1,并返回步驟1.2.3;
[0051 ]步驟1.2.5、計算滿足逼近多項式P(T)與mpfr函數庫中對應數學函數f(;r)之間相 對誤差小于最大相對誤差的概率rate,若概率^*6>設定闊值,則逼近區間D為在最大相對 誤差下該逼近多項式P(r)的最佳逼近區間,否則,根據滿足條件的最大輸入修改逼近區間 D,并返回步驟1.2.2執行;
[0052]步驟1.3、針對多項式逼近區間,結合規約函數,分析數學函數的數據表,改變數學 函數輸入與數據表之間的映射關系,通過重組數據,壓縮數據表;
[0053] 步驟2、針對經過步驟I壓縮后的數據表,采用立即數尋址方式將數據寫入指令中。
[0054] 步驟3、通過分支跳轉指令獲取寫入的數據,消除函數實現中的訪存操作。
[0055] 該實施例中根據實驗形成的經驗,步驟1.2.5的設定闊值設定為0.999999;對于 IE邸-754標準表示的浮點數X和y,X二 zW, x2'',.r = M,. X2''' (MAX> >x>y > >-MAX),其階 差為AE( AE = Ex-Ey>2),函數為^義,7)=義±7,在保證^義,7)相對誤差不大于11119的情況 下,f(x,y)所能容忍的y與之間的最大相對誤差為2&Eulp;對于給定的逼近多項式W及 逼近區間,在逼近區間中結合數學函數實現特征,利用窮舉法與隨機生成法生成測試數據 集,數學函數實現特征由函數常用輸入區間確定;在測試數據集下,計算出逼近多項式的結 果,并與mp打庫中對應數學函數的結果進行對比,W計算相對誤差;比較每一個輸入下的相 對誤差,獲取逼近多項式在該逼近區間下的最大相對誤差。
[0056] 本發明在運算控制核屯、和運算核屯、相結合的異構眾核高性能計算機系統中,對基 礎數學庫中采用多項式和查表相結合算法實現的超越函數使用數據表精簡技術實現訪存 優化。
[0057] 本發明并不局限于上述【具體實施方式】,本領域技術人員還可據此做出多種變化, 但任何與本發明等同或者類似的變化都應涵蓋在本發明權利要求的范圍內。
【主權項】
1. 一種異構系統中基于數據表精簡技術的超越函數訪存優化方法,其特征在于:包含 如下步驟: 步驟1、采用MathDataReduce算法,壓縮數學函數的數據表; 步驟2、針對經過步驟1壓縮后的數據表,采用立即數尋址方式將數據寫入指令中。 步驟3、通過分支跳轉指令獲取寫入的數據,消除函數實現中的訪存操作。2. 根據權利要求1所述的異構系統中基于數據表精簡技術的超越函數訪存優化方法, 其特征在于:所述步驟1具體包含如下內容: 步驟1.1、從已有的函數實現中獲取數學函數的逼近多項式,以及逼近多項式與數學函 數之間的最大相對誤差; 步驟1.2、基于步驟1.1中獲取的最大相對誤差,通過基于區間分析的多項式誤差分析 方法,得到當前誤差下的多項式逼近區間; 步驟1.3、針對多項式逼近區間,結合規約函數,分析數學函數的數據表,改變數學函數 輸入與數據表之間的映射關系,通過重組數據,壓縮數據表。3. 根據權利要求2所述的異構系統中基于數據表精簡技術的超越函數訪存優化方法, 其特征在于:步驟1.1中利用多項式誤差測試工具獲取該數學函數中逼近多項式的最大相 對誤差,其中,對于數學函數中的重建函數S = Tk±p(r),通過計算近似值Tk與逼近多項式p (r)之間的最小階碼之差,由最小階碼之差計算得到重建函數S所能容忍的逼近多項式p(r) 和mpfr函數庫中相應函數f(r)之間的最大相對誤差。4. 根據權利要求2所述的異構系統中基于數據表精簡技術的超越函數訪存優化方法, 其特征在于:所述步驟1.2具體包含如下內容: 步驟1.2.1、初始化逼近區間D; 步驟1.2.2、結合數學函數實現特征,利用窮舉法和隨機生成法生成逼近區間D的測試 數據集,測試數據集中包含η個測試數據,初始化計數器count; 步驟1.2.3、判斷計數器count是否滿足countSn,若是,則進入步驟1.2.4,否則進入步 驟1.2.5; 步驟1.2.4、根據測試數據集,計算逼近多項式p(r),并與mpfr函數庫中對應數學函數f (r)進行比對,計算出兩者之間的相對誤差,若相對誤差 < 最大相對誤差,則統計滿足該條 件的測試數據的個數,記錄滿足條件的最大邊界點,同時令c〇unt = C〇Unt+l,并返回步驟 1.2.3;否則,令(3〇111^ = (:〇111^+1,返回步驟1.2.3; 步驟1.2.5、計算滿足逼近多項式p(r)與mpfr函數庫中對應數學函數f(r)之間相對誤 差小于最大相對誤差的概率rate,若概率rate多設定閾值,則逼近區間D為在最大相對誤差 下該逼近多項式P(r)的最佳逼近區間,否則,根據滿足條件的最大輸入修改逼近區間D,并 返回步驟1.2.2執行。5. 根據權利要求4所述的異構系統中基于數據表精簡技術的超越函數訪存優化方法, 其特征在于:所述步驟1.2.5中的設定閾值為0.999999。
【文檔編號】G06F9/30GK106020772SQ201610316427
【公開日】2016年10月12日
【申請日】2016年5月13日
【發明人】王磊, 張乾坤, 孟虹松, 周蓓, 郭紹忠, 韓林, 戴濤, 許瑾晨
【申請人】中國人民解放軍信息工程大學, 中國南方電網有限責任公司電網技術研究中心, 南方電網科學研究院有限責任公司