《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 稀疏矩陣在C66x上的應用及優化
稀疏矩陣在C66x上的應用及優化
電子技術應用
黃旭東,洪澤,陳振嬌
中國電子科技集團公司第五十八研究所
摘要: 隨著大數據的爆炸式發展,稀疏矩陣已經成為機器學習和邊緣計算的重要一環。在機器學習領域,數據集的稀疏矩陣化既可以保存信息又可以節省內存,已成為不可避免的趨勢。SpMV(稀疏矩陣向量乘)作為稀疏矩陣計算中的核心,其迭代求解過程的空間復雜度和時間復雜度具有重要研究意義。分析稀疏矩陣C00、CSR、ELLPACK和DIA壓縮格式,改變稀疏矩陣的稀疏度和非零元素的分布,得出COO讀取數據、CSR進行計算的SpMV通用性更強。利用C66x的VLIW指令構架,采用軟件流水的方式對SpMV_CSR算法進行指令并行優化,利用SIMD單指令多數據指令集對SpMV_CSR算法完成數據并行優化。實驗結果表明,優化后的SpMV_CSR算法相較于優化前的加速比平均達到5倍以上。
中圖分類號:TP311 文獻標志碼:A DOI: 10.16157/j.issn.0258-7998.244858
中文引用格式: 黃旭東,洪澤,陳振嬌. 稀疏矩陣在C66x上的應用及優化[J]. 電子技術應用,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.
Application and optimization of sparse matrix vector multiplication on C66x
Huang Xudong,Hong Ze,Chen Zhenjiao
China Electronics Technology Group Corporation No.58 Research Institute
Abstract: With the explosive development of big data, sparse matrix has become an important part of machine learning and edge computing. In the field of machine learning, sparse matrix of data sets can not only save information but also save memory, which has become an inevitable trend. Sparse matrix vector multiplication (SpMV) is the core of sparse matrix computation. The space complexity and time complexity of its iterative solution process have important research significance. Analyze the compression format of sparse matrix C00, CSR, ELLPACK and DIA, change the sparsity of sparse matrix and the distribution of non-zero elements, and conclude that the SpMV read by COO and calculated by CSR is more universal. Utilizing the VLIW instruction architecture of C66x, using software pipelining to manage SpMV_CSR algorithm for instruction parallel optimization, utilizing SIMD single instruction multiple data instruction set for SpMV_CSR algorithm completes data parallel optimization. The experimental results indicate that the optimized SpMV_CSR algorithm has an average acceleration ratio of over 5 times compared to before optimization.
Key words : sparse matrix;SpMV;CSR;C66x;software pipelining;SIMD

引言

在機器學習和邊緣計算中,由于樣本數量巨大,大部分數據集都是轉換成稀疏矩陣進行數據處理。問題求解通常轉換成解線性代數方程組AX=B,其中A大部分是稀疏矩陣,因此SpMV 在求解過程中被重復調用,SpMV 的計算效率直接影響了整體求解效率[1]。李億淵實現了SpMV 在申威SW26010處理器上的性能優化[2-3];吳志勇在FPGA上使用并行計算的方式對稀疏矩陣求解進行加速[4];談兆年在異構計算平臺上完成了SpMV劃分優化算法[5];上述文獻方法SpMV 多集中于FPGA、CPU和GPU上的實現和優化,而在高性能DSP C66x內核上的研究還未見報道,因此開展此項工作具有重要意義。

稀疏矩陣具有自身特殊性,矩陣中大部分元素都是0,且0元素分布具有不規則性。大規模矩陣計算大部分都是稀疏矩陣計算,且稀疏度都在90%甚至99%以上,因此高效的稀疏矩陣壓縮格式更利于減少稀疏矩陣計算的空間復雜度[6]。如COO壓縮格式利用行號、列和數值三元組來表示,壓縮方式簡單但不利于減少空間復雜度[7]。ELLPACK壓縮格式用兩個和原始矩陣相同行數的矩陣來存儲數據,DIA對角線壓縮法,按對角線方式存儲,列代表對角線,行代表行[8]。這兩種壓縮格式利于實現稀疏矩陣的應用迭代法(如共軛梯度法),但是抵抗稀疏矩陣的隨機性較弱。CSR采用整體編碼格式,利用數值、列號以及行偏移來表示數據,比起DIA和ELLPACK格式,通用性更高且靈活。

C66x內核采用VLIW構架,集成了單精度和雙精度的浮點運算單元,可以實現定點和浮點的操作。C66x 內核可同時運行多達八項浮點乘法運算,加之高達1.25 GHz的時鐘頻率,單核浮點峰值可以達到20 GFLOPS[9]。目前C66x已經廣泛應用到電力控制,機器視覺,機器人等領域。

本文分析COO、ELLPACK、DIA和CSR壓縮格式的優缺點,利用C66x的軟件流水和SIMD實現SpMV_CSR 算法的性能優化。通過改變稀疏矩陣的規模和稠密度計算優化后與優化前的加速比,比較C66x內核SpMV_CSR 優化效果[10]。


本文詳細內容請下載:

http://m.xxav2194.com/resource/share/2000006205


作者信息:

黃旭東,洪澤,陳振嬌

(中國電子科技集團公司第五十八研究所,江蘇 無錫214035)


Magazine.Subscription.jpg

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 荡乱妇3p疯狂伦交下载阅读| 三级视频网站在线观看| 特级毛片A级毛片免费播放| 国产喷水女王在线播放| 99久久伊人精品综合观看| 无码吃奶揉捏奶头高潮视频| 亚洲图片欧美日韩| 粗壮挺进邻居人妻| 国产亚洲精品无码专区| 91香蕉国产线在线观看免费| 成人区人妻精品一区二区不卡网站| 亚洲aⅴ在线无码播放毛片一线天 亚洲aⅴ在线无码播放毛片一线天 | 国产无套护士丝袜在线观看| eeuss中文字幕| 日本大臿亚洲香蕉大片| 亚洲啪啪av无码片| 狠狠躁日日躁夜夜躁2022麻豆| 国产一级特黄a大片免费| 亚洲五月丁香综合视频| 精品午夜福利在线观看| 国产在视频线精品视频| 8888四色奇米在线观看不卡| 巨胸喷奶水视频www网快速| 久久国产乱子伦精品免费看| 欧美婷婷六月丁香综合色| 佐藤遥希在线播放一二区| 色就色欧美综合偷拍区a| 国产特级毛片aaaaaaa高清| 98久久人妻无码精品系列蜜桃 | 日韩电影中文字幕在线观看| 亚洲日本在线观看| 男女爽爽无遮挡午夜视频在线观看 | 一级毛片免费视频网站| 日韩亚洲av无码一区二区三区| 亚洲国产精品免费在线观看| 狠狠躁天天躁无码中文字幕| 四虎免费在线观看| 韩国v欧美v亚洲v日本v| 国产精品.XX视频.XXTV| 777亚洲精品乱码久久久久久| 天天操天天射天天爽|