[發(fā)明專利]基于數(shù)據(jù)結(jié)構(gòu)的眾核程序重構(gòu)方法有效
| 申請?zhí)枺?/td> | 201910910099.1 | 申請日: | 2019-09-25 |
| 公開(公告)號: | CN112559031B | 公開(公告)日: | 2022-10-04 |
| 發(fā)明(設(shè)計)人: | 徐金秀;何香;陳鑫;徐占;劉鑫;李芳;孫唯哲;郭恒;趙朋朋 | 申請(專利權(quán))人: | 無錫江南計算技術(shù)研究所 |
| 主分類號: | G06F8/72 | 分類號: | G06F8/72;G06F8/41;G06F9/30;G06F9/448 |
| 代理公司: | 蘇州創(chuàng)元專利商標事務(wù)所有限公司 32103 | 代理人: | 王健 |
| 地址: | 214083 江蘇*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 數(shù)據(jù)結(jié)構(gòu) 程序 方法 | ||
本發(fā)明公開一種基于數(shù)據(jù)結(jié)構(gòu)的眾核程序重構(gòu)方法,包括基于提取基本類型數(shù)據(jù)結(jié)構(gòu)的重構(gòu)方法、基于數(shù)組降維的空間壓縮的重構(gòu)方法、基于增大傳輸字長的空間壓縮的重構(gòu)方法。本發(fā)明主要針對多級異構(gòu)眾核并行計算問題中多樣化的數(shù)據(jù)結(jié)構(gòu),提供高效的數(shù)據(jù)結(jié)構(gòu)重構(gòu)方法,提高異構(gòu)并行程序的計算效率。
技術(shù)領(lǐng)域
本發(fā)明涉及一種基于數(shù)據(jù)結(jié)構(gòu)的眾核程序重構(gòu)方法,屬于計算機技術(shù)領(lǐng)域。
背景技術(shù)
近年高性能計算技術(shù)高速發(fā)展,數(shù)值模擬計算軟件不僅對計算機系統(tǒng)的計算性能追求越來越高,對計算機系統(tǒng)的存儲能力也提出了更高的要求。數(shù)據(jù)結(jié)構(gòu)是影響計算軟件性能的關(guān)鍵因素,依托多核計算系統(tǒng)設(shè)計的計算軟件,在異構(gòu)眾核系統(tǒng)上進行計算時,其數(shù)據(jù)結(jié)構(gòu)往往成為制約計算系統(tǒng)計算能力的軟肋。
任何計算軟件想要獲得正確的結(jié)果和好的性能,必須要針對數(shù)據(jù)對象設(shè)計出理想的數(shù)據(jù)結(jié)構(gòu)。在研究數(shù)據(jù)結(jié)構(gòu)時,通常考慮數(shù)據(jù)元素的關(guān)系及其實現(xiàn)方式,與此同時,需要考慮算法實現(xiàn)和運算執(zhí)行效率。計算軟件眾核并行化過程中遇到的普遍問題是,離散的數(shù)據(jù)結(jié)構(gòu)或者關(guān)系錯綜復(fù)雜的數(shù)據(jù)結(jié)構(gòu)導(dǎo)致從核頻繁的訪問無規(guī)律的主核存儲地址,極大地降低了計算軟件眾核并行加速性能。
大多數(shù)應(yīng)用軟件涉及的數(shù)據(jù)結(jié)構(gòu)復(fù)雜,大量的物理量存儲結(jié)構(gòu)為基本數(shù)據(jù)類型多維數(shù)組,邏輯關(guān)系復(fù)雜的數(shù)據(jù)元素存儲結(jié)構(gòu)為復(fù)雜數(shù)據(jù)類型,實現(xiàn)眾核并行化,從核需要訪問主核存儲地址,拷貝一定長度的數(shù)據(jù)到從核存儲空間,最終從核實現(xiàn)高效訪存與計算。目前,異構(gòu)眾核協(xié)處理器結(jié)構(gòu)簡單,計算能力強大,儲存能力有限,因此,傳統(tǒng)的多核程序直接異構(gòu)眾核并行化,會普遍出現(xiàn)協(xié)處理器訪存異常的問題。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種基于數(shù)據(jù)結(jié)構(gòu)的眾核程序重構(gòu)方法,該基于數(shù)據(jù)結(jié)構(gòu)的眾核程序重構(gòu)方法主要針對多級異構(gòu)眾核并行計算問題中多樣化的數(shù)據(jù)結(jié)構(gòu),提供高效的數(shù)據(jù)結(jié)構(gòu)重構(gòu)方法,提高異構(gòu)并行程序的計算效率。
為達到上述目的,本發(fā)明采用的技術(shù)方案是:一種基于數(shù)據(jù)結(jié)構(gòu)的眾核程序重構(gòu)方法,包括基于提取基本類型數(shù)據(jù)結(jié)構(gòu)的重構(gòu)方法、基于數(shù)組降維的空間壓縮的重構(gòu)方法、基于增大傳輸字長的空間壓縮的重構(gòu)方法;
所述基于提取基本類型數(shù)據(jù)結(jié)構(gòu)的重構(gòu)方法包括以下步驟:
S11、利用性能分析工具或打印輸出信息,分析程序運行時的多個時間熱點函數(shù),找出各個時間熱點函數(shù)中最耗時程序段;
S12、針對各個時間熱點函數(shù)中的最耗時循環(huán)段,逐一進行分析,首先分析循環(huán)段的數(shù)據(jù)結(jié)構(gòu),若循環(huán)段內(nèi)存在復(fù)雜數(shù)據(jù)類型聲明的數(shù)據(jù)變量,執(zhí)行S13;若循環(huán)段內(nèi)只存在基本數(shù)據(jù)類型聲明的數(shù)據(jù)變量,循環(huán)段由從核完成,執(zhí)行S16;
S13、提取循環(huán)段內(nèi)復(fù)雜數(shù)據(jù)類型聲明的數(shù)據(jù)變量中與循環(huán)段任務(wù)相關(guān)的基本數(shù)據(jù)類型成員變量,稱為原始變量,并進行相應(yīng)的基本數(shù)據(jù)類型數(shù)據(jù)變量別名聲明,稱為新變量;
S14、在時間熱點函數(shù)變量聲明部分增加S13中提取的新變量的聲明,在時間熱點函數(shù)執(zhí)行部分的開始位置,將原始變量的內(nèi)存地址和相對應(yīng)的新變量內(nèi)存地址進行地址上下界匹配;
S15、修改循環(huán)段中原始變量名為新變量名,循環(huán)段任務(wù)由從核完成,執(zhí)行S16;
S16、針對由從核完成的循環(huán)段任務(wù),直接使用編譯指示進行眾核加速并行。
所述基于數(shù)組降維的空間壓縮的重構(gòu)方法包括以下步驟:
S21、利用性能分析工具或打印輸出信息,分析程序運行時的多個時間熱點函數(shù),找出各個時間熱點函數(shù)中最耗時程序段;
S22、針對各個時間熱點函數(shù)中的最耗時循環(huán)段,逐一進行分析,若循環(huán)段中的數(shù)據(jù)結(jié)構(gòu)存在多維數(shù)組,且多維數(shù)組不存在數(shù)據(jù)依賴關(guān)系,執(zhí)行S23;若循環(huán)段中沒有多維數(shù)組,或者多維數(shù)組之間存在數(shù)據(jù)依賴關(guān)系,執(zhí)行S25;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于無錫江南計算技術(shù)研究所,未經(jīng)無錫江南計算技術(shù)研究所許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910910099.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)結(jié)構(gòu)管理裝置、數(shù)據(jù)結(jié)構(gòu)管理系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)管理方法以及用于記錄數(shù)據(jù)結(jié)構(gòu)管理程序的計算機可讀介質(zhì)
- 電子墨水處理
- 一種數(shù)據(jù)結(jié)構(gòu)傳輸方法
- 一種基于元數(shù)據(jù)的任意版本兼容數(shù)據(jù)結(jié)構(gòu)存取方法及裝置
- 基于元模型的數(shù)據(jù)結(jié)構(gòu)建立方法、系統(tǒng)、裝置及存儲介質(zhì)
- XML數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換方法和裝置
- 用于數(shù)據(jù)結(jié)構(gòu)的專用讀取電壓
- 一種實現(xiàn)無人機余度管理數(shù)據(jù)結(jié)構(gòu)的方法及裝置
- 數(shù)據(jù)展示方法及裝置、電子設(shè)備和計算機可讀存儲介質(zhì)
- 一種數(shù)據(jù)結(jié)構(gòu)樹校驗方法、裝置、設(shè)備及存儲介質(zhì)





