http://kadhoai.com.cn 2026-04-26 15:49:36 來源:通用電氣智能設備(上海)有限公司(GE智能平台)
Peter認為,鑒於其高性能、易編程及低成本特點,GPGPU技術在許多情況下能夠替代FPGA和DSP
盡管沒有針腳,諸如圖形處理器(GPU)和Tilera處理器等多核處理器在某些應用中正逐步替代現場可編程門陳列(FPGA)。開發人員表示,GPU可用於執行多種功能,而非單純的圖形處理,從而成就了圖形處理器通用計算(GPGPU)技術的出現,其中最為矚目的便是 NVIDIA’s CUDA。當評估GPGPU、TILE或FPGA技術能否作為任何即定應用的首選時,需考慮(但不局限於)以下因素:
• 可用處理能力
• 延遲
• 可擴展性
• 開發成本
• 技術嵌入
• 價格
處理能力
處理能力的評估一定程度上取決於處理數據類型及處理算法。
由於GPU起初主要負責圖形繪製,因此,其尤其善於處理單精度(SP)及(某種情況下)雙精度(DP)浮點(FP)運算。Tilera的TILE設備當前不支持硬件FP運算,但要求進行軟件模擬,且性能代價高昂。一般而言,FPGA亦是如此,設備通過利用多種資源來處理FP運算問題。達到可接受性能要求IP區塊需消耗多個門並要求深流水線技術。例如:當前Tesla級GPU每秒最高可執行1012次浮點運算或1TFLOPS,而Xilinx Virtex-6設備則為150 GFLOPS。
當考慮到定點運算時,情況有所不同。新一代GPU在浮點速率相同的情況下可執行整數運算,例如:當Virtex-6設備提高至500GOPS時,GPU每秒可執行1012次運算或1TOPS。整數性能是TILE處理器的優勢所在:8位數據時,TILE-Gx(圖1)最高執行能力為750GOPS,32位數據時為188GOPS。

圖1:8位數據時,Tilera的TILE-Gx處理器最高執行能力為750GOPS
zaixinhaochuliyingyongzhongshiyongdingdianchulihuiyanchangkaifashijian。zaixitongdingyijieduanshijianjinxingzhuduofenxi,jinernenggoucedinggechulijieduandedongtaifanweiyaoqiu,bingquebaoshijixinhaoyingyongzhongwushangyihuoxiayixianxiangfasheng。fouze,kaifarenyuanxuyaozaixitongyunxingshishiyongewaiziyuanlaichixujiankongdongtaifanweibingtiaozhengqukuaibiliyinshu。
無論從時間還是空間上講,許多通用架構處理開銷可能顯著較大,因此,逐位運算尤為適用於FPGA。若在FPGA上執行逐位運算,則需要考慮開發時間。
毋wu庸yong置zhi疑yi,係xi統tong的de實shi際ji可ke用yong處chu理li能neng力li在zai很hen大da程cheng度du上shang可ke能neng會hui因yin理li論lun峰feng值zhi處chu理li能neng力li的de不bu同tong而er有you所suo差cha異yi。影ying響xiang該gai差cha異yi的de兩liang個ge主zhu要yao因yin素su包bao括kuo硬ying件jian架jia構gou算suan法fa的de適shi用yong性xing及ji優you化hua執zhi行xing能neng力li所suo需xu時shi間jian。
例如:FPGA能夠利用其並行及適應多種算法的特性來獲得更加接近理論最大值的性能。但是,FPGA需要更大的矽片空間和更長的開發時間來接近這些理論最大值。對於適應於GPU硬件並行模式的算法,GPU已經能夠達到峰值的20~30%。它們同樣具有合理的矽密度(40nm工藝,32nm研發中)和開發時間(通常隻有數周,而FPGA則需幾個月)。TILEPro64處理器可提供FPGA相類似的適應性和GPU相類似的可編程性,但是,由於其粗糙的任務級問題分解特點使得其無法像FPGA和GPU那樣實現細粒度並行。
內存帶寬在評估處理器性能方麵同等重要,GPU能夠提供3倍於FPGA、6倍於TILEPro64的優勢。但是,必須指明,該帶寬須以下列條件為基礎:出現的大延遲須通過交叉處理進行控製,應在最佳訪問模式中通過整合實現接合訪問。有了FPGA,開發人員需要充分考慮內存位置。新一代GPU和TILEPro64處理器具有傳統的緩存分布,能夠幫助優化內存位置並減少開發時間。
延遲
也許能夠排除使用GPGPU的最可能因素便是延遲。例如:tiaoyongneihesuoxushijianjizhucunchuqijiaochangfangwenshijianjunkeyinqichangyanchi。xuduoqingkuangxia,zhezhongyanchikenenghuishaoyouhuanjiedanshiwufawanquanbimian。yincishouxuanyingweidashujujichuli,yuanyinzaiyu,qiweidaliangyunsuan,huanyanzhi,qijubeijiaogaodejisuanqiangdu。zaixuyaomanzuyangeyanchiyaoqiudehuanjingxia(例如閉回路控製),FPGA為首選。TILE處理器具有良好的延遲特性,“裸機”模式下進行編程時尤為突出。
可擴展性
FPGA能夠與諸如Aurora等低開銷聯接緊密耦合,或執行諸如Serial RapidIO或PCI Express等標準串行結構。GPGPU為協處理器,通常需要一個主處理器。如圖2所示,許多GPU能夠聯接至一個單主處理器(首選多核)中,但是,當各主處理器核使用一個GPU時,共享資源會限製返回。

