中文題目:Cuper:利用定制數據流和感知解碼加速的高帶寬內存FPGA上的稀疏矩陣-向量乘
論文題目:Cuper: Customized Dataflow and Perceptual Decoding for Sparse Matrix-Vector Multiplication on HBM-Equipped FPGAs
錄用期刊/會議:2024 Design, Automation and Test in Europe Conference (DATE) (CCF-B類會議)
原文鏈接:https://ieeexplore.ieee.org/document/10546672
錄用/見刊時間:2024-3-25(錄用時間)
作者列表:
1)伊恩鑫 中國石油大學(北京)人工智能學院 計算機技術 碩21
2)段懿洳 中國石油大學(北京)人工智能學院 計算機科學與技術 碩21
3)柏一諾 中國石油大學(北京)人工智能學院 電子信息工程 本19
4)趙 康 北京郵電大學集成電路學院 集成電路系教師
5)金 洲 中國石油大學(北京)人工智能學院 計算機系教師
6)劉偉峰 中國石油大學(北京)人工智能學院 計算機系教師
摘要:
稀疏矩陣-向量乘(SpMV)是許多科學計算和工程應用的重要組成部分??紤]到SpMV的不規則數據訪問模式,其加速通常受限于有限的帶寬。 新興的高帶寬內存(HBM)為加速SpMV提供了良機。然而,如何確保高帶寬利用率和低內存訪問沖突仍是具有挑戰的。 在本文中,我們介紹了配備HBM的FPGA上的高性能SpMV加速器Cuper。通過定制HBM兼容的數據流和以感知解碼器為中心的硬件架構,充分提高帶寬利用率和向量重用性。實驗結果表明,Cuper的幾何平均吞吐量、帶寬效率和能效比配備HBM的FPGA上四種最新的SpMV加速器:HiSparse、Graphlily、Sextens和Serpens有顯著提升。與NVIDIA Tesla K80 GPU相比,Cuper實現了2.51倍的吞吐量提升和7.97倍的能效優化。
背景與動機:
FPGA被認為是加速SpMV的極具吸引力的平臺。與傳統的CPU和GPU平臺相比,FPGA可以通過定制數據流和內存結構充分發揮SpMV的并行潛力。并且,FPGA通常具有較低的功耗。然而,在配備DDR內存系統的傳統FPGA平臺上加速SpMV存在一定局限。與傳統的DDR內存相比,高帶寬內存(HBM)具有更多的內存通道和更大的內存帶寬,這為加速SpMV帶來了巨大的機遇。但充分利用配備HBM的FPGA的高帶寬優勢設計高性能通用SpMV加速器還面臨著多項挑戰,主要包括以下幾個方面:(1)現有的稀疏存儲格式對充分利用HBM的高帶寬潛力構成了挑戰;(2)固有的RAW沖突導致計算占用率低;(3)缺乏對輸入向量和片上存儲器的有效利用。
設計與實現:
一、稀疏存儲格式
我們使用稀疏切片作為基本單位,確保PE間相對負載平衡,為了利用向量重用性,我們用CSC格式來存儲稀疏切片;為了減少額外控制開銷,我們利用COO格式存儲每個稀疏切片中的非零元信息。
二、重排算法和數據流處理方案
我們設計了一種兩步重排序算法:(1)沖突感知的行重排算法,利用無沖突滑動窗口減輕了RAW的影響;(2)重用感知的排重排算法,通過收集可重用元素提高了向量的重用性。此外,我們采用循環數據流分配方式,以減少并發訪問帶來的HBM通道沖突。
圖 1:稀疏存儲格式、兩步重排序算法和數據流處理方案
三、Cuper的硬件架構設計
我們精心規劃了HBM通道的分配方案,以充分利用內存帶寬。以感知解碼器為中心的硬件架構可以跳過稀疏矩陣中的空白結構,以減少冗余的向量片上內存寫入。靈活的重用寄存器暫存可復用向量元素,以提高向量重用性。此外,我們還設置了Ping-Pong緩沖區,以掩蓋不同批次之間的內存切換延遲。
圖 2:Cuper的硬件架構設計
實驗結果及分析:
一、 Cuper與FPGA上的SpMV加速器對比
Cuper的幾何平均吞吐量分別比最新的SpMV加速器HiSparse、GraphLily、Sextans和Serpens高出3.28倍、1.99倍、1.75倍和1.44倍。此外,幾何平均帶寬效率分別提高了3.28倍、2.20倍、2.82倍和1.31倍,而幾何平均能效則分別優化了3.59倍、2.08倍、2.21倍和1.44倍。
圖 3:五種SpMV加速器的吞吐量對比
表 1:五種SpMV加速器在12個評估矩陣上的帶寬效率和能效對比
二、 Cuper與K80 GPU對比
K80 GPU和Cuper的最大吞吐量分別為24.81 GFlops和46.74 GFlops。與K80 GPU相比,Cuper在2,757個SuiteSparse矩陣上的吞吐量和能效分別提高了2.51倍和7.97倍。
圖 4:K80 GPU和Cuper在2,757個評估矩陣上的吞吐量對比
結論:
本文中,我們在配備HBM的FPGA上提出了一種新穎的高性能SpMV加速器Cuper。定制稀疏格式的非零元存儲和稀疏塊結構充分利用了HBM的優勢。重排算法有效緩解了SpMV累加階段的寫后讀沖突并提高了向量重用性。以感知解碼器為中心的硬件架構設計進一步改善了重用性和片上內存利用率。評估結果表明,與四種最先進的高帶寬SpMV加速器和K80 GPU相比,Cuper在吞吐量、帶寬效率和能效方面都更具優勢。
通訊作者簡介:
金洲,中國石油大學(北京)計算機系副教授,入選北京市科協青年人才托舉工程、校青年拔尖人才。主要從事集成電路設計自動化(EDA)、面向科學計算的DSA軟硬件協同設計等方面的研究工作。主持并參與國家自然科學基金青年項目、重點項目,科技部重點研發微納電子專項、高性能計算專項青年科學家項目,國家重點實驗室開放課題、企業橫向課題等。在DAC、TCAD、TODAES、SC、PPoPP、IPDPS、TCAS-II、ASP-DAC等重要國際會議和期刊上發表60余篇高水平學術論文。獲EDA2青年科技獎、SC23最佳論文獎、ISEDA23榮譽論文獎、IEEJ九州支部長獎等。
聯系方式:jinzhou@cup.edu.cn