欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種國(guó)產(chǎn)智能芯片的稀疏矩陣向量乘法優(yōu)化方法

文檔序號(hào):40440404發(fā)布日期:2024-12-24 15:14閱讀:13來(lái)源:國(guó)知局
一種國(guó)產(chǎn)智能芯片的稀疏矩陣向量乘法優(yōu)化方法

本發(fā)明屬于邊緣計(jì)算,具體為一種基于國(guó)產(chǎn)智能芯片的稀疏矩陣向量乘法(spmv)的優(yōu)化方法。


背景技術(shù):

1、稀疏矩陣向量乘(sparse?matrix-vector?multiplication,spmv)是一種通用且關(guān)鍵的計(jì)算,它在人工智能領(lǐng)域、圖計(jì)算領(lǐng)域、數(shù)據(jù)挖掘領(lǐng)域等都有重要的支撐作用。在人工智能領(lǐng)域,卷積神經(jīng)網(wǎng)絡(luò)、深度神經(jīng)網(wǎng)絡(luò)等機(jī)器學(xué)習(xí)算法中涉及大量的spmv計(jì)算,提高spmv的計(jì)算效率可以有效地縮短模型訓(xùn)練時(shí)間,減少時(shí)間成本。現(xiàn)有的智能芯片可以很好地為spmv算法提供并行計(jì)算的基礎(chǔ),因此,在現(xiàn)有的智能芯片上對(duì)spmv算法進(jìn)行并行優(yōu)化具有重要意義。

2、國(guó)產(chǎn)自主智能芯片,擁有完整的技術(shù)鏈。然而,目前針對(duì)國(guó)產(chǎn)智能芯片平臺(tái)的數(shù)學(xué)庫(kù)優(yōu)化主要集中在基礎(chǔ)線性代數(shù)子程序庫(kù)(blas)和自動(dòng)調(diào)優(yōu)線性代數(shù)軟件庫(kù)(atla)。作為新興的高性能計(jì)算處理器廠商,國(guó)產(chǎn)智能芯片尚未發(fā)布定制的函數(shù)庫(kù),但相關(guān)研究已在進(jìn)行中。盡管目前還不能通過(guò)調(diào)用專門針對(duì)硬件特性的高性能計(jì)算庫(kù)來(lái)優(yōu)化國(guó)產(chǎn)智能芯片,但開發(fā)者可以利用其開源的向量指令集,通過(guò)重寫高級(jí)語(yǔ)言程序,將標(biāo)量計(jì)算轉(zhuǎn)化為效率更高的向量指令,從而顯著提升計(jì)算性能。

3、但是,單純通過(guò)改寫為指令的方式并不一定能比先對(duì)高級(jí)語(yǔ)言程序進(jìn)行算法優(yōu)化,再將標(biāo)量計(jì)算部分轉(zhuǎn)換為向量指令的二級(jí)優(yōu)化方式表現(xiàn)更好。


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

1、為了解決上述問(wèn)題,本發(fā)明提出了一種國(guó)產(chǎn)智能芯片的稀疏矩陣向量乘法優(yōu)化方法,對(duì)算法的存儲(chǔ)策略和并行計(jì)算策略進(jìn)行了改進(jìn),同時(shí)利用國(guó)產(chǎn)智能芯片的硬件特性有效利用了其向量指令集對(duì)算法進(jìn)一步地進(jìn)行了優(yōu)化。

2、本方法分技術(shù)方案包括以下幾個(gè)步驟:

3、本發(fā)明所述存儲(chǔ)策略優(yōu)化包含以下幾個(gè)步驟:

4、首先,獲取內(nèi)存中的稀疏矩陣,對(duì)獲取得到的稀疏矩陣進(jìn)行分塊。

5、通過(guò)用處理器向量指令支持的位寬除以稀疏矩陣中的數(shù)值類型的長(zhǎng)度得到所述稀疏矩陣分塊的分塊高度。

6、對(duì)于分塊寬度本發(fā)明考慮矩陣中的非零元素選擇合適的分塊寬度。首先,隨機(jī)初始化分塊寬度x,需要獲取國(guó)產(chǎn)智能芯片的向量指令長(zhǎng)度,如果塊寬度大于國(guó)產(chǎn)智能芯片的向量指令長(zhǎng)度,分塊寬度x調(diào)整為每行非零元素的平均個(gè)數(shù)。然后獲取操作系統(tǒng)的緩存行大小以及單指令多數(shù)據(jù)(simd)寄存器寬度,如果x大于緩存行大小且x為偶數(shù),為了適應(yīng)更大的稀疏矩陣,將分塊寬度左移一位,為了符合數(shù)據(jù)對(duì)齊避免額外訪存,如果x大于緩存行大小且奇數(shù)則先對(duì)x自增1再左移一位。如果x小于緩存行大小且大于單指令多數(shù)據(jù)(simd)寄存器寬度,則將x向下對(duì)齊單指令多數(shù)據(jù)(simd)寄存器寬度。如果x小于緩存行大小且小于單指令多數(shù)據(jù)simd寄存器寬度則將x向上取整到十?dāng)?shù)。

7、讀取稀疏矩陣的行偏移數(shù)組、列數(shù)組和值數(shù)組。

8、依據(jù)讀取得到的行偏移數(shù)組、列數(shù)組和值數(shù)組在稀疏矩陣結(jié)構(gòu)體中對(duì)行偏移數(shù)組、列數(shù)組和值數(shù)組對(duì)齊存儲(chǔ)得到稀疏矩陣的三維表示。

9、并對(duì)得到的稀疏矩陣的三維表示重載加法和減法的運(yùn)算符。

10、本發(fā)明并行計(jì)算策略優(yōu)化包含以下幾個(gè)步驟:

