[發明專利]深度學習框架編譯器寬度非一致自動向量優化方法有效
| 申請號: | 201910885725.6 | 申請日: | 2019-09-19 |
| 公開(公告)號: | CN112527262B | 公開(公告)日: | 2022-10-04 |
| 發明(設計)人: | 沈莉;周文浩;王飛;武文浩;肖謙 | 申請(專利權)人: | 無錫江南計算技術研究所 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30;G06F8/41;G06N20/00 |
| 代理公司: | 蘇州創元專利商標事務所有限公司 32103 | 代理人: | 王健 |
| 地址: | 214083 江蘇*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 深度 學習 框架 編譯器 寬度 一致 自動 向量 優化 方法 | ||
1.一種深度學習框架編譯器寬度非一致自動向量優化方法,其特征在于:基于異構平臺,包括以下步驟:
S1、框架編譯器前端識別計算圖中可進行向量優化的子圖,具體如下:
S11、以通過AI框架生成的深度學習負載作為輸入,框架編譯器根據AI框架的類型,識別深度學習負載的模型格式,并將深度學習負載轉換為統一的計算圖;
S12、框架編譯器遍歷步驟S11中獲得的整個計算圖,識別出計算圖中可進行向量優化的子圖,具體方法如下:
S13、框架編譯器分析S11中獲得的計算圖中的數據依賴關系,構建計算圖的數據依賴圖,并基于數據依賴圖,構建包含數據和語句依賴信息的有向圖,使同一條語句內的所有數據節點都在一個強連通分量內,并對強連通分量之間的依賴邊進行剪枝,實現有向圖的更新操作;
S14、框架編譯器分析步驟S13獲得的包含數據和語句依賴信息的有向圖中不同強連通分量內的數據節點之間的可達性,并根據數據節點之間的可達性,將不可達的數據節點從有向圖中刪除,并分析剩余的可達節點,獲得識別出計算圖中可進行向量優化的子圖所需的數據和語句的依賴信息,從而確定子圖中的循環是否可以進行向量優化;
S15、框架編譯器前端對步驟S14確定的可進行向量優化的子圖進行標記,并將標記后的子圖傳遞給框架編譯器中端進行處理;
S2、框架編譯器中端對步驟S15標記的可進行向量優化的子圖中的算子進行融合,并計算圖編譯為底層IR,具體如下:
S21、框架編譯器中端遍歷步驟S15標記的整個可進行向量優化的子圖,搜索并標記所述子圖中所有相鄰的可進行向量優化的算子;
S22、將步驟S21中搜索到的相鄰的可進行向量優化的算子進行融合,將融合后的算子中“向量-標量-向量”轉換操作替換為“向量-向量”賦值操作;
S23、框架編譯器中端通過層次化lower和優化,將步驟S22中算子融合后的計算圖編譯為底層IR;
S3、框架編譯器后端根據異構眾核處理器的控制核心和計算核心的向量寬度,分別對步驟S2中獲得的底層IR進行寬度非一致的向量優化,具體如下:
S31、框架編譯器后端根據控制核心和計算核心的向量寬度,分別對步驟S2中獲得的底層IR進行循環展開;
S32、將步驟S31中被循環展開的底層IR修改為寬度非一致向量計算格式;
S4、框架編譯器的代碼生成模塊將步驟S32獲得的向量優化后的底層IR轉換為用戶指定的高級語言代碼,并通過基礎編譯器生成向量優化后的平臺目標碼,具體如下:
S41、對于LLVM編譯器,向量優化后的IR被LLVM編譯器的代碼生成模塊轉化為LLVM的中間表示,再通過LLVM編譯器生成可執行程序;
S42、對于GCC編譯器,向量優化后的IR通過C代碼自動生成技術轉化為C代碼,進而通過GCC編譯器生成可執行程序。
2.根據權利要求1所述的深度學習框架編譯器寬度非一致自動向量優化方法,其特征在于:在S31中,針對控制核心,框架編譯器后端將底層IR循環展開4次,針對運算核心,框架編譯器后端將底層IR循環展開8次。
3.根據權利要求2所述的深度學習框架編譯器寬度非一致自動向量優化方法,其特征在于:在S32中,針對控制核心,框架編譯器后端將被展開的底層IR修改為4倍字向量寬度的向量計算格式,針對計算核心,框架編譯器后端將被展開的底層IR修改為8倍字向量寬度的向量計算格式。
4.根據權利要求1所述的深度學習框架編譯器寬度非一致自動向量優化方法,其特征在于:在S4中,所述高級語言代碼包括C和LLVM中間表示。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于無錫江南計算技術研究所,未經無錫江南計算技術研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910885725.6/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:瞳高瞳距定位貼
- 下一篇:面向即時編譯的基于動態庫的GOT表管理方法





