[發明專利]一種面向存算一體平臺的神經網絡編譯方法有效
| 申請號: | 202011251753.1 | 申請日: | 2020-11-11 |
| 公開(公告)號: | CN112465108B | 公開(公告)日: | 2022-07-22 |
| 發明(設計)人: | 繩偉光;師緊想;蔣劍飛;景乃鋒;王琴;毛志剛 | 申請(專利權)人: | 上海交通大學 |
| 主分類號: | G06N3/04 | 分類號: | G06N3/04;G06N3/063;G06N3/08 |
| 代理公司: | 上海旭誠知識產權代理有限公司 31220 | 代理人: | 鄭立 |
| 地址: | 200240 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 面向 一體 平臺 神經網絡 編譯 方法 | ||
1.一種面向存算一體平臺的神經網絡編譯方法,其特征在于,包括以下步驟:
步驟1:解析神經網絡預訓練模型,映射成以計算節點描述的中間表示;
步驟2:對所述步驟1中的計算圖級中間表示進行計算圖優化;
步驟3:通過中間表示轉換模塊,將優化后的所述計算圖轉換成算子級中間表示;
步驟4:對所述算子級中間表示進行算子任務劃分,劃分成一個個能夠與硬件原語綁定的循環嵌套單元,并與硬件基本單元綁定;
步驟5:進行算子級優化,減少讀取不連續內存的次數和權重映射的次數;
步驟6:將所述算子級中間表示生成存算一體指令;
所述步驟5包括三個優化方法:
方法1:模型解析與計算圖融合策略,主要針對于異構計算系統,能夠減少部分數據移動開銷;該方法目的是將計算圖中的多個節點打包成一個核函數,核函數可以在設備端完全執行;
方法2:算子級任務劃分,該方法需要編譯器將循環嵌套描述的卷積等運算拆分成硬件可執行的矩陣向量乘操作;
方法3:算子優化策略,該方法包括兩個:(a)在輸入緩沖區資源足夠的情況下,盡量讀取到連續內存排列的數據;(b)在中間結果緩存區足夠的情況下,盡量復用當前權重,減少權重更新次數。
2.如權利要求1所述的面向存算一體平臺的神經網絡編譯方法,其特征在于,所述步驟2中結合常量傳播、死代碼消除編譯技術。
3.如權利要求1所述的面向存算一體平臺的神經網絡編譯方法,其特征在于,所述步驟2中歸納運算類型,將具有可融合特性的連續節點融合成一個設備端可執行的核函數。
4.如權利要求3所述的面向存算一體平臺的神經網絡編譯方法,其特征在于,所述步驟2遍歷計算圖找到卷積算子,再以所述卷積算子為前驅節點,尋找可以與所述前驅節點融合的后繼節點。
5.如權利要求1所述的面向存算一體平臺的神經網絡編譯方法,其特征在于,所述神經網絡中輸入按照[N,C,H,W]排布,權重按照[O,C,K,K]排布。
6.如權利要求5所述的面向存算一體平臺的神經網絡編譯方法,其特征在于,將權重C通道的元素映射在Crossbar的一個列單元上,不同卷積核相同位置的權重映射在同一Crossbar上,同一卷積核的不同通道分散在K2個Crossbar陣列上。
7.如權利要求6所述的面向存算一體平臺的神經網絡編譯方法,其特征在于,按照C或者O通道在Core之間劃分計算任務,將權重劃分在各個Core上。
8.如權利要求7所述的面向存算一體平臺的神經網絡編譯方法,其特征在于,對當前循環中的迭代變量按照所述Core的個數取余,按照同余的策略將計算任務分配到不同的所述Core上。
9.如權利要求1所述的面向存算一體平臺的神經網絡編譯方法,其特征在于,在中間結果緩存區足夠的情況下,基于貪婪策略復用當前權重。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海交通大學,未經上海交通大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011251753.1/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種機器人化模鍛生產線
- 下一篇:一種簡易玻璃倒角機