11、在確定分塊大小后,每個(gè)分塊就是一個(gè)計(jì)算任務(wù),確定程序整體的計(jì)算任務(wù)個(gè)數(shù),基于重載后的稀疏矩陣的三維表示,采取將計(jì)算任務(wù)均分給每個(gè)線程的方式來(lái)實(shí)現(xiàn)多線程負(fù)載均衡。

12、在使用多線程計(jì)算的同時(shí),使用國(guó)產(chǎn)智能芯片中的系統(tǒng)監(jiān)控工具例如vmstat和top指令確認(rèn)瓶頸類型,然后使用國(guó)產(chǎn)智能芯片中的性能分析工具例如perf指令分析進(jìn)程中該瓶頸類型的spmv熱點(diǎn)函數(shù),使用國(guó)產(chǎn)智能芯片中的匯編級(jí)別性能分析指令如perfannotate指令得到匯編級(jí)別的spmv熱點(diǎn)函數(shù)。

13、采用匯編融合乘加的向量指令替換匯編級(jí)別的spmv熱點(diǎn)函數(shù)中的乘法和加法并對(duì)匯編load指令重載實(shí)現(xiàn)加載矩陣數(shù)據(jù)的優(yōu)化。

14、最后,對(duì)每個(gè)線程的計(jì)算任務(wù)進(jìn)行整合,完成spmv的計(jì)算。

15、本發(fā)明有益效果:

16、針對(duì)國(guó)產(chǎn)智能芯片通過(guò)存儲(chǔ)策略優(yōu)化,并行計(jì)算框架優(yōu)化以及向量指令優(yōu)化等方式實(shí)現(xiàn)了稀疏矩陣向量乘法平均推理時(shí)間的優(yōu)化。通過(guò)針對(duì)國(guó)產(chǎn)智能芯片硬件特性提升了稀疏矩陣向量乘法在高稀疏度情況下從萬(wàn)級(jí)規(guī)模到百億級(jí)規(guī)模的計(jì)算性能。并對(duì)比了在使用稀疏矩陣向量乘法替代yolov5卷積算子時(shí)的推理性能,在推理不同數(shù)量級(jí)電力線圖片時(shí)均擁有較大的推理性能的提升。



技術(shù)特征:

1.一種國(guó)產(chǎn)智能芯片的稀疏矩陣向量乘法優(yōu)化方法,其特征在于,包括以下步驟:

2.根據(jù)權(quán)利要求1所述的國(guó)產(chǎn)智能芯片的稀疏矩陣向量乘法優(yōu)化方法,其特征在于,對(duì)獲取得到的稀疏矩陣進(jìn)行分塊,所述分塊的高度和寬度具體如下:

3.根據(jù)權(quán)利要求2所述的國(guó)產(chǎn)智能芯片的稀疏矩陣向量乘法優(yōu)化方法,其特征在于,所述步驟s4具體實(shí)現(xiàn)過(guò)程如下:

4.根據(jù)權(quán)利要求3所述的國(guó)產(chǎn)智能芯片的稀疏矩陣向量乘法優(yōu)化方法,其特征在于,所述匯編融合乘加的向量指令具體實(shí)現(xiàn)過(guò)程如下:

5.根據(jù)權(quán)利要求3所述的國(guó)產(chǎn)智能芯片的稀疏矩陣向量乘法優(yōu)化方法,其特征在于,所述對(duì)匯編load指令重載具體實(shí)現(xiàn)過(guò)程如下:


技術(shù)總結(jié)
本發(fā)明公開了一種國(guó)產(chǎn)智能芯片的稀疏矩陣向量乘法優(yōu)化方法,該方法首先獲取內(nèi)存中的稀疏矩陣,對(duì)獲取得到的稀疏矩陣進(jìn)行分塊。其次讀取稀疏矩陣的行偏移數(shù)組、列數(shù)組和值數(shù)組,并在稀疏矩陣結(jié)構(gòu)體中對(duì)行偏移數(shù)組、列數(shù)組和值數(shù)組對(duì)齊存儲(chǔ),得到稀疏矩陣的三維表示,再重載加法和減法的運(yùn)算符。然后基于重載后的稀疏矩陣的三維表示,將計(jì)算任務(wù)均分給每個(gè)線程,實(shí)現(xiàn)多線程負(fù)載均衡。最后對(duì)每個(gè)線程的計(jì)算任務(wù)進(jìn)行整合,完成SpMV的計(jì)算。本發(fā)明實(shí)現(xiàn)了稀疏矩陣向量乘法平均推理時(shí)間的優(yōu)化,提升了稀疏矩陣向量乘法在高稀疏度情況下從萬(wàn)級(jí)規(guī)模到百億級(jí)規(guī)模的計(jì)算性能。

技術(shù)研發(fā)人員:賈剛勇,胡與秀,陳圣,饒歡樂(lè),俞銘輝,陳雅琦
受保護(hù)的技術(shù)使用者:杭州電子科技大學(xué)
技術(shù)研發(fā)日:
技術(shù)公布日:2024/12/23
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
藁城市| 延安市| 大邑县| 新竹县| 马山县| 思南县| 宁安市| 吉安市| 韶关市| 二连浩特市| 杭锦旗| 雅江县| 卢湾区| 临沂市| 沈丘县| 库尔勒市| 大安市| 黄冈市| 江华| 页游| 北安市| 卓资县| 晋州市| 门源| 毕节市| 东海县| 页游| 牡丹江市| 宜城市| 上思县| 阿瓦提县| 云阳县| 左权县| 肇源县| 天峨县| 青州市| 高雄县| 石阡县| 洛浦县| 石门县| 赞皇县|