[發(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) 程序 方法 | ||
1.一種基于數(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;
S23、在時間熱點函數(shù)聲明部分對沒有依賴關(guān)系的多維數(shù)組進行相對應(yīng)的降維數(shù)組聲明;
S24、搜索沒有依賴關(guān)系的多維數(shù)組相關(guān)的執(zhí)行語句,修改為降維數(shù)組相關(guān)的執(zhí)行語句,形成重構(gòu)數(shù)據(jù)結(jié)構(gòu)的新循環(huán)段,由從核完成;
S25、針對由從核完成的循環(huán)段任務(wù),直接使用編譯指示進行眾核加速并行;
所述基于增大傳輸字長的空間壓縮的重構(gòu)方法包括以下步驟:
S31、利用性能分析工具或打印輸出信息,分析程序運行時的多個時間熱點函數(shù),找出各個時間熱點函數(shù)中最耗時程序段;
S32、針對各個時間熱點函數(shù)中的最耗時循環(huán)段,逐一進行分析,觀察循環(huán)段內(nèi)計算任務(wù)特點,若多條執(zhí)行語句存在多次讀取一個或者多個相同數(shù)組變量,且寫入不同數(shù)組變量的操作,執(zhí)行S33;若不存在,循環(huán)段由從核完成,執(zhí)行S35;
S33、優(yōu)化被讀取多次的數(shù)組變量的數(shù)據(jù)結(jié)構(gòu),并在時間熱點函數(shù)聲明部分聲明對應(yīng)的別名數(shù)組,合并被寫入的多個不同的數(shù)組變量為一個擴維數(shù)組,并在時間熱點函數(shù)聲明部分聲明對應(yīng)的擴維數(shù)組;
S34、在時間熱點函數(shù)執(zhí)行部分,針對重構(gòu)的數(shù)據(jù)結(jié)構(gòu)調(diào)整別名數(shù)組的離散內(nèi)存訪問為連續(xù)內(nèi)存訪問,同時修改擴維數(shù)組對應(yīng)的寫操作,形成重構(gòu)數(shù)據(jù)結(jié)構(gòu)的循環(huán)段,由從核完成;
S35、針對由從核完成的循環(huán)段任務(wù),直接使用編譯指示進行眾核加速并行。
該專利技術(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/1.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ì)





