[發明專利]申威26010眾核CPU上GEMM稠密矩陣乘高性能實現方法有效
| 申請號: | 201710310445.3 | 申請日: | 2017-05-05 |
| 公開(公告)號: | CN107168683B | 公開(公告)日: | 2020-06-09 |
| 發明(設計)人: | 楊超;蔣麗娟;尹萬旺;敖玉龍;魏迪;袁欣輝;劉芳芳;張鵬 | 申請(專利權)人: | 中國科學院軟件研究所;無錫江南計算技術研究所 |
| 主分類號: | G06F9/302 | 分類號: | G06F9/302;G06F9/38 |
| 代理公司: | 北京科迪生專利代理有限責任公司 11251 | 代理人: | 楊學明;顧煒 |
| 地址: | 100190 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 申威 26010 眾核 cpu gemm 稠密 矩陣 性能 實現 方法 | ||
本發明公開了申威26010眾核CPU上GEMM稠密矩陣乘高性能實現方法,針對申威眾核處理器26010,并基于存儲結構、訪存、硬件流水線以及寄存器級通信機制等平臺特性,優化矩陣分塊與核間數據映射方法,設計了自頂向下的三級分塊并行塊矩陣乘算法,基于寄存器級通信機制設計從核計算資源數據共享方法,并利用主從核間異步DMA數據傳輸機制,設計了計算與訪存重疊的雙緩沖策略,在單個從核上,設計了循環展開策略與軟件流水線排布方法,使用了高效的寄存器分塊模式以及SIMD向量化乘加指令,實現函數優化。該高性能GEMM函數性能與單核開源BLAS數學庫GotoBLAS相比,平均加速比為227.94,最高加速比為296.93。
技術領域
本發明涉及基礎線性代數庫BLAS(Basic Linear Algebra Subprograms)level3函數稠密矩陣乘運算GEMM(General matrix-matrix multiplication)的高性能實現方法,尤指基于申威眾核平臺體系結構的高性能GEMM實現及優化方法。
背景技術
稠密矩陣乘運算作為底層和基礎矩陣運算操作,廣泛應用于科學和工程計算領域,因此對其性能要求極高。BLAS是一種基礎線性代數子程序庫,主要包含向量和矩陣的基本操作,是最基礎和最重要的數學庫之一,目前大多矩陣運算相關的軟件都會調用BLAS庫,且世界超級計算機TOP500排名基準軟件LINPACK底層便以BLAS為支撐。BLAS目前已成為線性代數領域的一個標準API庫,GEMM是BLAS數學庫標準中關于矩陣運算的重要基礎函數,其執行的操作為如下所示通用矩陣乘法:
C=alpha*op(A)*op(B)+beta*C (1)
其中alpha、beta為標量因子,A,B,C為操作矩陣,其中C作為輸入矩陣,公式右側更新后的值覆蓋原矩陣作為輸出矩陣,op(.)算子實現矩陣轉置或非轉置形式,且包含單精度、雙精度、復數單精度和復數雙精度四種類型。GEMM具有計算密集以及訪存模式規則的特征,能較好地適用于目前具有多級存儲結構體系以及超高并行計算能力的高性能計算機,但同時GEMM性能嚴重依賴于能否有效地利用機器硬件特性,即如何合理將數據排布在存儲結構中,利用高效的訪存模式,提高數據重用率,通過計算隱藏訪存來提升性能,同時能夠挖掘矩陣運算的并行性,充分利用高性能計算機的并行計算資源,是GEMM高性能實現的極大挑戰。
針對GEMM的優化工作,國內外已經有相當多的研究成果,GOTO等人(Goto K,GeijnR A.Anatomy of high-performance matrix multiplication[J].ACM Transactions onMathematical Software(TOMS),2008,34(3):12.)基于三層嵌套循環塊矩陣乘算法,充分分析矩陣乘運算性能與多層次cache以及TLB的關系,構建性能分析模型,并提出如何基于該模型選擇最優算法。伴隨著GPU加速器的快速發展,GEMM在GPU上的優化工作近年來也成為研究熱點,重點體現在如何更高效地利用GPU存儲體系結構及其訪存特征,合理地選擇塊GEMM算法分塊大小和高效的訪存模式以增加數據的重復利用和高效利用機器帶寬等,來提升GEMM性能。另外,近年來,GEMM的自動代碼生成工作也逐漸成熟,Li Y等人(Li Y,Dongarra J,TomovS.A Note on Auto-tuning GEMM for GPUs[C]//InternationalConference on Computational Science.2009:884--892)實現了GEMM在GPU平臺的高效代碼生成。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院軟件研究所;無錫江南計算技術研究所,未經中國科學院軟件研究所;無錫江南計算技術研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710310445.3/2.html,轉載請聲明來源鉆瓜專利網。





