[發(fā)明專利]部分向量化編譯系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201280076012.1 | 申請(qǐng)日: | 2012-10-25 |
| 公開(公告)號(hào): | CN104641351B | 公開(公告)日: | 2018-09-18 |
| 發(fā)明(設(shè)計(jì))人: | T-F.恩蓋;C.林;Y.沈;C.張 | 申請(qǐng)(專利權(quán))人: | 英特爾公司 |
| 主分類號(hào): | G06F8/41 | 分類號(hào): | G06F8/41;G06F9/30 |
| 代理公司: | 中國專利代理(香港)有限公司 72001 | 代理人: | 徐予紅;劉春元 |
| 地址: | 美國加利*** | 國省代碼: | 美國;US |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 向量化 后向 體內(nèi) 向量處理器 編譯系統(tǒng) 動(dòng)態(tài)循環(huán) 內(nèi)容提供 向量指令 選擇循環(huán) 循環(huán)迭代 迭代 配置 檢查 | ||
1.一種用于處理部分向量化代碼的系統(tǒng),所述系統(tǒng)包括:
部分向量化編譯器,配置成識(shí)別所述代碼的單個(gè)循環(huán)體內(nèi)的后向依賴,其中所述單個(gè)循環(huán)體包括多個(gè)范圍的迭代,選擇所述循環(huán)體內(nèi)迭代的一個(gè)或更多個(gè)范圍,其中所述選擇的范圍不包括所述識(shí)別的后向依賴,并且將所述選擇的范圍向量化;以及
向量處理器,配置成執(zhí)行所述選擇的范圍。
2.如權(quán)利要求1所述的系統(tǒng),其中所述部分向量化編譯器還配置成:
生成所述循環(huán)體的靜態(tài)單指派SSA分析;
基于所述循環(huán)體的所述SSA生成循環(huán)依賴圖LDG,所述LDG包括節(jié)點(diǎn)和邊緣,其中所述節(jié)點(diǎn)與所述SSA的向量化單元相關(guān)聯(lián),并且所述邊緣與在所述節(jié)點(diǎn)之間的依賴關(guān)系相關(guān)聯(lián),并且其中所述向量化單元包括語句和/或表達(dá)式和/或操作,并且所述依賴關(guān)系包括控制依賴邊緣(CDE)和/或數(shù)據(jù)依賴邊緣(DDE);以及
將所述LDG分割成一個(gè)或更多個(gè)第一類型區(qū)域和一個(gè)或更多個(gè)第二類型區(qū)域,其中所述第一類型區(qū)域包括依賴循環(huán),并且所述第二類型區(qū)域不包括依賴循環(huán)。
3.如權(quán)利要求1所述的系統(tǒng),其中所述部分向量化編譯器還配置成:
識(shí)別嵌套的循環(huán),所述嵌套的循環(huán)包括內(nèi)部循環(huán)和外部循環(huán);
平整所述內(nèi)部循環(huán);以及
級(jí)聯(lián)所述內(nèi)部循環(huán)的迭代,所述迭代與所述內(nèi)部循環(huán)的一個(gè)或更多個(gè)調(diào)用相關(guān)聯(lián)。
4.如權(quán)利要求1到3任一項(xiàng)所述的系統(tǒng),其中所述向量處理器還配置成提供斷定的向量指令執(zhí)行和/或循環(huán)迭代范圍啟用。
5.如權(quán)利要求1到3任一項(xiàng)所述的系統(tǒng),其中所述向量處理器還配置成:
檢測(cè)所述后向依賴的所述識(shí)別中的錯(cuò)誤;和/或
校正所述循環(huán)體代碼的執(zhí)行流以從所述檢測(cè)到的錯(cuò)誤恢復(fù)。
6.一種用于代碼的部分向量化的方法,所述方法包括:
識(shí)別所述代碼的單個(gè)循環(huán)體內(nèi)的后向依賴;其中所述單個(gè)循環(huán)體包括多個(gè)范圍的迭代,
選擇所述循環(huán)體內(nèi)一個(gè)或更多個(gè)范圍的迭代,其中所述選擇的范圍不包括所述識(shí)別的后向依賴;以及
將所述選擇的范圍向量化。
7.如權(quán)利要求6所述的方法,其中,所述識(shí)別還包括:
生成所述循環(huán)體的靜態(tài)單指派SSA分析;
基于所述循環(huán)體的所述SSA生成循環(huán)依賴圖LDG,所述LDG包括節(jié)點(diǎn)和邊緣,
其中所述節(jié)點(diǎn)與所述SSA的向量化單元相關(guān)聯(lián),并且所述邊緣與在所述節(jié)點(diǎn)之間的依賴關(guān)系相關(guān)聯(lián),以及
其中所述向量化單元包括語句和/或表達(dá)式和/或操作,并且所述依賴關(guān)系包括控制依賴邊緣(CDE)和/或數(shù)據(jù)依賴邊緣(DDE)。
8.如權(quán)利要求7所述的方法,還包括:
確定在所述LDG的所述節(jié)點(diǎn)之間的依賴距離,所述依賴距離與所述LDG的所述邊緣相關(guān)聯(lián);以及
如果與所述邊緣相關(guān)聯(lián)的所述依賴距離等于或超過與向量處理器相關(guān)聯(lián)的向量化長度,則刪除所述邊緣中的一個(gè)或更多個(gè)。
9.如權(quán)利要求7所述的方法,還包括將所述LDG分割成一個(gè)或更多個(gè)第一類型區(qū)域和一個(gè)或更多個(gè)第二類型區(qū)域,其中所述第一類型區(qū)域包括依賴循環(huán),并且所述第二類型區(qū)域不包括依賴循環(huán)。
10.如權(quán)利要求6到9任一項(xiàng)所述的方法,還包括:
識(shí)別嵌套的循環(huán),所述嵌套的循環(huán)包括內(nèi)部循環(huán)和外部循環(huán);
平整所述內(nèi)部循環(huán);以及
級(jí)聯(lián)所述內(nèi)部循環(huán)的迭代,所述迭代與所述內(nèi)部循環(huán)的一個(gè)或更多個(gè)調(diào)用相關(guān)聯(lián)。
11.如權(quán)利要求6到9任一項(xiàng)所述的方法,還包括配置向量處理器以提供:
斷定的向量指令執(zhí)行;和/或
循環(huán)迭代范圍選擇。
12.如權(quán)利要求11所述的方法,還包括在所述向量處理器上執(zhí)行所述選擇的范圍。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于英特爾公司,未經(jīng)英特爾公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201280076012.1/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 一種適用于大規(guī)模并行軟件GTC的核心模塊Pushe的高效向量化方法
- 基于混合向量量化的最近鄰搜索方法
- 向量化處理數(shù)據(jù)的方法及裝置
- 特征向量的量化方法、檢索方法、裝置及存儲(chǔ)介質(zhì)
- 用于濾波器組多載波調(diào)制光通信系統(tǒng)的K-means非均勻量化算法
- 輿情事件處理方法、裝置、處理設(shè)備及存儲(chǔ)介質(zhì)
- 數(shù)據(jù)處理的方法、裝置和系統(tǒng)
- 向量信息存儲(chǔ)及更新的方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種未登錄詞進(jìn)行向量化的方法和裝置
- 一種生成向量化程序的方法及裝置





