中文題目:Cuper:利用定制數(shù)據(jù)流和感知解碼加速的高帶寬內(nèi)存FPGA上的稀疏矩陣-向量乘
論文題目:Cuper: Customized Dataflow and Perceptual Decoding for Sparse Matrix-Vector Multiplication on HBM-Equipped FPGAs
錄用期刊/會(huì)議:2024 Design, Automation and Test in Europe Conference (DATE) (CCF-B類(lèi)會(huì)議)
原文鏈接:https://ieeexplore.ieee.org/document/10546672
錄用/見(jiàn)刊時(shí)間:2024-3-25(錄用時(shí)間)
作者列表:
1)伊恩鑫 中國(guó)石油大學(xué)(北京)人工智能學(xué)院 計(jì)算機(jī)技術(shù) 碩21
2)段懿洳 中國(guó)石油大學(xué)(北京)人工智能學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù) 碩21
3)柏一諾 中國(guó)石油大學(xué)(北京)人工智能學(xué)院 電子信息工程 本19
4)趙 康 北京郵電大學(xué)集成電路學(xué)院 集成電路系教師
5)金 洲 中國(guó)石油大學(xué)(北京)人工智能學(xué)院 計(jì)算機(jī)系教師
6)劉偉峰 中國(guó)石油大學(xué)(北京)人工智能學(xué)院 計(jì)算機(jī)系教師
摘要:
稀疏矩陣-向量乘(SpMV)是許多科學(xué)計(jì)算和工程應(yīng)用的重要組成部分??紤]到SpMV的不規(guī)則數(shù)據(jù)訪(fǎng)問(wèn)模式,其加速通常受限于有限的帶寬。 新興的高帶寬內(nèi)存(HBM)為加速SpMV提供了良機(jī)。然而,如何確保高帶寬利用率和低內(nèi)存訪(fǎng)問(wèn)沖突仍是具有挑戰(zhàn)的。 在本文中,我們介紹了配備HBM的FPGA上的高性能SpMV加速器Cuper。通過(guò)定制HBM兼容的數(shù)據(jù)流和以感知解碼器為中心的硬件架構(gòu),充分提高帶寬利用率和向量重用性。實(shí)驗(yàn)結(jié)果表明,Cuper的幾何平均吞吐量、帶寬效率和能效比配備HBM的FPGA上四種最新的SpMV加速器:HiSparse、Graphlily、Sextens和Serpens有顯著提升。與NVIDIA Tesla K80 GPU相比,Cuper實(shí)現(xiàn)了2.51倍的吞吐量提升和7.97倍的能效優(yōu)化。
背景與動(dòng)機(jī):
FPGA被認(rèn)為是加速SpMV的極具吸引力的平臺(tái)。與傳統(tǒng)的CPU和GPU平臺(tái)相比,F(xiàn)PGA可以通過(guò)定制數(shù)據(jù)流和內(nèi)存結(jié)構(gòu)充分發(fā)揮SpMV的并行潛力。并且,F(xiàn)PGA通常具有較低的功耗。然而,在配備DDR內(nèi)存系統(tǒng)的傳統(tǒng)FPGA平臺(tái)上加速SpMV存在一定局限。與傳統(tǒng)的DDR內(nèi)存相比,高帶寬內(nèi)存(HBM)具有更多的內(nèi)存通道和更大的內(nèi)存帶寬,這為加速SpMV帶來(lái)了巨大的機(jī)遇。但充分利用配備HBM的FPGA的高帶寬優(yōu)勢(shì)設(shè)計(jì)高性能通用SpMV加速器還面臨著多項(xiàng)挑戰(zhàn),主要包括以下幾個(gè)方面:(1)現(xiàn)有的稀疏存儲(chǔ)格式對(duì)充分利用HBM的高帶寬潛力構(gòu)成了挑戰(zhàn);(2)固有的RAW沖突導(dǎo)致計(jì)算占用率低;(3)缺乏對(duì)輸入向量和片上存儲(chǔ)器的有效利用。
設(shè)計(jì)與實(shí)現(xiàn):
一、稀疏存儲(chǔ)格式
我們使用稀疏切片作為基本單位,確保PE間相對(duì)負(fù)載平衡,為了利用向量重用性,我們用CSC格式來(lái)存儲(chǔ)稀疏切片;為了減少額外控制開(kāi)銷(xiāo),我們利用COO格式存儲(chǔ)每個(gè)稀疏切片中的非零元信息。
二、重排算法和數(shù)據(jù)流處理方案
我們?cè)O(shè)計(jì)了一種兩步重排序算法:(1)沖突感知的行重排算法,利用無(wú)沖突滑動(dòng)窗口減輕了RAW的影響;(2)重用感知的排重排算法,通過(guò)收集可重用元素提高了向量的重用性。此外,我們采用循環(huán)數(shù)據(jù)流分配方式,以減少并發(fā)訪(fǎng)問(wèn)帶來(lái)的HBM通道沖突。
圖 1:稀疏存儲(chǔ)格式、兩步重排序算法和數(shù)據(jù)流處理方案
三、Cuper的硬件架構(gòu)設(shè)計(jì)
我們精心規(guī)劃了HBM通道的分配方案,以充分利用內(nèi)存帶寬。以感知解碼器為中心的硬件架構(gòu)可以跳過(guò)稀疏矩陣中的空白結(jié)構(gòu),以減少冗余的向量片上內(nèi)存寫(xiě)入。靈活的重用寄存器暫存可復(fù)用向量元素,以提高向量重用性。此外,我們還設(shè)置了Ping-Pong緩沖區(qū),以掩蓋不同批次之間的內(nèi)存切換延遲。
圖 2:Cuper的硬件架構(gòu)設(shè)計(jì)
實(shí)驗(yàn)結(jié)果及分析:
一、 Cuper與FPGA上的SpMV加速器對(duì)比
Cuper的幾何平均吞吐量分別比最新的SpMV加速器HiSparse、GraphLily、Sextans和Serpens高出3.28倍、1.99倍、1.75倍和1.44倍。此外,幾何平均帶寬效率分別提高了3.28倍、2.20倍、2.82倍和1.31倍,而幾何平均能效則分別優(yōu)化了3.59倍、2.08倍、2.21倍和1.44倍。

