[發明專利]一種稀疏矩陣加速計算方法、裝置、設備及介質有效
| 申請號: | 202110024925.X | 申請日: | 2021-01-08 |
| 公開(公告)號: | CN112732222B | 公開(公告)日: | 2023-01-10 |
| 發明(設計)人: | 楊琳琳 | 申請(專利權)人: | 蘇州浪潮智能科技有限公司 |
| 主分類號: | G06F7/523 | 分類號: | G06F7/523;G06F17/16 |
| 代理公司: | 北京連和連知識產權代理有限公司 11278 | 代理人: | 劉小峰;李紅蕭 |
| 地址: | 215100 江蘇省蘇州市吳*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 稀疏 矩陣 加速 計算方法 裝置 設備 介質 | ||
本發明公開了一種稀疏矩陣加速計算方法、裝置、設備及介質。所述方法包括:讀取待相乘的第一稀疏矩陣,對第一稀疏矩陣進行非零檢測,并根據檢測結果生成第一稀疏矩陣每行數據的第一狀態信息并存儲至寄存器;將檢測到的第一稀疏矩陣的非零數據存儲至RAM;讀取待相乘的第二稀疏矩陣,對第二稀疏矩陣進行非零檢測,并根據檢測結果生成第二稀疏矩陣每列數據的第二狀態信息并存儲至寄存器;對第一狀態信息和第二狀態信息進行邏輯運算,根據邏輯運算結果讀取RAM中的數據并與第二稀疏矩陣的數據進行乘積運算以得到乘積矩陣的數據。本發明的方案極大節省片上資源空間,減少了計算過程中數據的讀取量,加快了稀疏矩陣計算的處理速度。
技術領域
本發明涉及稀疏矩陣領域,尤其涉及一種稀疏矩陣加速計算方法、裝置、設備及介質。
背景技術
稀疏矩陣是指數值為零的元素數目遠遠多于非零元素的數目,并且非零元素分布沒有規律時,則稱該矩陣為稀疏矩陣。稀疏矩陣幾乎產生于所有的大型科學工程計算領域,包括人工智能、大數據、圖像處理等熱門領域,以及計算流體力學、統計物理、電路模擬、圖像處理甚至包括宇宙探測等領域。稀疏矩陣是處理器運算過程中經常出現的數據處理對象,通常會需要由處理器對稀疏矩陣進行相乘處理。
目前,現有的矩陣乘積運算主要采用軟件方式實現,計算過程速度緩慢,無法滿足實時處理要求且浪費存儲空間。
發明內容
有鑒于此,有必要針對以上技術問題,提供能夠降低片上資源使用的一種稀疏矩陣加速計算方法、裝置、設備及介質。
根據本發明的第一方面,提供了一種稀疏矩陣加速計算方法,所述方法包括:
讀取待相乘的第一稀疏矩陣,對所述第一稀疏矩陣進行非零檢測,并根據檢測結果生成所述第一稀疏矩陣每行數據的第一狀態信息并存儲至寄存器;
將檢測到的第一稀疏矩陣的非零數據存儲至RAM;
讀取待相乘的第二稀疏矩陣,對所述第二稀疏矩陣進行非零檢測,并根據檢測結果生成所述第二稀疏矩陣每列數據的第二狀態信息并存儲至寄存器;
對第一狀態信息和第二狀態信息進行邏輯運算,根據邏輯運算結果讀取RAM中的數據并與第二稀疏矩陣的數據進行乘積運算以得到乘積矩陣的數據。
在其中一個實施例中,所述讀取待相乘的第一稀疏矩陣,對所述第一稀疏矩陣進行非零檢測,并根據檢測結果生成所述第一稀疏矩陣每行數據的第一狀態信息并存儲至寄存器的步驟包括:
按行讀取第一稀疏矩陣的數據;
將每一行中的數據分別與零進行比較;
若讀取的數據等于零,則將數據對應的狀態位標記為0;
若讀取的數據不等于零,則將數據對應的狀態位標記為1;
將每一行的若干數據的狀態位標記按列號從小到大排列得到所述第一狀態信息。
在其中一個實施例中,所述將檢測到的第一稀疏矩陣的非零數據存儲至RAM的步驟包括:
將所述RAM劃分為若干子RAM;
將同一行的非零數據及該數據的列號按列號從小到大存儲至同一個子RAM中,并生成每行的每個非零數據的列號與子RAM存儲地址對應關系的地址碼表,以及生成每個非零行的行號與每一個子RAM對應關系表。
在其中一個實施例中,所述讀取待相乘的第二稀疏矩陣,對所述第二稀疏矩陣進行非零檢測,并根據檢測結果生成所述第二稀疏矩陣每列數據的第二狀態信息并存儲至寄存器的步驟包括:
按列讀取第二稀疏矩陣的數據;
將每一列的若干數據分別與零進行比較;
若讀取的數據等于零,則將數據對應的狀態位標記為0;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于蘇州浪潮智能科技有限公司,未經蘇州浪潮智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110024925.X/2.html,轉載請聲明來源鉆瓜專利網。





