[發明專利]一種面向向量處理器的三角矩陣乘法向量化方法有效
| 申請號: | 201310364279.7 | 申請日: | 2013-08-20 |
| 公開(公告)號: | CN103440121A | 公開(公告)日: | 2013-12-11 |
| 發明(設計)人: | 劉仲;竇強;郭陽;鄧讓鈺;田希;龔國輝;唐遇星;王永文;彭元喜;陳海燕;胡封林;陳磊 | 申請(專利權)人: | 中國人民解放軍國防科學技術大學 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 湖南兆弘專利事務所 43008 | 代理人: | 周長清 |
| 地址: | 410073 湖南省長沙市硯瓦池正*** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 面向 向量 處理器 三角 矩陣 乘法 量化 方法 | ||
1.一種面向向量處理器的三角矩陣乘法向量化方法,其特征在于,步驟為:
步驟1:將被乘數三角矩陣T中的三角矩陣元素按行連續存儲;設被乘數三角矩陣T為m*m階矩陣,乘數矩陣B為m*k階矩陣,計算三角矩陣T與乘數矩陣B的乘法,結果矩陣C=T*B,C為m*k階矩陣;
步驟2:根據向量處理器的向量處理單元個數和向量處理單元的MAC部件個數對乘數矩陣B按列劃分為若干個子矩陣Bi;
步驟3:依次實現被乘數三角矩陣T與子矩陣Bi的乘法,計算結果存儲在原子矩陣Bi的存儲位置;
步驟4:遍歷完乘數矩陣的全部子矩陣Bi,判斷是否還有未計算的子矩陣Bi,若有,更新i=i+1,轉步驟3;若無,則執行步驟5;
步驟5:三角矩陣乘法的計算完成。
2.根據權利要求1所述的面向向量處理器的三角矩陣乘法向量化方法,其特征在于,所述步驟(2)中,設向量處理器的向量處理單元個數為p,向量處理單元的MAC部件個數為q;對乘數矩陣B按列劃分為子矩陣,子矩陣的行數與B矩陣一致,均為m,子矩陣的列數固定為p*q,若k不是(p*q)的整數倍,則最后一個子矩陣的列數為k除以(p*q)的余數;記子矩陣的個數為s,子矩陣依次記為B0,B1,…,Bs-1;采用分塊算法實現結果矩陣C的計算:(C0,C1,…,Cs-1)=T*(B0,B1,…,Bs-1),令i=0。
3.根據權利要求1所述的面向向量處理器的三角矩陣乘法向量化方法,其特征在于,所述步驟(3)中,具體步驟為:
步驟3.1:設定初始參數,若三角矩陣T為上三角矩陣,則P指向三角矩陣T的第一行,Q和S分別指向子矩陣Bi的第一行;若三角矩陣T為下三角矩陣,則P指向三角矩陣T的最后一行,Q和S分別指向子矩陣Bi的最后一行;
步驟3.2:向量處理器的SPU用標量存取指令讀取三角矩陣T的第P行中的連續q個元素到q個標量寄存器,并用向量處理器提供的廣播指令分別廣播到VPU的q個向量寄存器;
步驟3.3:向量處理器的VPU用向量存取指令讀取子矩陣Bi的第S行的q*p個元素到與上述步驟3.2不同的q個向量寄存器;
步驟3.4:向量處理器的VPU對上述步驟3.2的q個向量寄存器和步驟3.3的q個向量寄存器分別執行乘法,乘法結果分別累加到與上述步驟3.2和3.3不同的q個向量寄存器;
步驟3.5:判斷子矩陣Bi中是否還有另一行數據,若有,則子矩陣Bi中更新S為S的下一行,即三角矩陣T為上三角矩陣情況;或上一行,即三角矩陣T為下三角矩陣情況;轉步驟3.2;
步驟3.6:將上述步驟3.4計算結果的q個向量寄存器保存到子矩陣Bi的第Q行;
步驟3.7:判斷三角矩陣T中是否還有另一行數據,若有,則三角矩陣T中更新P為P的下一行,即三角矩陣T為上三角矩陣情況;或上一行,即三角矩陣T為下三角矩陣情況;子矩陣Bi中更新Q為Q的下一行,即三角矩陣T為上三角矩陣情況;或上一行,即三角矩陣T為下三角矩陣情況,子矩陣Bi中更新S為Q行,轉步驟3.2;
步驟3.8;被乘數三角矩陣T與子矩陣Bi的乘法計算完成。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國人民解放軍國防科學技術大學,未經中國人民解放軍國防科學技術大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310364279.7/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種用于供應鏈的會計核算軟件
- 下一篇:電子設備觸摸控制系統及方法





