[發明專利]面向向量處理器的大矩陣相乘的向量化實現方法有效
| 申請號: | 201110338108.8 | 申請日: | 2011-10-31 |
| 公開(公告)號: | CN102411558A | 公開(公告)日: | 2012-04-11 |
| 發明(設計)人: | 劉仲;陳書明;陳躍躍;曾詠濤;劉衡竹;陳海燕;龔國輝;彭元喜;陳勝剛 | 申請(專利權)人: | 中國人民解放軍國防科學技術大學 |
| 主分類號: | G06F17/16 | 分類號: | G06F17/16 |
| 代理公司: | 湖南兆弘專利事務所 43008 | 代理人: | 周長清 |
| 地址: | 410073 湖南省長沙市開福區硯瓦池正街47號*** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 面向 向量 處理器 矩陣 相乘 量化 實現 方法 | ||
技術領域
本發明主要涉及向量處理器以及數據處理領域,尤其涉及一種大矩陣相乘的向量化實現方法。
背景技術
在許多科學計算任務和應用中都會涉及到矩陣乘法運算,如圖像處理,通信系統中的信號編解碼等,對于規模較大的矩陣相乘計算任務,由于涉及到大量的乘法和加法運算,需要占用大量的計算時間。如何在處理器上簡單而高效的實現矩陣乘法運算一直是業界的研究熱點。
在傳統的標量處理器上,研究人員已經提出了多種有效的矩陣相乘實現方法,以減少數據在運算過程中的排序操作對完成整個矩陣相乘的運算的影響。但是,隨著高清視頻編解碼、3G無線通信、雷達信號處理等高密集、實時運算應用的不斷涌現,單芯片難以滿足這類應用的高密度實時計算需求,向量處理器得到了廣泛應用。如圖1所示,為一個向量處理器的典型結構,其具有處理器和程序存儲器和數據存儲器(兩者均可以為任意的可訪問存儲器,包括外部高速緩沖存儲器、外部RAM等)。向量處理器的處理器分為標量處理部件和向量處理部件兩個部分,通常向量處理部件內有K個并行處理單元(PE),這些處理單元都有各自的運算部件和寄存器,處理單元間能通過規約指令進行的數據交互,如并行處理單元之間的數據相加、比較等。標量處理單元主要負責流控和邏輯判斷指令的處理,而向量處理單元主要負責密集型的數據計算。向量處理單元運算所用的數據由向量數據存儲單元提供。一般地,如圖2所示,向量數據存儲單元的BANK(存儲體)的個數與向量處理單元的處理單元個數K是一致的。
申請號為“200380107095.7”的專利文獻,公開了英特爾公司提出的一個專利使用SIMD寄存器的小矩陣有效乘法,將被乘數矩陣A的對角線載入處理器的不同寄存器中,并將乘數矩陣B載入至少一個在縱向按序排列的寄存器中。通過移動一個元素,有選擇地將寄存器中的乘數矩陣B的每列中的乘法和加法元素同已移動的一列中的上個元素一起移動至該列的前端。將被乘數矩陣A的對角線乘以乘數矩陣B的列,它們的結果被加到結果矩陣C的列的結果和上。該方法在矩陣規模較小的情況下是能獲得比較好的效果,但是隨著矩陣規模的逐漸增大,難以取得好的性能表現。因此,如何在向量處理器上實現高效的大矩陣乘法運算是當前面臨的一個困難。
發明內容
本發明所要解決的技術問題是:針對現有技術存在的問題,本發明提供一種原理簡單、操作方便、能充分利用向量處理器的多級并行性特點且易于實現的面向向量處理器的大矩陣相乘的向量化實現方法。
為解決上述技術問題,本發明采用以下技術方案:
一種面向向量處理器的大矩陣相乘的向量化實現方法,包括以下步驟:
(1)輸入被乘數矩陣A和乘數矩陣B;通過DMA控制器將被乘數矩陣A和乘數矩陣B分別搬運到向量存儲單元中;在搬運過程中,將乘數矩陣B進行重排序,即將乘數矩陣B中的第1~n行依次排序為第1~n列;
(2)將被乘數矩陣A一行中的元素和乘數矩陣B中一列中的元素分別加載到K個并行處理單元中,并一一對應相乘;將相乘的結果在一指定的并行處理單元中歸約求和;將求和結果作為一個結果矩陣元素存儲到向量存儲單元中;
(3)順移到被乘數矩陣A的下一行和乘數矩陣B的下一列,重復步驟(2)直至完成所有數據幀的計算,得到由結果矩陣元素組成的結果矩陣C。
作為本發明的進一步改進:
所述搬運過程中,被乘數矩陣A的每一行組織成一個數據幀,乘數矩陣B的每一列組織成一個數據幀,當所述數據幀的元素個數不等于向量處理器中并行處理單元的個數K的倍數時,在數據幀尾部補0使得每個數據幀的元素個數等于并行處理單元的個數K的倍數。
與現有技術相比,本發明的優點在于:
本發明的面向向量處理器的大矩陣相乘的向量化實現方法,通過在DMA控制器搬運數據的過程中實現乘數矩陣B的數據重排序,同時還充分利用向量處理器中的向量部件多個并行處理單元能同時進行相同運算操作的特點來進行大量的同類型操作,從而大大的提高了計算矩陣乘法的效率,且步驟簡單,易于實現。
附圖說明
圖1是典型的向量處理器結構示意圖。
圖2是圖1的向量處理器中的向量數據存儲單元的結構示意圖。
圖3是本發明的總流程示意圖。
圖4是本發明實施例1中用DMA控制器實現乘數矩陣B元素重排序示意圖。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國人民解放軍國防科學技術大學,未經中國人民解放軍國防科學技術大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110338108.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:利用入湖河水漂浮栽培薄荷的方法
- 下一篇:一種北方日光節能溫室





