新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 雷達(dá)信號(hào)處理:FPGA還是GPU?

雷達(dá)信號(hào)處理:FPGA還是GPU?

作者: 時(shí)間:2015-06-22 來(lái)源:網(wǎng)絡(luò) 收藏

  和CPU一直是雷達(dá)信號(hào)處理不可分割的組成部分。傳統(tǒng)上用于前端處理,CPU用于后端處理。隨著雷達(dá)系統(tǒng)的處理能力越來(lái)越強(qiáng),越來(lái)越復(fù)雜,對(duì)信息處理的需求也急劇增長(zhǎng)。為此,不斷在提高處理能力和吞吐量,CPU也在發(fā)展以滿(mǎn)足下一代雷達(dá)的信號(hào)處理性能需求。這種努力發(fā)展的趨勢(shì)導(dǎo)致越來(lái)越多的使用CPU加速器,如圖形處理單元()等,以支持較重的處理負(fù)載。

本文引用地址:http://www.butianyuan.cn/article/276090.htm

  本文對(duì)比了FPGA和浮點(diǎn)性能和設(shè)計(jì)流程。最近幾年,已經(jīng)不僅能完成圖形處理功能,而且成為強(qiáng)大的浮點(diǎn)處理平臺(tái),被稱(chēng)之為GP-GPU,具有很高的峰值FLOP指標(biāo)。FPGA傳統(tǒng)上用于定點(diǎn)數(shù)字信號(hào)處理器(DSP),而現(xiàn)在足以競(jìng)爭(zhēng)完成浮點(diǎn)處理功能,也成為后端雷達(dá)處理加速功能的有力競(jìng)爭(zhēng)者。

  在FPGA前端,40 nm和28 nm均報(bào)道了很多可驗(yàn)證的浮點(diǎn)基準(zhǔn)測(cè)試結(jié)果。Altera的下一代高性能FPGA將采用Intel的14 nm三柵極技術(shù),性能至少達(dá)到5 TFLOP.使用這種先進(jìn)的半導(dǎo)體工藝,性能可實(shí)現(xiàn)100 GFLOPs/W.而且,Altera FPGA現(xiàn)在支持OpenCL,這是GPU使用的一款優(yōu)秀的編程語(yǔ)言。

  峰值GFLOPS指標(biāo)

  目前的FPGA性能可達(dá)到1TFLOP以上峰值,AMD和Nvidia最新的GPU甚至更高,接近4 TFLOP.但在某些應(yīng)用中,峰值GFLOP,即TFLOP,提供的器件性能信息有限。它只表示了每秒能完成的理論浮點(diǎn)加法或乘法總數(shù)。這一分析表示,在雷達(dá)應(yīng)用中,很多情況下,F(xiàn)PGA在算法和數(shù)據(jù)規(guī)模上超過(guò)了GPU吞吐量。

  一種中等復(fù)雜且常用的算法是快速傅里葉變換(FFT)。大部分雷達(dá)系統(tǒng)由于在頻域完成大量處理工作,因此會(huì)經(jīng)常用到FFT算法。例如,使用單精度浮點(diǎn)處理實(shí)現(xiàn)一個(gè)4,096點(diǎn)FFT.它能在每個(gè)時(shí)鐘周期輸入輸出四個(gè)復(fù)數(shù)采樣。每個(gè)FFT內(nèi)核運(yùn)行速度超過(guò)80 GFLOP,大容量28 nm FPGA的資源支持實(shí)現(xiàn)7個(gè)此類(lèi)內(nèi)核。

  但如圖1所示,該FPGA的FFT算法接近400 GFLOP.這一結(jié)果基于“按鍵式”OpenCL編譯,無(wú)需FPGA專(zhuān)業(yè)知識(shí)。使用邏輯鎖定和設(shè)計(jì)空間管理器(DSE)進(jìn)行優(yōu)化,7內(nèi)核設(shè)計(jì)接近單內(nèi)核設(shè)計(jì)的fMAX,使用28 nm FPGA,將其提升至500 GFLOP,超過(guò)了10 GFLOPs/W.

  

 

  圖1.Stratix V 5SGSD8 FPGA浮點(diǎn)FFT性能

  這一GFLOPs/W結(jié)果要比CPU或者GPU功效高很多。對(duì)比GPU,GPU在這些FFT長(zhǎng)度上效率并不高,因此沒(méi)有進(jìn)行基準(zhǔn)測(cè)試。當(dāng)FFT長(zhǎng)度達(dá)到幾十萬(wàn)個(gè)點(diǎn)時(shí),GPU效率才比較高,能夠?yàn)镃PU提供有效的加速功能。但是,雷達(dá)處理應(yīng)用一般是長(zhǎng)度較短的FFT,F(xiàn)FT長(zhǎng)度通常在512至8,192之間。

  總之,實(shí)際的GFLOP一般只達(dá)到峰值或者理論GFLOP的一小部分。出于這一原因,更好的方法是采用算法來(lái)對(duì)比性能,這種算法能夠合理的表示典型應(yīng)用的特性。隨著基準(zhǔn)測(cè)試算法復(fù)雜度的提高,其更能代表實(shí)際雷達(dá)系統(tǒng)性能。

  算法基準(zhǔn)測(cè)試

  相比依靠供應(yīng)商的峰值GFLOP指標(biāo)來(lái)驅(qū)動(dòng)處理技術(shù)決策,另一方法是使用比較復(fù)雜的第三方評(píng)估??諘r(shí)自適應(yīng)處理(STAP)雷達(dá)常用的算法是Cholesky分解。這一算法經(jīng)常用于線性代數(shù),高效的解出多個(gè)方程,可以用在相關(guān)矩陣上。

  Cholesky算法在數(shù)值上非常復(fù)雜,要獲得合理的結(jié)果總是要求浮點(diǎn)數(shù)值表示。計(jì)算需求與N3成正比,N是矩陣維度,因此,一般對(duì)處理要求很高。雷達(dá)系統(tǒng)一般是實(shí)時(shí)工作,因此,要求有較高的吞吐量。結(jié)果取決于矩陣大小以及所要求的矩陣處理吞吐量,通常會(huì)超過(guò)100 GFLOP.

  表1顯示了基于Nvidia GPU指標(biāo)1.35 TFLOP的基準(zhǔn)測(cè)試結(jié)果,使用了各種庫(kù),以及Xilinx Virtex6 XC6VSX475T,其密度達(dá)到475K LC,這種FPGA針對(duì)DSP處理進(jìn)行了優(yōu)化。用于Cholesky基準(zhǔn)測(cè)試時(shí),這些器件在密度上與Altera FPGA相似。LAPACK和MAGMA是商用庫(kù),而GPU GFLOP則是采用田納西州大學(xué)開(kāi)發(fā)的OpenCL實(shí)現(xiàn)的(2)。對(duì)于小規(guī)模矩陣,后者更優(yōu)化一些。

  表1.GPU和Xilinx FPGA Cholesky基準(zhǔn)測(cè)試(2)

  

 

  Altera測(cè)試了容量中等的Altera Stratix? V FPGA(460K邏輯單元(LE)),使用了單精度浮點(diǎn)處理的Cholesky算法。如表2所示,在Stratix V FPGA上進(jìn)行Cholesky算法的性能要比Xilinx結(jié)果高很多。Altera基準(zhǔn)測(cè)試還包括QR分解,這是不太復(fù)雜的另一矩陣處理算法。Altera以可參數(shù)賦值內(nèi)核的形式提供Cholesky和QRD算法。

  表2.Altera FPGA Cholesky和QR基準(zhǔn)測(cè)試

  

 

  應(yīng)指出,基準(zhǔn)測(cè)試的矩陣大小并不相同。田納西州大學(xué)的結(jié)果來(lái)自[512×512]的矩陣,而Altera基準(zhǔn)測(cè)試的Cholesky是[360x360],QRD則高達(dá)[450x450]。原因是,矩陣規(guī)模較小時(shí),GPU效率非常低,因此,在這些應(yīng)用中,不應(yīng)該使用它們來(lái)加速CPU.作為對(duì)比,在規(guī)模較小的矩陣時(shí),F(xiàn)PGA的工作效率非常高。雷達(dá)系統(tǒng)對(duì)吞吐量的要求很高,每秒數(shù)千個(gè)矩陣,因此,效率非常關(guān)鍵。采用了小矩陣,甚至要求把大矩陣分解成小矩陣以便進(jìn)行處理。

  而且,Altera基準(zhǔn)測(cè)試是基于每個(gè)Cholesky內(nèi)核的。每個(gè)可參數(shù)賦值的Cholesky內(nèi)核支持選擇矩陣大小,矢量大小和通道數(shù)量。矢量大小大致決定了FPGA資源。較大的[360×360]矩陣使用了較長(zhǎng)的矢量,支持FPGA中實(shí)現(xiàn)一個(gè)內(nèi)核,達(dá)到91 GFLOP.較小的[60×60]矩陣使用的資源更少,因此,可以實(shí)現(xiàn)兩個(gè)內(nèi)核,總共是2×42 = 84 GFLOP.最小的[30×30]矩陣支持實(shí)現(xiàn)三個(gè)內(nèi)核,總共是3×25 = 75 GFLOP.

  FPGA看起來(lái)更適合解決數(shù)據(jù)規(guī)模較小的問(wèn)題,很多雷達(dá)系統(tǒng)都是這種情況。GPU之所以效率低,是因?yàn)橛?jì)算負(fù)載隨N3而增大,數(shù)據(jù)I/O隨N2增大,最終,隨著數(shù)據(jù)的增加,GPU的I/O瓶頸不再是問(wèn)題。此外,隨著矩陣規(guī)模的增大,由于每個(gè)矩陣的處理量增大,矩陣每秒吞吐量會(huì)大幅度下降。在某些點(diǎn),吞吐量變得非常低,以至于無(wú)法滿(mǎn)足雷達(dá)系統(tǒng)的實(shí)時(shí)要求。

  對(duì)于FFT,計(jì)算負(fù)載增加至N log2 N,而數(shù)據(jù)I/O隨N增大而增大。對(duì)于規(guī)模較大的數(shù)據(jù),GPU是高效的計(jì)算引擎。作為對(duì)比,對(duì)于所有規(guī)模的數(shù)據(jù),F(xiàn)PGA都是高效的計(jì)算引擎,更適合大部分雷達(dá)應(yīng)用,這些應(yīng)用中,F(xiàn)FT長(zhǎng)度適中,但是吞吐量很大。

fpga相關(guān)文章:fpga是什么


矢量控制相關(guān)文章:矢量控制原理

上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: FPGA GPU

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