The invention discloses a sparse matrix vector domestic Shenwei 26010 processor multiplication based on multi-core heterogeneous method, the sparse matrix of nonzero element distribution is irregular, the design method of the static and dynamic two different partitioning method, in order to adapt to the different sparse matrix; put forward a set of dynamic cache in order to improve the mechanism of static, vector x memory hit rate; proposed an adaptive optimization method, for sparse matrix input, can select the optimal parameters of dynamic execution, in order to improve its performance. The invention adopts 16 Matrix sparse matrix Market matrix concentration tested, compared to domestic Shenwei processor single core running version of SpMV is about 10 times the maximum acceleration, the average speedup of 6.51.
【技術(shù)實(shí)現(xiàn)步驟摘要】
一種基于國(guó)產(chǎn)申威26010處理器的稀疏矩陣向量乘異構(gòu)眾核實(shí)現(xiàn)方法
本專(zhuān)利技術(shù)涉及一種稀疏矩陣的核心計(jì)算稀疏矩陣向量乘SpMV(SparseMatrix-VectorMultiplication)在國(guó)產(chǎn)申威眾核處理器上的實(shí)現(xiàn)方法,屬于高性能數(shù)值計(jì)算
,主要用于氣象、湍流模擬、天體物理、油藏模擬等科學(xué)計(jì)算和實(shí)際應(yīng)用中。
技術(shù)介紹
稀疏矩陣向量乘(SpMV)y=A*x是科學(xué)與工程計(jì)算中一個(gè)非常重要的計(jì)算內(nèi)核,其性能往往對(duì)應(yīng)用整體性能有著很大的影響。SpMV是屬于訪存密集型的,算法中的浮點(diǎn)計(jì)算與存儲(chǔ)訪問(wèn)的比率很低,且稀疏矩陣非零元素分布很不規(guī)則。傳統(tǒng)的CSR(CompressedSparseRow)格式的SpMV實(shí)現(xiàn)中向量x為間接訪問(wèn)且訪問(wèn)不規(guī)則,可重用性差,給SpMV的高效實(shí)現(xiàn)帶來(lái)很大挑戰(zhàn)。目前超級(jí)計(jì)算機(jī)的體系結(jié)構(gòu)已經(jīng)從多核向眾核乃至異構(gòu)眾核發(fā)展,然而訪存墻問(wèn)題卻越來(lái)越突出,帶寬受限型操作的峰值性能也越來(lái)越低,并且實(shí)現(xiàn)難度逐步增大。由我國(guó)國(guó)家并行計(jì)算機(jī)工程技術(shù)研究中心研制的新一代申威異構(gòu)眾核處理器已經(jīng)面世,其峰值性能為3TFlops/s,聚合訪存帶寬為130GB/s,相比計(jì)算能力,其訪存能力偏弱,給稀疏矩陣向量乘的高效實(shí)現(xiàn)帶來(lái)了巨大的挑戰(zhàn)。稀疏矩陣向量乘作為迭代解法器的核心計(jì)算如果能夠提高運(yùn)行速度,整個(gè)計(jì)算的運(yùn)行效率將會(huì)大大改善,在實(shí)際應(yīng)用中有著十分重要的作用。稀疏矩陣是指矩陣A的元素大部分是零,而非零元素所占比例非常小,往往小于總數(shù)的1%。通過(guò)只存儲(chǔ)和操作這些非零元,可以減少存儲(chǔ)的內(nèi)存,并大幅減少乘法次數(shù),進(jìn)而提高整體性能。稀疏矩陣存儲(chǔ)時(shí),除了存儲(chǔ)非零元 ...
【技術(shù)保護(hù)點(diǎn)】
一種基于國(guó)產(chǎn)申威26010處理器的稀疏矩陣向量乘異構(gòu)眾核實(shí)現(xiàn)方法,其特征在于包括:自適應(yīng)優(yōu)化、任務(wù)劃分和向量x訪存三個(gè)步驟,首先針對(duì)輸入的稀疏矩陣進(jìn)行稀疏矩陣向量乘SpMV計(jì)算時(shí)的三個(gè)參數(shù),即調(diào)度方式、向量x的最優(yōu)靜態(tài)緩沖區(qū)大小、向量x靜態(tài)緩沖區(qū)讀取的起始位置進(jìn)行自適應(yīng)優(yōu)化,從而獲得該稀疏矩陣的SpMV最優(yōu)性能;然后根據(jù)優(yōu)化后的調(diào)度方式進(jìn)行任務(wù)劃分;最后基于優(yōu)化后的調(diào)度方式、向量x的最優(yōu)靜態(tài)緩沖區(qū)大小、向量x靜態(tài)緩沖區(qū)讀取的起始位置三個(gè)參數(shù)進(jìn)行從核計(jì)算,每個(gè)從核計(jì)算時(shí)對(duì)向量x訪存采用動(dòng)靜態(tài)的訪存機(jī)制,從而實(shí)現(xiàn)基于國(guó)產(chǎn)申威26010處理器的SpMV異構(gòu)眾核的過(guò)程。
【技術(shù)特征摘要】
1.一種基于國(guó)產(chǎn)申威26010處理器的稀疏矩陣向量乘異構(gòu)眾核實(shí)現(xiàn)方法,其特征在于包括:自適應(yīng)優(yōu)化、任務(wù)劃分和向量x訪存三個(gè)步驟,首先針對(duì)輸入的稀疏矩陣進(jìn)行稀疏矩陣向量乘SpMV計(jì)算時(shí)的三個(gè)參數(shù),即調(diào)度方式、向量x的最優(yōu)靜態(tài)緩沖區(qū)大小、向量x靜態(tài)緩沖區(qū)讀取的起始位置進(jìn)行自適應(yīng)優(yōu)化,從而獲得該稀疏矩陣的SpMV最優(yōu)性能;然后根據(jù)優(yōu)化后的調(diào)度方式進(jìn)行任務(wù)劃分;最后基于優(yōu)化后的調(diào)度方式、向量x的最優(yōu)靜態(tài)緩沖區(qū)大小、向量x靜態(tài)緩沖區(qū)讀取的起始位置三個(gè)參數(shù)進(jìn)行從核計(jì)算,每個(gè)從核計(jì)算時(shí)對(duì)向量x訪存采用動(dòng)靜態(tài)的訪存機(jī)制,從而實(shí)現(xiàn)基于國(guó)產(chǎn)申威26010處理器的SpMV異構(gòu)眾核的過(guò)程。2.根據(jù)權(quán)利要求1所述的基于國(guó)產(chǎn)申威26010處理器的稀疏矩陣向量乘異構(gòu)眾核實(shí)現(xiàn)方法,其特征在于:所述自適應(yīng)優(yōu)化過(guò)程如下:針對(duì)每個(gè)輸入稀疏矩陣,選取最適用的三個(gè)參數(shù):調(diào)度方式、向量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)的調(diào)度方式,所有參數(shù)的選擇都采用預(yù)先運(yùn)行SpMV的相應(yīng)函數(shù)并選取最小執(zhí)行時(shí)間對(duì)應(yīng)的參數(shù)的方法來(lái)進(jìn)行。3.根據(jù)權(quán)利要求1所述的基于國(guó)產(chǎn)申威26010處理器的稀疏矩陣向量乘異構(gòu)眾核實(shí)現(xiàn)方法,其特征在于:所述任務(wù)劃分如下:對(duì)于稀疏矩陣,采用一維劃分方式,所述一維劃分方式又有兩種:靜態(tài)任務(wù)劃分和動(dòng)態(tài)任務(wù)劃分;所述兩種方式分別適用于不同類(lèi)型的稀疏矩陣;靜態(tài)任務(wù)劃分適用于每行非零元分布比較均勻,且向量x的訪存行為差異不大的稀疏矩陣;動(dòng)態(tài)任務(wù)劃分則相反;所述靜態(tài)任務(wù)劃分是將稀疏矩陣按行等分,每個(gè)從核計(jì)算m/64...
【專(zhuān)利技術(shù)屬性】
技術(shù)研發(fā)人員:劉芳芳,楊超,吳長(zhǎng)茂,
申請(qǐng)(專(zhuān)利權(quán))人:中國(guó)科學(xué)院軟件研究所,
類(lèi)型:發(fā)明
國(guó)別省市:北京,11
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。