[發明專利]一種國產化計算平臺及其應用加速方法有效
| 申請號: | 201811246260.1 | 申請日: | 2018-10-25 |
| 公開(公告)號: | CN109408148B | 公開(公告)日: | 2021-06-08 |
| 發明(設計)人: | 趙明亮;王呂大;沈月峰 | 申請(專利權)人: | 北京計算機技術及應用研究所 |
| 主分類號: | G06F9/30 | 分類號: | G06F9/30 |
| 代理公司: | 中國兵器工業集團公司專利中心 11011 | 代理人: | 王雪芬 |
| 地址: | 100854*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 國產化 計算 平臺 及其 應用 加速 方法 | ||
本發明涉及一種國產化計算平臺及其應用加速方法,涉及計算機技術領域。本發明帶FPGA異構加速卡的國產化計算平臺,把應用所需要的運算分成兩個部分,主機(CPU)部分和異構加速卡部分,主機部分主要負責執行流程的控制管理,異構加速卡則負責擅長的大規模并行計算,從而大大提高了整機系統的性能和能效比。
技術領域
本發明涉及計算機技術領域,具體涉及一種國產化計算平臺及其應用加速方法。
背景技術
傳統的通用國產化計算平臺所有的運算都由主機(CPU)來完成,因此在面對CPU并不擅長的復雜運算時就顯得非常吃力,嚴重影響了用戶的使用體驗,導致其難以應用在需要高性能和高能效比的應用場合。
發明內容
(一)要解決的技術問題
本發明要解決的技術問題是:如何設計一種國產化計算平臺及其應用加速方法,大大提高其性能和能效比。
(二)技術方案
為了解決上述技術問題,本發明提供了一種國產化計算平臺,包括主機端和利用FPGA實現的異構加速卡;
所述主機端用于首先查詢異構加速卡的類型和數量,根據查詢到的異構加速卡信息創建執行環境;然后把可執行的矩陣乘法AOCX格式算法文件寫入異構加速卡,完成異構加速卡的配置;接著分配異構加速卡內存,把要計算的數據寫入異構加速卡內存;還用于讀取異構加速卡內存的運算結果;
所述異構加速卡用于對內部的計算資源進行組織,多線程并發執行計算過程。
本發明還提供了一種利用所述的國產化計算平臺實現應用加速的方法,包括以下步驟:
所述主機端首先查詢異構加速卡的類型和數量,根據查詢到的異構加速卡信息創建執行環境;然后把可執行的矩陣乘法AOCX格式算法文件寫入異構加速卡,完成異構加速卡的配置;接著分配異構加速卡內存,把要計算的數據寫入異構加速卡內存;
所述異構加速卡對內部的計算資源進行組織,多線程并發執行計算過程;
所述主機端讀取異構加速卡內存的運算結果。
優選地,若所述主機端寫入異構加速卡內存的數據為矩陣A、矩陣B的數據;則異構加速卡把內部的計算資源組織成工作組與工作項陣列,每一個工作項計算矩陣C的一個元素,多線程并發執行;每個工作項都計算完成后,完成計算矩陣A、矩陣B乘積的任務;然后主機讀取異構加速卡內存的運算結果。
優選地,所述異構加速卡把內部的計算資源組織成工作組與工作項陣列,每一個工作項計算矩陣C的一個元素,多線程并發執行的步驟具體為:
每個工作組計算一個方陣sub,sub是C的一部分,而工作組內的每個工作項計算sub的一個元素,sub等于兩個長方形矩陣的乘積:設矩陣A的長方形的子矩陣尺寸是(X,K),X行K列,矩陣B的長方形的子矩陣的尺寸是(K,X),K行X列,將兩個長方形的子矩陣分割成尺寸為(X,X)的方陣,sub是對這些方陣積求和,將工作組大小設置為X*X,工作組中的每個工作項只保存sub的一個元素;
設代碼by、bx分別表示當前工作組的行、列索引,也表示當前工作組要計算的矩陣分塊索引,代碼ty、tx分別表示當前工作組內的工作項的行、列索引,也表示當前工作組要計算的矩陣的元素索引;
每個sub的具體計算流程為:
以一個工作項載入一個數據的方式從全局存儲器中將兩個對應的sub載入局部存儲器中,同步以保證計算結果已寫入局部存儲器;
一個工作項計算乘積的一個元素,并將結果保存在寄存器中,循環這一步直到計算完兩個尺寸為(X,X)的方陣中的對應數據;
同步保證工作組內所有工作項都已使用完加載進局部存儲器的數據,循環直到計算完當前sub;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京計算機技術及應用研究所,未經北京計算機技術及應用研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811246260.1/2.html,轉載請聲明來源鉆瓜專利網。