圖2:GE智能平台加固型IPN250和NPN240能夠使Intel多核主處理器管理多個NVIDA GT240 96核CUDA GPU
多聯接GPGPU間執行代碼的常用方法是使用OpenMP。該方法允許在並行線程中自動執行處理回路,且分別使用不同的GPU。在集群層麵(主處理器+GPU[或多GPU])還可實現進一步擴展。該集群還可通過PCI Express、10G Ethernet、InfiniBand及其它聯接進行聯接,並且通過使用諸如MPI等中間件進行編程。
TILE處理器可通過多種網狀結構實現核間高度連接,進而調整至不同的處理類型。TILE處理器多交換結構考慮到了核間通用低延遲IPC及核間內存一致性。設備與設備之間可通過10G以太網和PCI Express進行連接。整個設備或核心集群可編程為對稱多處理設備。
開發成本
開發成本難以度量。從定性分析的角度,一般認為采用C或C++的多核設備編程要比FPGA編程簡單。而且大家普遍認為找到合格的多核設備編程工程師要比招募FPGA 設備的VHDL或Verilog編程人員更加容易。由於開發人員須同時優化硬件和算法(軟件),因此需要多種技能,才可使FPGA接近理論性能。在多核情況下,因為硬件已經確定,開發人員可專注於算法開發和優化(僅軟件)。
量化該差別是個難題。一種方法是考慮軟件規模即代碼行(SLOC)多duo少shao。這zhe種zhong方fang法fa根gen據ju算suan法fa不bu同tong而er會hui有you所suo差cha異yi,但dan多duo核he處chu理li器qi代dai碼ma行xing少shao於yu三san分fen之zhi一yi的de現xian象xiang並bing不bu少shao見jian。使shi用yong更geng高gao級ji的de比bi較jiao方fang法fa會hui使shi情qing況kuang變bian得de模mo糊hu——如GPGPU采用MATLAB,FPGA編程采用Agility-C或MATLAB係統生成器等。
單單SLOC並不能精確代表開發成本。許多推動軟件開發生產率發展的工具和語言創新,如集成開發環境、調試器、測試覆蓋率生成和麵向對象編程都在對FPGA開發產生影響——但還有很長的路要走。此外,開箱即用的FPGA開發由於較長的綜合及布局、布線時間、較jiao低di的de處chu理li器qi狀zhuang態tai透tou明ming度du以yi及ji可ke能neng耗hao時shi很hen久jiu的de仿fang真zhen時shi間jian等deng因yin素su,並bing不bu具ju有you最zui快kuai的de軟ruan件jian測ce試shi和he修xiu改gai周zhou期qi。這zhe些xie問wen題ti有you相xiang應ying的de解jie決jue方fang案an,但dan都dou需xu要yao額e外wai的de投tou資zi。
技術嵌入
在應用層麵,GPGPU設備可升級至更多核的新產品而無需做出很大改動。例如,無論存在多少核,通過小型執行單元(內核)進(jin)行(xing)並(bing)行(xing)處(chu)理(li)的(de)方(fang)法(fa)都(dou)依(yi)然(ran)有(you)效(xiao)。在(zai)開(kai)發(fa)及(ji)運(yun)行(xing)時(shi),工(gong)具(ju)鏈(lian)和(he)驅(qu)動(dong)程(cheng)序(xu)可(ke)分(fen)別(bie)使(shi)應(ying)用(yong)程(cheng)序(xu)與(yu)硬(ying)件(jian)脫(tuo)離(li)。可(ke)同(tong)時(shi)調(tiao)用(yong)成(cheng)百(bai)上(shang)千(qian)的(de)線(xian)程(cheng),運(yun)行(xing)這(zhe)些(xie)內(nei)核(he)。
[page_break]
單個二進製數可運行在具有不同核數量的不同設備上。多數情況下,這可以最大程度簡化到新平台的移植。
與此類似,編寫的TILE處理器的SMP應用,可在添加了新設備時,自動適用於更大的核數量。
相比之下,將FPGA應用移植到新設備上時,即使算法保持不變,也需要對硬件表達式代碼進行大量修改,以適應不同的目標平台。
價格
商用級GPGPU板(圖3)的售價可低至$50,而針對超級計算應用的最新GPGPU板的售價則為$4000。含有高端Virtex-6 的FPGA板的售價可能在$4000左右。Tilera板由於其針對性更強,售價會高的多。這三種型號的加固產品由於具有更小的體積、更好的板構造技術、更嚴格的檢測和篩選,因此價格高出許多。例如,完全加固、傳導冷卻的GPU板售價可在$7000左右。此類板針對軍事/航天應用需求,原因是商用級板無法適應惡劣環境下的環境壓力,同時也不具備長期項目所需的長使用壽命。

