[發(fā)明專利]一種基于申威26010處理器的稀疏矩陣向量乘異構眾核實現方法有效
| 申請?zhí)枺?/td> | 201710023923.2 | 申請日: | 2017-01-13 |
| 公開(公告)號: | CN106775594B | 公開(公告)日: | 2019-03-19 |
| 發(fā)明(設計)人: | 劉芳芳;楊超;吳長茂 | 申請(專利權)人: | 中國科學院軟件研究所 |
| 主分類號: | G06F9/30 | 分類號: | G06F9/30 |
| 代理公司: | 北京科迪生專利代理有限責任公司 11251 | 代理人: | 楊學明;顧煒 |
| 地址: | 100190 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 國產 26010 處理器 稀疏 矩陣 向量 乘異構眾 核實 方法 | ||
1.一種基于申威26010處理器的稀疏矩陣向量乘異構眾核實現方法,其特征在于包括:自適應優(yōu)化、任務劃分和向量x訪存三個步驟,首先針對輸入的稀疏矩陣進行稀疏矩陣向量乘SpMV計算時的三個參數,即調度方式、向量x的最優(yōu)靜態(tài)緩沖區(qū)大小、向量x靜態(tài)緩沖區(qū)讀取的起始位置進行自適應優(yōu)化,從而獲得該稀疏矩陣的SpMV最優(yōu)性能;然后根據優(yōu)化后的調度方式進行任務劃分;最后基于優(yōu)化后的調度方式、向量x的最優(yōu)靜態(tài)緩沖區(qū)大小、向量x靜態(tài)緩沖區(qū)讀取的起始位置三個參數進行從核計算,每個從核計算時對向量x訪存采用動靜態(tài)的訪存機制,從而實現基于申威26010處理器的SpMV異構眾核的過程;
其中,所述自適應優(yōu)化過程如下:
針對每個輸入稀疏矩陣,選取最適用的三個參數:調度方式、向量x的最優(yōu)靜態(tài)緩沖區(qū)大小、向量x靜態(tài)緩沖區(qū)讀取的起始位置,首先選擇最優(yōu)的向量x的靜態(tài)緩沖區(qū)大小,起始為128,最大值為max_x_size,每128遞增;然后選取最優(yōu)的向量x靜態(tài)緩沖區(qū)讀取的起始位置;最后選擇最優(yōu)的調度方式,所有參數的選擇都采用預先運行SpMV的相應函數并選取最小執(zhí)行時間對應的參數的方法來進行;
所述任務劃分如下:
對于稀疏矩陣,采用一維劃分方式,所述一維劃分方式又有兩種:靜態(tài)任務劃分和動態(tài)任務劃分;所述兩種方式分別適用于不同類型的稀疏矩陣;靜態(tài)任務劃分適用于每行非零元分布比較均勻,且向量x的訪存行為差異不大的稀疏矩陣;動態(tài)任務劃分則相反;
所述靜態(tài)任務劃分是將稀疏矩陣按行等分,每個從核計算m/64行,從核內部循環(huán)執(zhí)行,每次只計算稀疏矩陣的srow行,其中srow為當前申威26010眾核處理器一個從核的LDM可以容納的最多稀疏行大小;所述靜態(tài)任務劃分方式每個從核執(zhí)行的稀疏矩陣行數基本相同;
所述動態(tài)任務劃分是將稀疏矩陣中的srow行的計算視為一個子任務,形成任務池,每個從核一次只負責一個子任務,執(zhí)行結束后再取下一個子任務進行計算;所述動態(tài)任務劃分方式時每個從核執(zhí)行的稀疏矩陣的行數根據當前從核的執(zhí)行情況動態(tài)調整,每個從核執(zhí)行的稀疏矩陣的行數可能大不相同。
2.根據權利要求1所述的基于申威26010處理器的稀疏矩陣向量乘異構眾核實現方法,其特征在于:針對靜態(tài)任務劃分和動態(tài)任務劃分,設計了動-靜態(tài)任務調度方式,即只在第一次運行SpMV時采用動態(tài)調度,記錄每個計算核心所分配的任務,在第二次及以后的SpMV執(zhí)行中,均按照第一次的任務分配方式進行處理,稱為動-靜態(tài)任務調度。
3.根據權利要求1所述的基于申威26010處理器的稀疏矩陣向量乘異構眾核實現方法,其特征在于:所述向量x訪存機制為:在申威26010眾核處理器上,采用動靜態(tài)的訪存機制,設置向量x的兩塊緩存區(qū),分別為動態(tài)緩存區(qū)和靜態(tài)緩存區(qū),靜態(tài)緩存區(qū)加載一次后重復運行,動態(tài)緩存區(qū)在靜態(tài)緩存區(qū)沒有命中時使用,動態(tài)緩存區(qū)根據實際運行情況多次加載,這樣充分利用稀疏矩陣非零元的局部性,提高帶寬利用率。
4.根據權利要求1所述的基于申威26010處理器的稀疏矩陣向量乘異構眾核實現方法,其特征在于:所述起始位置有兩種選擇:第一,從當前從核計算的行塊的起始位置讀取,記為start-x-row;第二,從當前從核計算行塊所需的第一個訪問的向量x的元素處讀取,記為start-x-current,不同的稀疏矩陣將采用不同的起始位置以提升性能。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院軟件研究所,未經中國科學院軟件研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710023923.2/1.html,轉載請聲明來源鉆瓜專利網。





