1.一種對(duì)稱(chēng)稀疏矩陣向量乘混合加速方法,其特征在于,所述方法適用于共享存儲(chǔ)架構(gòu)計(jì)算機(jī),所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,對(duì)稱(chēng)csr格式sss包括行指針位置、列坐標(biāo)、非零元數(shù)值和對(duì)角線數(shù)值四個(gè)數(shù)組;其中,所述行指針位置數(shù)組用于記錄了每行中第一個(gè)非零元素的位置在非零值數(shù)組中的索引;所述列坐標(biāo)數(shù)組用于存儲(chǔ)每個(gè)非零元素的列索引;所述非零元數(shù)值數(shù)組用于存儲(chǔ)非零元素的數(shù)值;所述對(duì)角線數(shù)值數(shù)組用于存儲(chǔ)對(duì)稱(chēng)矩陣的對(duì)角線元素的數(shù)值。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所有處理器采用混合加速策略進(jìn)行并行計(jì)算,包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,調(diào)用網(wǎng)格劃分工具在邏輯上把所述沖突圖劃分成若干個(gè)子圖以及相鄰子圖之間的隔離區(qū),并對(duì)每個(gè)所述子圖內(nèi)的節(jié)點(diǎn)進(jìn)行排序,包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,對(duì)隔離區(qū)逐層進(jìn)行遞歸劃分并對(duì)所有子圖和隔離區(qū)內(nèi)的節(jié)點(diǎn)重新進(jìn)行排序,并以樹(shù)的形式組織和存儲(chǔ)在共享內(nèi)存中,直到劃分層數(shù)到達(dá)預(yù)設(shè)層數(shù)之后停止劃分,得到任務(wù)依賴樹(shù),包括:
6.一種對(duì)稱(chēng)稀疏矩陣向量乘混合加速裝置,其特征在于,所述裝置包括:
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,對(duì)稱(chēng)稀疏矩陣存儲(chǔ)模塊中對(duì)稱(chēng)csr格式sss包括行指針位置、列坐標(biāo)、非零元數(shù)值和對(duì)角線數(shù)值四個(gè)數(shù)組;其中,所述行指針位置數(shù)組用于記錄了每行中第一個(gè)非零元素的位置在非零值數(shù)組中的索引;所述列坐標(biāo)數(shù)組用于存儲(chǔ)每個(gè)非零元素的列索引;所述非零元數(shù)值數(shù)組用于存儲(chǔ)非零元素的數(shù)值;所述對(duì)角線數(shù)值數(shù)組用于存儲(chǔ)對(duì)稱(chēng)矩陣的對(duì)角線元素的數(shù)值。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,任務(wù)依賴樹(shù)執(zhí)行模塊,還用于每個(gè)處理器先對(duì)分配的任務(wù)中任務(wù)依賴樹(shù)的所有子圖對(duì)應(yīng)的任務(wù)采用基于對(duì)稱(chēng)csr格式sss的按行并行策略進(jìn)行計(jì)算,然后再對(duì)隔離區(qū)對(duì)應(yīng)的任務(wù)采用csr格式按行并行策略進(jìn)行計(jì)算。
9.根據(jù)權(quán)利要求5所述的裝置,其特征在于,任務(wù)依賴樹(shù)構(gòu)建模塊,還用于調(diào)用metis圖劃分工具把所述沖突圖劃分成若干個(gè)子圖;遍歷所有子圖中的節(jié)點(diǎn)并檢測(cè)其是否與其他子圖的節(jié)點(diǎn)存在連邊;對(duì)于與其他子圖中的點(diǎn)存在連邊的點(diǎn),將該點(diǎn)從原本的子圖中剔除并劃分到隔離區(qū)中;對(duì)于與其他子圖內(nèi)的點(diǎn)不存在連邊的點(diǎn)不做處理;對(duì)各個(gè)子圖以及所述隔離區(qū)中的節(jié)點(diǎn)進(jìn)行重排序,使得各個(gè)區(qū)域內(nèi)的節(jié)點(diǎn)編號(hào)連續(xù)。
10.一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)權(quán)利要求1至5中任一項(xiàng)所述方法的步驟。