国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      對(duì)稱稀疏矩陣向量乘混合加速方法、裝置和設(shè)備

      文檔序號(hào):40279111發(fā)布日期:2024-12-11 13:16閱讀:12來(lái)源:國(guó)知局
      對(duì)稱稀疏矩陣向量乘混合加速方法、裝置和設(shè)備

      本技術(shù)涉及并行計(jì)算,特別是涉及一種對(duì)稱稀疏矩陣向量乘混合加速方法、裝置和設(shè)備。


      背景技術(shù):

      1、稀疏矩陣向量乘(spmv)把一個(gè)稀疏矩陣與一個(gè)向量相乘。稀疏矩陣是指矩陣中大部分元素為0的矩陣。這里的向量本身也可是稀疏的,但通常情況下是密集的。稀疏矩陣向量乘作為一種通用的運(yùn)算,在科學(xué)應(yīng)用、經(jīng)濟(jì)模型、數(shù)據(jù)挖掘、信息檢索中廣泛應(yīng)用。例如,在利用迭代法求解稀疏線性方程組和特征值的問題。

      2、對(duì)于稀疏矩陣,通常僅存儲(chǔ)非零元以節(jié)約存儲(chǔ)空間,提升計(jì)算效率。人們已經(jīng)提出了多種稀疏矩陣存儲(chǔ)格式,主要的稀疏矩陣存儲(chǔ)格式有三種:coo、csr和csc。除了以上主流的格式,現(xiàn)有研究成果還提出了一些特殊的格式,應(yīng)對(duì)不同類型的稀疏矩陣和并行計(jì)算的要求。針對(duì)不同的存儲(chǔ)格式,有不同的矩陣向量乘并行算法。目前,最常見的算法是基于csr格式的按行并行算法,該算法適用于稀疏矩陣中非零元素比較均勻分布的情況,對(duì)于分布不均勻的矩陣效果較差。除此之外,還有基于csr5格式的并行算法、基于csb格式的并行算法和分塊并行的算法等。

      3、在實(shí)際應(yīng)用中,很多領(lǐng)域涉及的稀疏矩陣是對(duì)稱的,而對(duì)稱稀疏矩陣可以通過僅存儲(chǔ)上(下)三角矩陣的方式減少內(nèi)存占用,增加計(jì)算訪存比,從而提升計(jì)算性能,盡管可以利用稀疏矩陣的對(duì)稱性質(zhì)減少存儲(chǔ)空間,但是對(duì)于沖突較多的對(duì)稱稀疏矩陣,因其本身并行性不足,反而會(huì)使得效果差于不使用對(duì)稱性時(shí)的情況。


      技術(shù)實(shí)現(xiàn)思路

      1、基于此,有必要針對(duì)上述技術(shù)問題,提供一種對(duì)稱稀疏矩陣向量乘的混合模式加速方法、裝置和設(shè)備。

      2、一種對(duì)稱稀疏矩陣向量乘混合加速方法,方法適用于共享存儲(chǔ)架構(gòu)計(jì)算機(jī),方法包括:

      3、采用對(duì)稱csr格式sss(sparse?symmetric?skyline)存儲(chǔ)待向量乘運(yùn)算的對(duì)稱稀疏矩陣。

      4、根據(jù)對(duì)稱稀疏矩陣向量乘中行與行之間的數(shù)據(jù)競(jìng)爭(zhēng)關(guān)系,構(gòu)建沖突圖。

      5、調(diào)用圖劃分工具在邏輯上把沖突圖劃分成若干個(gè)子圖以及相鄰子圖之間的隔離區(qū),并對(duì)每個(gè)子圖內(nèi)的節(jié)點(diǎn)進(jìn)行排序。

      6、對(duì)隔離區(qū)逐層進(jìn)行遞歸劃分并對(duì)所有子圖和隔離區(qū)內(nèi)的節(jié)點(diǎn)重新進(jìn)行排序,并以樹的形式組織和存儲(chǔ)在共享內(nèi)存中,直到劃分層數(shù)到達(dá)預(yù)設(shè)層數(shù)之后停止劃分,得到任務(wù)依賴樹。

      7、根據(jù)任務(wù)依賴樹將對(duì)稱稀疏矩陣向量乘的任務(wù)進(jìn)行分解,將分解的任務(wù)分配給對(duì)應(yīng)處理器。

      8、所有處理器采用混合加速策略進(jìn)行并行計(jì)算;混合加速策略為基于對(duì)稱csr格式sss的按行并行策略和基于csr格式的按行并行策略的混合。

      9、在其中一個(gè)實(shí)施例中,對(duì)稱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ì)稱矩陣的對(duì)角線元素的數(shù)值。

      10、在其中一個(gè)實(shí)施例中,所有處理器采用混合加速策略進(jìn)行并行計(jì)算,包括:

      11、每個(gè)處理器先對(duì)分配的任務(wù)中任務(wù)依賴樹的所有子圖對(duì)應(yīng)的任務(wù)采用對(duì)稱csr格式sss按行并行策略進(jìn)行計(jì)算,然后再對(duì)隔離區(qū)對(duì)應(yīng)的任務(wù)采用csr格式按行并行策略進(jìn)行計(jì)算。

      12、在其中一個(gè)實(shí)施例中,調(diào)用網(wǎng)格劃分工具在邏輯上把沖突圖劃分成若干個(gè)子圖以及相鄰子圖之間的隔離區(qū),并對(duì)每個(gè)子圖內(nèi)的節(jié)點(diǎn)進(jìn)行排序,包括:

      13、調(diào)用metis圖劃分工具把沖突圖劃分成若干個(gè)子圖。

      14、遍歷所有子圖中的節(jié)點(diǎn)并檢測(cè)其是否與其他子圖的節(jié)點(diǎn)存在連邊。

      15、對(duì)于與其他子圖中的點(diǎn)存在連邊的點(diǎn),將該點(diǎn)從原本的子圖中剔除并劃分到隔離區(qū)中。

      16、對(duì)于與其他子圖內(nèi)的點(diǎn)不存在連邊的點(diǎn)不做處理。

      17、對(duì)各個(gè)子圖以及隔離區(qū)中的節(jié)點(diǎn)進(jìn)行重排序,使得各個(gè)區(qū)域內(nèi)的節(jié)點(diǎn)編號(hào)連續(xù)。

      18、在其中一個(gè)實(shí)施例中,對(duì)隔離區(qū)逐層進(jìn)行遞歸劃分并對(duì)所有子圖和隔離區(qū)內(nèi)的節(jié)點(diǎn)重新進(jìn)行排序,并以樹的形式組織和存儲(chǔ)在共享內(nèi)存中,直到劃分層數(shù)到達(dá)預(yù)設(shè)層數(shù)之后停止劃分,得到任務(wù)依賴樹,包括:

      19、將所有隔離區(qū)合并后進(jìn)行逐層遞歸劃分,每次劃分后對(duì)子圖和隔離區(qū)內(nèi)的節(jié)點(diǎn)進(jìn)行重新排序,并以樹的形式組織和存儲(chǔ)在共享內(nèi)存中,直到劃分層數(shù)到達(dá)預(yù)設(shè)層數(shù)之后停止劃分,得到任務(wù)依賴樹。

      20、一種對(duì)稱稀疏矩陣向量乘混合加速裝置,裝置包括:

      21、對(duì)稱稀疏矩陣存儲(chǔ)模塊,用于采用對(duì)稱csr格式sss存儲(chǔ)待向量乘運(yùn)算的對(duì)稱稀疏矩陣。

      22、沖突圖構(gòu)建模塊,用于根據(jù)對(duì)稱稀疏矩陣向量乘中行與行之間的數(shù)據(jù)競(jìng)爭(zhēng)關(guān)系,構(gòu)建沖突圖。

      23、任務(wù)依賴樹構(gòu)建模塊,用于調(diào)用圖劃分工具在邏輯上把沖突圖劃分成若干個(gè)子圖以及相鄰子圖之間的隔離區(qū),并對(duì)每個(gè)子圖內(nèi)的節(jié)點(diǎn)進(jìn)行排序;對(duì)隔離區(qū)逐層進(jìn)行遞歸劃分并對(duì)所有子圖和隔離區(qū)內(nèi)的節(jié)點(diǎn)重新進(jìn)行排序,并以樹的形式組織和存儲(chǔ)在共享內(nèi)存中,直到劃分層數(shù)到達(dá)預(yù)設(shè)層數(shù)之后停止劃分,得到任務(wù)依賴樹。

      24、任務(wù)依賴樹執(zhí)行模塊,用于根據(jù)任務(wù)依賴樹將對(duì)稱稀疏矩陣向量乘的任務(wù)進(jìn)行分解,將分解的任務(wù)分配給對(duì)應(yīng)處理器;所有處理器采用混合加速策略進(jìn)行并行計(jì)算;混合加速策略為基于對(duì)稱csr格式sss的按行并行策略和基于csr格式的按行并行策略的混合。

      25、在其中一個(gè)實(shí)施例中,對(duì)稱稀疏矩陣存儲(chǔ)模塊中對(duì)稱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ì)稱矩陣的對(duì)角線元素的數(shù)值。

      26、在其中一個(gè)實(shí)施例中,任務(wù)依賴樹執(zhí)行模塊,還用于每個(gè)處理器先對(duì)分配的任務(wù)中任務(wù)依賴樹的所有子圖對(duì)應(yīng)的任務(wù)采用對(duì)稱csr格式sss按行并行策略進(jìn)行計(jì)算,然后再對(duì)隔離區(qū)對(duì)應(yīng)的任務(wù)采用csr格式按行并行策略進(jìn)行計(jì)算。

      27、在其中一個(gè)實(shí)施例中,任務(wù)依賴樹構(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ù)。

      28、一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述任一方法的步驟。

      29、上述稱稀疏矩陣向量乘的混合加速方法、裝置和設(shè)備,所述方法包括:采用對(duì)稱csr格式sss存儲(chǔ)待向量乘運(yùn)算的對(duì)稱稀疏矩陣;根據(jù)對(duì)稱稀疏矩陣向量乘中行與行之間的數(shù)據(jù)競(jìng)爭(zhēng)關(guān)系,構(gòu)建沖突圖;調(diào)用圖劃分工具在邏輯上把沖突圖劃分成若干個(gè)子圖以及相鄰子圖之間的隔離區(qū),并對(duì)每個(gè)子圖內(nèi)的節(jié)點(diǎn)進(jìn)行排序;對(duì)隔離區(qū)逐層進(jìn)行遞歸劃分并對(duì)所有子圖和隔離區(qū)內(nèi)的節(jié)點(diǎn)重新進(jìn)行排序,并以樹的形式組織和存儲(chǔ)在共享內(nèi)存中,直到劃分層數(shù)到達(dá)預(yù)設(shè)層數(shù)之后停止劃分,得到任務(wù)依賴樹;根據(jù)任務(wù)依賴樹將對(duì)稱稀疏矩陣向量乘的任務(wù)進(jìn)行分解,將分解的任務(wù)分配給對(duì)應(yīng)處理器;所有處理器采用混合加速策略進(jìn)行并行計(jì)算;混合加速策略為基于對(duì)稱csr格式sss的按行并行策略和基于csr格式的按行并行策略的混合。本方法結(jié)合兩種策略的優(yōu)勢(shì),減少了存儲(chǔ)內(nèi)存的消耗,增加了計(jì)算訪存比;對(duì)沖突較多對(duì)稱并行性較差的部分用csr行并行策略,提高總體性能。

      當(dāng)前第1頁(yè)1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1