[發(fā)明專利]一種稀疏矩陣加速計算方法、裝置、設(shè)備及介質(zhì)有效
| 申請?zhí)枺?/td> | 202110024925.X | 申請日: | 2021-01-08 |
| 公開(公告)號: | CN112732222B | 公開(公告)日: | 2023-01-10 |
| 發(fā)明(設(shè)計)人: | 楊琳琳 | 申請(專利權(quán))人: | 蘇州浪潮智能科技有限公司 |
| 主分類號: | G06F7/523 | 分類號: | G06F7/523;G06F17/16 |
| 代理公司: | 北京連和連知識產(chǎn)權(quán)代理有限公司 11278 | 代理人: | 劉小峰;李紅蕭 |
| 地址: | 215100 江蘇省蘇州市吳*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 稀疏 矩陣 加速 計算方法 裝置 設(shè)備 介質(zhì) | ||
1.一種稀疏矩陣加速計算方法,其特征在于,所述方法包括:
讀取待相乘的第一稀疏矩陣,對所述第一稀疏矩陣進行非零檢測,并根據(jù)檢測結(jié)果生成所述第一稀疏矩陣每行數(shù)據(jù)的第一狀態(tài)信息并存儲至寄存器;
將檢測到的第一稀疏矩陣的非零數(shù)據(jù)存儲至RAM;
讀取待相乘的第二稀疏矩陣,對所述第二稀疏矩陣進行非零檢測,并根據(jù)檢測結(jié)果生成所述第二稀疏矩陣每列數(shù)據(jù)的第二狀態(tài)信息并存儲至寄存器;
對第一狀態(tài)信息和第二狀態(tài)信息進行邏輯運算,根據(jù)邏輯運算結(jié)果讀取RAM中的數(shù)據(jù)并與第二稀疏矩陣的數(shù)據(jù)進行乘積運算以得到乘積矩陣的數(shù)據(jù);
所述將檢測到的第一稀疏矩陣的非零數(shù)據(jù)存儲至RAM的步驟包括:
將所述RAM劃分為若干子RAM;
將同一行的非零數(shù)據(jù)及該數(shù)據(jù)的列號按列號從小到大存儲至同一個子RAM中,并生成每行的每個非零數(shù)據(jù)的列號與子RAM存儲地址對應(yīng)關(guān)系的地址碼表,以及生成每個非零行的行號與每一個子RAM對應(yīng)關(guān)系表;
所述讀取待相乘的第二稀疏矩陣,對所述第二稀疏矩陣進行非零檢測,并根據(jù)檢測結(jié)果生成所述第二稀疏矩陣每列數(shù)據(jù)的第二狀態(tài)信息并存儲至寄存器的步驟包括:
按列讀取第二稀疏矩陣的數(shù)據(jù);
將每一列的若干數(shù)據(jù)分別與零進行比較;
若讀取的數(shù)據(jù)等于零,則將數(shù)據(jù)對應(yīng)的狀態(tài)位標(biāo)記為0;
若讀取的數(shù)據(jù)不等于零,則將數(shù)據(jù)對應(yīng)的狀態(tài)位標(biāo)記為1;
將每一列的若干數(shù)據(jù)的狀態(tài)位標(biāo)記按行號從小到大排列得到所述第二狀態(tài)信息;
所述對第一狀態(tài)信息和第二狀態(tài)信息進行邏輯運算,根據(jù)邏輯運算結(jié)果讀取RAM中的數(shù)據(jù)并與第二稀疏矩陣的數(shù)據(jù)進行乘積運算以得到乘積矩陣的數(shù)據(jù)的步驟包括:
將第二稀疏矩陣某一列的第二狀態(tài)信息與每個第一稀疏矩陣的第一狀態(tài)信息進行按位與運算;
響應(yīng)于按位與運算結(jié)果不等于零,則獲取按位與運算結(jié)果中狀態(tài)位標(biāo)記等于1的位號,將某一列的列號作為目標(biāo)列號,將第一狀態(tài)信息對應(yīng)的行號作為目標(biāo)行號;
根據(jù)所述目標(biāo)行號和每個非零行的行號與每一個子RAM對應(yīng)關(guān)系表確定目標(biāo)子RAM;
將所述位號與每行的每個非零數(shù)據(jù)的列號與子RAM存儲地址對應(yīng)關(guān)系的地址碼表進行匹配以確定第一目標(biāo)數(shù)據(jù),并將所述位號和所述某一列的數(shù)據(jù)的行號進行匹配以確定第二目標(biāo)數(shù)據(jù);
對相同位號對應(yīng)的所述第一目標(biāo)數(shù)據(jù)和所述第二目標(biāo)數(shù)據(jù)進行乘積操作,并將不同位號對應(yīng)的乘積操作結(jié)果累加,以得到乘積矩陣位于所述目標(biāo)行號和所述目標(biāo)列號處的目標(biāo)數(shù)據(jù)值。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述讀取待相乘的第一稀疏矩陣,對所述第一稀疏矩陣進行非零檢測,并根據(jù)檢測結(jié)果生成所述第一稀疏矩陣每行數(shù)據(jù)的第一狀態(tài)信息并存儲至寄存器的步驟包括:
按行讀取第一稀疏矩陣的數(shù)據(jù);
將每一行中的數(shù)據(jù)分別與零進行比較;
若讀取的數(shù)據(jù)等于零,則將數(shù)據(jù)對應(yīng)的狀態(tài)位標(biāo)記為0;
若讀取的數(shù)據(jù)不等于零,則將數(shù)據(jù)對應(yīng)的狀態(tài)位標(biāo)記為1;
將每一行的若干數(shù)據(jù)的狀態(tài)位標(biāo)記按列號從小到大排列得到所述第一狀態(tài)信息。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
將所述目標(biāo)數(shù)據(jù)值攜帶所述目標(biāo)行號和目標(biāo)列號存儲至DMA,并對所述目標(biāo)數(shù)據(jù)值的數(shù)量進行統(tǒng)計,并將統(tǒng)計值存儲至寄存器。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括:
響應(yīng)于第一稀疏矩陣與所述第二稀疏矩陣完成乘積運算,則產(chǎn)生中斷信號,并利用上層軟件讀取寄存器中所述統(tǒng)計值;
根據(jù)所述統(tǒng)計值讀取DMA中的目標(biāo)數(shù)據(jù)及其攜帶的目標(biāo)行號和目標(biāo)列號。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于蘇州浪潮智能科技有限公司,未經(jīng)蘇州浪潮智能科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110024925.X/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
- 在集成電路器件中求解線性矩陣
- 矩陣計算裝置、矩陣計算方法
- 一種數(shù)據(jù)聚類的方法、裝置及Spark大數(shù)據(jù)平臺
- 適用于黑白圖片的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)方法以及訓(xùn)練方法
- 適用于灰度圖片的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)方法以及訓(xùn)練方法
- 矩陣
- 矩陣/密鑰生成裝置、矩陣/密鑰生成系統(tǒng)、矩陣結(jié)合裝置、矩陣/密鑰生成方法、程序
- 矩陣運算電路、矩陣運算裝置及矩陣運算方法
- 矩陣乘法計算方法和裝置
- 數(shù)據(jù)讀取方法、裝置、介質(zhì)和計算設(shè)備