圖 3:五種SpMV加速器的吞吐量對(duì)比
表 1:五種SpMV加速器在12個(gè)評(píng)估矩陣上的帶寬效率和能效對(duì)比
二、 Cuper與K80 GPU對(duì)比
K80 GPU和Cuper的最大吞吐量分別為24.81 GFlops和46.74 GFlops。與K80 GPU相比,Cuper在2,757個(gè)SuiteSparse矩陣上的吞吐量和能效分別提高了2.51倍和7.97倍。
圖 4:K80 GPU和Cuper在2,757個(gè)評(píng)估矩陣上的吞吐量對(duì)比
結(jié)論:
本文中,我們?cè)谂鋫銱BM的FPGA上提出了一種新穎的高性能SpMV加速器Cuper。定制稀疏格式的非零元存儲(chǔ)和稀疏塊結(jié)構(gòu)充分利用了HBM的優(yōu)勢(shì)。重排算法有效緩解了SpMV累加階段的寫(xiě)后讀沖突并提高了向量重用性。以感知解碼器為中心的硬件架構(gòu)設(shè)計(jì)進(jìn)一步改善了重用性和片上內(nèi)存利用率。評(píng)估結(jié)果表明,與四種最先進(jìn)的高帶寬SpMV加速器和K80 GPU相比,Cuper在吞吐量、帶寬效率和能效方面都更具優(yōu)勢(shì)。
通訊作者簡(jiǎn)介:
金洲,中國(guó)石油大學(xué)(北京)計(jì)算機(jī)系副教授,入選北京市科協(xié)青年人才托舉工程、校青年拔尖人才。主要從事集成電路設(shè)計(jì)自動(dòng)化(EDA)、面向科學(xué)計(jì)算的DSA軟硬件協(xié)同設(shè)計(jì)等方面的研究工作。主持并參與國(guó)家自然科學(xué)基金青年項(xiàng)目、重點(diǎn)項(xiàng)目,科技部重點(diǎn)研發(fā)微納電子專(zhuān)項(xiàng)、高性能計(jì)算專(zhuān)項(xiàng)青年科學(xué)家項(xiàng)目,國(guó)家重點(diǎn)實(shí)驗(yàn)室開(kāi)放課題、企業(yè)橫向課題等。在DAC、TCAD、TODAES、SC、PPoPP、IPDPS、TCAS-II、ASP-DAC等重要國(guó)際會(huì)議和期刊上發(fā)表60余篇高水平學(xué)術(shù)論文。獲EDA2青年科技獎(jiǎng)、SC23最佳論文獎(jiǎng)、ISEDA23榮譽(yù)論文獎(jiǎng)、IEEJ九州支部長(zhǎng)獎(jiǎng)等。
聯(lián)系方式:[email protected]