【技術實現步驟摘要】
本申請涉及運算加速
,特別涉及一種計算引擎和電子設備。
技術介紹
在人工智能領域中,一些類似于字符識別、圖像分類、語音識別等技術需要具備復雜算法功能的網絡技術來實現,例如深度神經網絡(英文:Deep Neural Network,DNN)技術已經成為具有代表性的算法,廣泛應用于搜索引擎、智能手機等產品中。典型的DNN結構如圖1所示,DNN結構中具有一個輸入層,一個輸出層,以及若干個隱藏層,圖1中以具有兩個隱藏層為例。其中,圖1中每一個圓圈代表一個神經元,如輸入層4個神經元分別用a1、a2、a3、a4表示。每一個神經元進行著相同的運算操作,即,對前一層傳遞而來的信號之和求激活函數,激活函數的輸出作為該神經元的輸出傳遞到下一層的神經元中。典型的激活函數如sigmoid函數,以圖1中神經元z1為例,基于sigmoid函數的神經元的計算過程為:該式中,w是網絡的權重參數,表示網絡中神經元之間邊的權重,b是一個偏移值項。整個網絡中的每個神經元都是不斷重復上述計算過程,把前一層的信號經過計算傳遞到下一層。圖1所示的DNN結構是以具有2個隱藏層為例的神經網絡,實際應用中,往往會使用更大、更深的網絡結構,需要進行大量的乘加運算。傳統的采用CPU來對DNN結構中的神經元進行計算無法滿足像語音識別等一些實時計算的需求,因此需要采用一些運算加速的方法。一種現有的運算加速方案采用現場可編程門陣列(英文:Field-Programmable Gate Array,縮寫:FPGA)實現,將一個固定的網絡結構通過FPGA硬化實現。因為DNN結構每一層的計算,在激活函數之前等效于 ...
【技術保護點】
一種計算引擎,其特征在于,包括緩存管理模塊、匹配分發模塊和至少L個計算模塊,其中:所述緩存管理模塊,用于讀取M維輸入向量中的L個元素值并進行緩存,以及,在M×N參數矩陣中與所述L個元素值對應的子矩陣中依次讀取L維行向量并傳送至所述匹配分發模塊,其中,所述M×N參數矩陣可包括若干個子矩陣,每一個子矩陣均為L階方陣,M、N、L均為大于1的整數;所述匹配分發模塊,用于每接收到所述緩存管理模塊傳送的一個L維行向量,從所述緩存管理模塊中緩存的所述L個元素值中取出與接收到的L維行向量對應的一個元素值,將取出的一個元素值與所述L維行向量中的各個值分別進行匹配,將各個匹配結果分別發送到所述至少L個計算模塊中的對應計算模塊,其中任意一個匹配結果包含所述取出的一個元素值與一個所述L維行向量中的一個值組成的數據組合;任意一個所述計算模塊,用于針對所述匹配分發模塊發送的匹配結果進行計算。
【技術特征摘要】
1.一種計算引擎,其特征在于,包括緩存管理模塊、匹配分發模塊和至少L個計算模塊,其中:所述緩存管理模塊,用于讀取M維輸入向量中的L個元素值并進行緩存,以及,在M×N參數矩陣中與所述L個元素值對應的子矩陣中依次讀取L維行向量并傳送至所述匹配分發模塊,其中,所述M×N參數矩陣可包括若干個子矩陣,每一個子矩陣均為L階方陣,M、N、L均為大于1的整數;所述匹配分發模塊,用于每接收到所述緩存管理模塊傳送的一個L維行向量,從所述緩存管理模塊中緩存的所述L個元素值中取出與接收到的L維行向量對應的一個元素值,將取出的一個元素值與所述L維行向量中的各個值分別進行匹配,將各個匹配結果分別發送到所述至少L個計算模塊中的對應計算模塊,其中任意一個匹配結果包含所述取出的一個元素值與一個所述L維行向量中的一個值組成的數據組合;任意一個所述計算模塊,用于針對所述匹配分發模塊發送的匹配結果進行計算。2.如權利要求1所述的計算引擎,其特征在于,所述緩存管理模塊用于在執行在M×N參數矩陣中與所述L個元素值對應的子矩陣中依次讀取L維行向量的操作時,具體用于:根據所述L個元素值在所述M維輸入向量中的列序號范圍,在所述M×N參數矩陣中選擇與所述列序號范圍相同的行序號范圍對應的子矩陣集合;在選出的子矩陣集合中按照列序號從小到大的順序依次選擇子矩陣,每選擇一個子矩陣,在選出的子矩陣中按照行序號從小到大的順序依次讀取L維行向量。3.如權利要求1或2所述的計算引擎,其特征在于,所述匹配分發模塊從所述緩存管理模塊中緩存的所述L個元素值中取出與接收到的L維行向量對應的一個元素值滿足以下條件:取出的所述一個元素值的列序號與所述接收到的L維行向量在所述M×N參數矩陣中的行序號相同。4.如權利要求1、2或3所述的計算引擎,其特征在于,所述匹配分發模塊還用于,在每一個所述匹配結果中攜帶所述L維行向量中對應值的列索引信號,所述列索引信號用于指示所述L維行向量中對應值在所述M×N參數矩陣中的列序號。5.如權利要求4所述的計算引擎,其特征在于,任意一個所述計算模塊用于針對所述匹配分發模塊發送的匹配結果進行計算時,具體用于:將接收到的匹配結果中包含的一個元素值與一個所述L維行向量中的一個值相乘,得到乘積結果;將攜帶相同的列索引信號的匹配結果對應的乘積結果進行累加,得到累加結果。6.如權利要求5所述的計算引擎,其特征在于,所述計算模塊包括乘法器、加法器、寄存器、比較器和局部存儲器,其中:任意一個所述計算模塊中的所述乘法器,用于將每次接收到的匹配結果中包含的一個元素值與一個所述L維行向量中的一個值相乘,得到乘積結果;任意一個所述計算模塊中的所述比較器,用于在所述乘法器計算之前,比較每次接收到的匹配結果中的列索引信號與上一次接收到的匹配結果中的列索引信號是否相同,獲得比較結果;任意一個所述計算模塊中的所述加法器,用于在所述比較器獲得比較結果為相同時,將所述乘法器獲得的乘積結果與所述寄存器中存儲的第一臨時累加值進行累加,按照累加所得結果更新所述第一臨時累加值;任意一個所述...
【專利技術屬性】
技術研發人員:徐斌,姚濱濱,袁宏輝,
申請(專利權)人:華為技術有限公司,
類型:發明
國別省市:廣東;44
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。