圖3: NVIDIA的支持CUDA技術的GeForce GT130M即為GPGPU技術的廉價入門級產品
結論
對於很多應用來說,FPGA在處理能力以及延遲方麵的性能仍然無可比擬。但仍有許多應用場合應考慮使用多核設備。由於其定點性能,可考慮直接使用TILE處理器替代FPGA。GPGPU更加擅長浮點運算,因此可考慮將其用於替代FPGA,或作為FPGA的補充。
多核處理器與傳感器靠的更近,這種模塊可能不久就將麵市 – 這些設備緊靠在模數轉換器(ADC)後麵即FPGA原先所處的位置。原先從帶有AltiVec的PowerPC等通用處理器(GPP)改換至FPGA陣列的一些應用現在開始移植到多核架構上。例如,醫療成像設備如計算機斷層掃描(CT)和磁共振顯像現在采用GPGPU來成像。
目前混合采用FPGA和GPP的雷達係統正在評估使用GPGPU的可行性,以便降低處理子係統的尺寸、重量和功耗(SWaP),從而使其可部署在UAV等較小的平台上,或提升相同占位麵積的處理能力。360度態勢感知等一些先前使用專門硬件的成像應用如今采用TILE處理器和GPU來采集多個攝像機數據流,然後經過變形、拚接,從而顯示全景圖(圖4)

圖4: GPGPU支持多個攝像機數據流采集,從而實時生成全景圖。
考慮到多核設備編程簡單,及出色的處理能力、低廉的購置成本和與之相關的低廉開發成本,強烈建議將其用於先前主要采用可編程硬件陣列的應用。
作者簡介:Peter Thompson於1980年在英國伯明翰大學獲得電氣和電子工程榮譽理學士學位,之後首先效力於Racal Redac公司,隨後加盟了Radstone Technology公司。Peter Thompson目前是GE智能平台商業開發部的應用主管,負責向客戶推廣新技術,並收集新技術方向的市場情報。