• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種基于申威26010處理器的稀疏矩陣向量乘異構(gòu)眾核實(shí)現(xiàn)方法技術(shù)

    技術(shù)編號(hào):15540643 閱讀:143 留言:0更新日期:2017-06-05 10:25
    本發(fā)明專(zhuān)利技術(shù)公開(kāi)了一種基于申威26010處理器的稀疏矩陣向量乘異構(gòu)眾核實(shí)現(xiàn)方法,由于稀疏矩陣的非零元分布很不規(guī)則,該方法設(shè)計(jì)了靜態(tài)、動(dòng)態(tài)兩種不同的任務(wù)劃分方法,以適應(yīng)不同的稀疏矩陣;提出了一套動(dòng)靜態(tài)的緩存機(jī)制,以提升向量x的訪存命中率;提出了一套自適應(yīng)的優(yōu)化方法,針對(duì)輸入的稀疏矩陣,可以動(dòng)態(tài)選出最優(yōu)的執(zhí)行參數(shù),以提升其運(yùn)行性能。本發(fā)明專(zhuān)利技術(shù)采用Matrix?Market矩陣集中的16個(gè)稀疏矩陣進(jìn)行測(cè)試,相比申威處理器單主核運(yùn)行版SpMV最高有10倍左右加速,平均加速比為6.51。

    A sparse matrix vector multiplication and diversity core implementation method based on homemade Shen 26010 processor

    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ǔ)非零元外,還要記錄非零元在矩陣中所占的位置。CSR格式是目前使用最廣泛的一種存儲(chǔ)格式。CSR格式需要存儲(chǔ)稀疏矩陣A的每個(gè)非零元素的值,非零元所在的列和每行第1個(gè)非零元的索引,即需要3個(gè)數(shù)組(其中矩陣A是m×n矩陣,有nz個(gè)非零元),如下所示:·val[nz],記錄每個(gè)非零元的值;·col[nz],記錄每個(gè)非零元所在的列;·ptr[m+1],記錄每行的第1個(gè)非零元在數(shù)組val[nz]、col[nz]中的索引,其中ptr[m]=nz。稀疏矩陣向量乘的形式為y=Ax,其中A為稀疏矩陣,x,y為稠密向量。CSR矩陣存儲(chǔ)格式的SpMV核心代碼見(jiàn)圖1,從圖1中可以看出,矩陣A中每個(gè)元素都要跟x中相應(yīng)元素相乘,x的訪問(wèn)是間接的和不規(guī)則的,所以運(yùn)行效率很低。稀疏矩陣向量乘在異構(gòu)眾核平臺(tái)的實(shí)現(xiàn)難度很大,一般會(huì)面臨核間負(fù)載均衡、x訪存開(kāi)銷(xiāo)太大、不同稀疏矩陣訪存行為差異很大、帶寬利用率很差等問(wèn)題。在SpMV的異構(gòu)眾核實(shí)現(xiàn)及優(yōu)化方面,前人已經(jīng)做了很多的工作,但主要集中在商用的GPU和MIC處理器。從2008年開(kāi)始,基于GPU的SpMV工作大量涌現(xiàn),這些工作主要通過(guò)存儲(chǔ)格式、重排、壓縮、自適應(yīng)調(diào)優(yōu)等技術(shù)解決帶寬利用率、負(fù)載均衡、并行度等問(wèn)題。先后提出了HYB、ELLPACK-R、sliced-ELLPACK、blockedELLPACK、BRC、BCCOO等新型存儲(chǔ)格式;研究了稀疏矩陣的重排技術(shù)及壓縮格式,以減少訪存開(kāi)銷(xiāo);研究了GPU平臺(tái)體系結(jié)構(gòu)特征、稀疏矩陣存儲(chǔ)格式、稀疏矩陣集之間的關(guān)系,并給出自動(dòng)選擇模型;另外還研究了自動(dòng)調(diào)優(yōu)技術(shù),以根據(jù)稀疏矩陣的特征選擇最優(yōu)參數(shù)并獲取較優(yōu)的性能。2011年Intel公司的異構(gòu)眾核處理器XeonPhi發(fā)布,隨后Liu等人提出了新的ESB格式,該格式可有效改善XeonPhi上SpMV向量化性能,并能減少訪存開(kāi)銷(xiāo),另外還提出了混合的動(dòng)態(tài)調(diào)度器以改善并行任務(wù)的負(fù)載均衡性;Tang等人通過(guò)新的存儲(chǔ)格式VHCC、二維不規(guī)則任務(wù)劃分、自動(dòng)調(diào)優(yōu)技術(shù)等優(yōu)化了一類(lèi)scale-free稀疏矩陣SpMV的性能。另外還有一類(lèi)工作涉及到多個(gè)異構(gòu)眾核處理器,Kreutzer等人主要從改善向量化性能的角度提出新的存儲(chǔ)格式SELL-C-σ;Liu等人提出了CSR5存儲(chǔ)格式用于改善不規(guī)則稀疏矩陣SpMV的性能,在多個(gè)異構(gòu)眾核處理器上實(shí)現(xiàn)并與現(xiàn)有最優(yōu)工作進(jìn)行了對(duì)比。由我國(guó)國(guó)家并行計(jì)算機(jī)工程技術(shù)研究中心研制的新一代申威異構(gòu)眾核處理器已經(jīng)面世,其是一款具有自主知識(shí)產(chǎn)權(quán)的處理器,與目前現(xiàn)有的商用眾核處理器均不同。每個(gè)核組由控制核心(ManagementProcessingElement,MPE,又稱(chēng)主核)、計(jì)算核心簇(ComputingProcessingElementsclusters,CPEcluster,又稱(chēng)從核)(采用8*8mesh結(jié)構(gòu))、協(xié)議處理部件(PPU)和存儲(chǔ)控制器(MemoryController,MC)組成。平均每個(gè)核組的訪存帶寬為32.5GB/s,實(shí)測(cè)帶寬為27.5GB/s。每個(gè)從核擁有64KB的緩存空間LDM(LocalDirectMemory),可以通過(guò)DMA(DirectMemoryAccess)實(shí)現(xiàn)主存和LDM間的高速傳輸。目前該處理器剛剛發(fā)布,還未出現(xiàn)基于該處理器的SpMV異構(gòu)眾核并行的相關(guān)工作,也沒(méi)有相似報(bào)道本專(zhuān)利技術(shù)主要是填補(bǔ)這個(gè)空白。
    技術(shù)實(shí)現(xiàn)思路
    本專(zhuān)利技術(shù)解決的技術(shù)問(wèn)題是:針對(duì)全新的具有自主知識(shí)產(chǎn)權(quán)的國(guó)產(chǎn)申威處理器,提出一種基于國(guó)產(chǎn)申威26010處理器的稀疏矩陣向量乘(SpMV)異構(gòu)眾核實(shí)現(xiàn)方法,解決了CSR格式SpMV計(jì)算時(shí)從核之間任務(wù)的負(fù)載不均衡、訪存帶寬利用率、不同類(lèi)型稀疏矩陣的自適應(yīng)性能優(yōu)化等問(wèn)題,從而整體提升了稀疏矩陣向量乘的性能。本專(zhuān)利技術(shù)的技術(shù)方案為,一種基于國(guó)產(chǎn)申威26010處理器的SpMV異構(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ò)程。(1)任務(wù)劃分方法申威26010眾核處理器每個(gè)核組包括1個(gè)主核和64個(gè)從核,為了充分利用從核核組的計(jì)算資源,將計(jì)算任務(wù)盡可能的分給從核,主核主要負(fù)責(zé)前處理和控制。對(duì)于稀疏矩陣而言,任務(wù)劃分方法有兩種:一維劃分和二維劃分。二維劃分時(shí)多個(gè)從核會(huì)同時(shí)更新y向量的一部分,需要加鎖處理,從而導(dǎo)致額外的開(kāi)銷(xiāo)。對(duì)規(guī)則稀疏矩陣而言,每行的非零元個(gè)數(shù)較少,LDM可以容納至少一行計(jì)算所需的元素,所以我們采用一維的任務(wù)劃分方法。如果稀疏矩陣一行的非零元太多,導(dǎo)致LDM空間不能一次容納一行的元素進(jìn)行計(jì)算,那么將采用主核進(jìn)行計(jì)算。一維劃分方式又有兩種:靜態(tài)任務(wù)劃分。將稀疏矩陣按行等分,每個(gè)從核計(jì)算m/64行,從核內(nèi)部循環(huán)執(zhí)行,每次只計(jì)算稀疏矩陣的srow行,其中srow為當(dāng)前申威26010眾核處理器一個(gè)從核的LDM可以容納的最多稀疏行大小。動(dòng)態(tài)任務(wù)劃分。將稀疏矩陣srow行的計(jì)算視為一個(gè)子任務(wù),形成任務(wù)池。每個(gè)從核一次只負(fù)責(zé)一個(gè)子任務(wù),執(zhí)行結(jié)束后再取下一個(gè)子任務(wù)進(jìn)行計(jì)算。靜態(tài)任務(wù)劃分方式每個(gè)從核執(zhí)行的稀疏矩陣行數(shù)基本相同,動(dòng)態(tài)任務(wù)劃分方式時(shí)每個(gè)從核執(zhí)行的稀疏矩陣行數(shù)根據(jù)當(dāng)前從核的執(zhí)行情況本文檔來(lái)自技高網(wǎng)
    ...
    一種<a  title="一種基于申威26010處理器的稀疏矩陣向量乘異構(gòu)眾核實(shí)現(xiàn)方法原文來(lái)自X技術(shù)">基于申威26010處理器的稀疏矩陣向量乘異構(gòu)眾核實(shí)現(xiàn)方法</a>

    【技術(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

    網(wǎng)友詢問(wèn)留言 已有0條評(píng)論
    • 還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。

    1
    主站蜘蛛池模板: 亚洲va无码va在线va天堂| 成在线人免费无码高潮喷水| 精品亚洲AV无码一区二区三区| 人妻aⅴ无码一区二区三区| 亚洲精品无码av片| 日韩人妻无码精品系列| 无码丰满熟妇juliaann与黑人| 人妻av无码专区| 99久久国产热无码精品免费| 国产色爽免费无码视频| 久久亚洲精品成人无码| 无码国内精品久久人妻蜜桃| 一级毛片中出无码| 亚洲AV无码之国产精品| 亚洲AV无码成人精品区天堂| 中文字幕无码免费久久9一区9 | 久久无码AV中文出轨人妻| 人妻精品久久无码专区精东影业 | 人妻AV中出无码内射| 久久亚洲AV成人无码国产电影| 亚洲AV无码专区国产乱码4SE| 日韩精品无码久久一区二区三| 精品无码一区在线观看| 国产午夜精品无码| 东京无码熟妇人妻AV在线网址| 手机在线观看?v无码片| 国产久热精品无码激情| 亚洲精品无码久久久久秋霞| 6080YYY午夜理论片中无码 | 中文字幕无码久久精品青草| 无码人妻精品一区二区三区9厂| 亚洲中文字幕无码久久2020| 无码人妻丰满熟妇区BBBBXXXX | 亚洲AV综合色区无码一二三区| 国产成人无码一区二区在线播放| 亚洲色无码一区二区三区| 无码人妻一区二区三区在线视频| 久久青青草原亚洲AV无码麻豆 | 亚洲国产精品无码专区影院 | 久久亚洲AV无码精品色午夜| 人妻无码一区二区三区AV|