[發明專利]針對異構眾核的鏈接時優化方法在審
| 申請號: | 201910879798.4 | 申請日: | 2019-09-18 |
| 公開(公告)號: | CN112527299A | 公開(公告)日: | 2021-03-19 |
| 發明(設計)人: | 錢宏;沈莉;王飛;管茂林;肖謙;周文浩 | 申請(專利權)人: | 無錫江南計算技術研究所 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41 |
| 代理公司: | 蘇州創元專利商標事務所有限公司 32103 | 代理人: | 王健 |
| 地址: | 214083 江蘇*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 針對 異構眾核 鏈接 優化 方法 | ||
本發明公開一種針對異構眾核的鏈接時優化方法,包括以下步驟:S11、編譯器對加速核心代碼進行處理,將生成的GIMPLE中間表示信息寫入object文件中以“.gnu.lto_+函數名”為段名的ELF段中;S12、編譯器鏈接時,將加速核心object文件鏈接到一起,并讀取加速核心object文件中所有函數的GIMPLE中間表示信息;S13、編譯器將S12中讀取的所有函數的GIMPLE中間表示信息作為一個編譯單元,進行鏈接時優化,生成加速核心匯編代碼;S14、編譯器調用加速核心匯編器生成的可直接由鏈接器進行鏈接的加速核心object文件;S15、編譯器調用異構融合的鏈接器,將所有的控制核心object文件與S14中獲得的加速核心object文件鏈接在一起,生成可執行碼,完成鏈接。本發明針對加速核心代碼進行鏈接時優化,能夠減小異構程序可執行碼大小,提高異構程序整體運行性能。
技術領域
本發明涉及一種針對異構眾核的鏈接時優化方法,屬于計算機編譯優化技術領域。
背景技術
編譯器通常只在一個源代碼文件內做編譯優化,鏈接時優化技術是編譯器在處理源代碼文件生成object文件時把代碼的GIMPLE中間表示信息寫入到object文件里,在鏈接階段編譯器讀取多個object文件中的函數體信息,在此基礎上編譯器能夠在更大代碼范圍內進行優化,發掘更多的優化機會,達到減小程序可執行碼大小、提高程序運行性能的效果。
異構眾核架構下編譯器分別針對控制核心代碼與加速核心代碼單獨編譯處理生成object文件,編譯器在鏈接時將這些object文件融合在一起生成異構融合的可執行代碼。傳統的鏈接時優化技術只能做到針對控制核心代碼進行鏈接時優化,不支持針對加速核心代碼的鏈接時優化,而加速核心代碼的優化性能恰恰是決定異構程序整體性能的關鍵,因此傳統的鏈接時優化技術無法滿足異構眾核架構下的鏈接時優化需求。
發明內容
本發明的目的是提供一種針對異構眾核的鏈接時優化方法,該針對異構眾核的鏈接時優化方法針對加速核心代碼進行鏈接時優化,能夠減小異構程序可執行碼大小,提高異構程序整體運行性能。
為達到上述目的,本發明采用的技術方案是:一種針對異構眾核的鏈接時優化方法,包括以下步驟:
S11、編譯器對加速核心代碼文件中的函數進行處理,將編譯器前端生成的GIMPLE中間表示信息寫入加速核心代碼文件對應的object文件中以“.gnu.lto_+加速核心代碼函數名”為段名的ELF段中;
S12、編譯器鏈接時,將加速核心object文件鏈接到一起,并讀取加速核心object文件中所有函數的GIMPLE中間表示信息;
S13、編譯器將S12中讀取的所有函數的GIMPLE中間表示信息作為一個編譯單元,在此基礎上進行鏈接時優化,完成優化后,生成加速核心匯編代碼;
S14、編譯器調用加速核心匯編器對S13 中生成的加速核心匯編代碼進行處理,生成可以直接由鏈接器進行鏈接的加速核心object文件;
S15、編譯器調用異構融合的鏈接器,將所有的控制核心object文件與S14中獲得的加速核心object文件鏈接在一起,生成可執行碼,完成鏈接。
上述技術方案中進一步改進的方案如下:
1. 上述方案中,所述S13中的鏈接時優化包括常量傳播、死代碼消除、代碼轉換和參數傳遞。
由于上述技術方案的運用,本發明與現有技術相比具有下列優點:
本發明針對異構眾核的鏈接時優化方法,其通過異構眾核編譯器在處理加速核心代碼時將GIMPLE中間表示信息寫入object文件,在鏈接時讀取多個加速核心object文件中所有的函數體信息,在此基礎上針對加速核心代碼進行鏈接時優化,能夠減小異構程序可執行碼大小,提高異構程序整體運行性能。
附圖說明
附圖1為本發明針對異構眾核的鏈接時優化方法流程示意圖。
具體實施方式
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于無錫江南計算技術研究所,未經無錫江南計算技術研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910879798.4/2.html,轉載請聲明來源鉆瓜專利網。





