當(dāng)CPU遇到FPGA 異構(gòu)計算威力大無窮
2016-07-13
作者:王偉
來源:電子技術(shù)應(yīng)用
在過去較長一段時間里,我們使用單核CPU進行計算,然而隨著晶體管尺寸的不斷減小,單核CPU的性能提升遇到瓶頸。而單純的增加核心數(shù)目對性能提升有限,同時由于同構(gòu)處理器累加造成能效低下,功耗、散熱、可靠性等問題難以解決。
此時,專用領(lǐng)域的眾核處理器與CPU組成的異構(gòu)計算平臺成為了一種新的解決方案,由此開啟了異構(gòu)計算時代的大門。其中CPU+FPGA的新型異構(gòu)計算平臺,因其較高的能量效率,成為了一個新的研究熱點。
在2016年中國(成都)電子展期間,電子技術(shù)應(yīng)用舉辦了以“基于FPGA的異構(gòu)計算開發(fā)平臺及應(yīng)用”為主題的Tech-Workshop。來自電子科技大學(xué)的黃樂天博士介紹了基于CPU和FPGA平臺進行數(shù)據(jù)挖掘的算法研究與實現(xiàn)。這里的FPGA異構(gòu)計算平臺,采用了OpenCL異構(gòu)計算標準進行異構(gòu)程序的設(shè)計,包括運行在CPU上的主機程序以及運行在FPGA上的內(nèi)核程序。同時,黃樂天還分享了兩個設(shè)計方案,即分類/聚類算法異構(gòu)實現(xiàn)方案設(shè)計和游戲機器人異構(gòu)實現(xiàn)方案設(shè)計。
電子科技大學(xué)黃樂天博士
分類/聚類算法異構(gòu)實現(xiàn)方案設(shè)計
傳統(tǒng)異構(gòu)方案中,CPU將數(shù)據(jù)一次性發(fā)送給FPGA,處理完成后再交給CPU,加速設(shè)備與主機并不同時參與計算。與傳統(tǒng)方案不同,本設(shè)計采用了設(shè)備間流水處理的加速方案,即:將數(shù)據(jù)集進行了分組,各組數(shù)據(jù)在被處理時可在FPGA與CPU之間形成流水操作,使得CPU和FPGA可以同時參與計算,充分發(fā)揮了異構(gòu)系統(tǒng)的優(yōu)勢。
KNN算法異構(gòu)實現(xiàn)方案設(shè)計
游戲機器人異構(gòu)實現(xiàn)方案設(shè)計
本設(shè)計的主機端采用Intel 的CPU,主要進行邏輯控制;設(shè)備端采用Altera的DE5板卡,主要完成圖像處理加速任務(wù)。該設(shè)計基于OpenCL開發(fā),具有擬人視覺、智能進化、并行優(yōu)化、異構(gòu)加速和噪聲抑制的特性。
游戲機器人系統(tǒng)架構(gòu)
以上分享的兩個設(shè)計案例都是服務(wù)器級的異構(gòu)計算,同時也是最為成熟的異構(gòu)計算模式。除此之外還有芯片級異構(gòu)計算和數(shù)據(jù)中心級異構(gòu)計算,其中前者目前尚不成熟,有很大的優(yōu)化空間,其實現(xiàn)模式業(yè)內(nèi)尚未探討清楚,但可以肯定未來將成為最有價值的市場。