中文引用格式: 黃旭東,,洪澤,陳振嬌. 稀疏矩陣在C66x上的應(yīng)用及優(yōu)化[J]. 電子技術(shù)應(yīng)用,,2024,,50(11):23-27.
英文引用格式: Huang Xudong,Hong Ze,,Chen Zhenjiao. Application and optimization of sparse matrix vector multiplication on C66x[J]. Application of Electronic Technique,,2024,50(11):23-27.
引言
在機(jī)器學(xué)習(xí)和邊緣計算中,,由于樣本數(shù)量巨大,大部分?jǐn)?shù)據(jù)集都是轉(zhuǎn)換成稀疏矩陣進(jìn)行數(shù)據(jù)處理,。問題求解通常轉(zhuǎn)換成解線性代數(shù)方程組AX=B,,其中A大部分是稀疏矩陣,因此SpMV 在求解過程中被重復(fù)調(diào)用,,SpMV 的計算效率直接影響了整體求解效率[1],。李億淵實(shí)現(xiàn)了SpMV 在申威SW26010處理器上的性能優(yōu)化[2-3];吳志勇在FPGA上使用并行計算的方式對稀疏矩陣求解進(jìn)行加速[4],;談?wù)啄暝诋悩?gòu)計算平臺上完成了SpMV劃分優(yōu)化算法[5],;上述文獻(xiàn)方法SpMV 多集中于FPGA、CPU和GPU上的實(shí)現(xiàn)和優(yōu)化,,而在高性能DSP C66x內(nèi)核上的研究還未見報道,,因此開展此項(xiàng)工作具有重要意義。
稀疏矩陣具有自身特殊性,,矩陣中大部分元素都是0,,且0元素分布具有不規(guī)則性。大規(guī)模矩陣計算大部分都是稀疏矩陣計算,且稀疏度都在90%甚至99%以上,,因此高效的稀疏矩陣壓縮格式更利于減少稀疏矩陣計算的空間復(fù)雜度[6],。如COO壓縮格式利用行號、列和數(shù)值三元組來表示,,壓縮方式簡單但不利于減少空間復(fù)雜度[7],。ELLPACK壓縮格式用兩個和原始矩陣相同行數(shù)的矩陣來存儲數(shù)據(jù),DIA對角線壓縮法,,按對角線方式存儲,,列代表對角線,行代表行[8],。這兩種壓縮格式利于實(shí)現(xiàn)稀疏矩陣的應(yīng)用迭代法(如共軛梯度法),,但是抵抗稀疏矩陣的隨機(jī)性較弱。CSR采用整體編碼格式,,利用數(shù)值,、列號以及行偏移來表示數(shù)據(jù),比起DIA和ELLPACK格式,,通用性更高且靈活,。
C66x內(nèi)核采用VLIW構(gòu)架,集成了單精度和雙精度的浮點(diǎn)運(yùn)算單元,,可以實(shí)現(xiàn)定點(diǎn)和浮點(diǎn)的操作,。C66x 內(nèi)核可同時運(yùn)行多達(dá)八項(xiàng)浮點(diǎn)乘法運(yùn)算,加之高達(dá)1.25 GHz的時鐘頻率,,單核浮點(diǎn)峰值可以達(dá)到20 GFLOPS[9],。目前C66x已經(jīng)廣泛應(yīng)用到電力控制,機(jī)器視覺,,機(jī)器人等領(lǐng)域,。
本文分析COO、ELLPACK,、DIA和CSR壓縮格式的優(yōu)缺點(diǎn),,利用C66x的軟件流水和SIMD實(shí)現(xiàn)SpMV_CSR 算法的性能優(yōu)化。通過改變稀疏矩陣的規(guī)模和稠密度計算優(yōu)化后與優(yōu)化前的加速比,,比較C66x內(nèi)核SpMV_CSR 優(yōu)化效果[10],。
本文詳細(xì)內(nèi)容請下載:
http://forexkbc.com/resource/share/2000006205
作者信息:
黃旭東,洪澤,,陳振嬌
(中國電子科技集團(tuán)公司第五十八研究所,,江蘇 無錫214035)