精度可調DSP體系結構
“出色的性能歸功于我們創(chuàng )新的精度可調DSP體系結構(圖)。”Altera公司首席DSP產(chǎn)品規劃經(jīng)理MichaelParker表示,“該技術(shù)在每一DSP模塊中包含了一個(gè)高精度加法器和單精度乘法器。這些硬核DSP模塊中內置了數千個(gè)浮點(diǎn)運算器,在20nm系列中,Arria10FPGA性能從140GigaFLOPS(GFLOPS)提升至1.5TeraFLOPS(TFLOPS);Altera的14nmStratix10FPGA系列將使用相同的體系結構,性能擴展到10TFLOPS。這是單個(gè)器件有史以來(lái)最高的性能指標。”
圖:具有硬核浮點(diǎn)DSP模塊的首款FPGA
該浮點(diǎn)計算單元與現有精度可調定點(diǎn)模式實(shí)現了無(wú)縫集成。設計人員可以在其設計中使用所有定點(diǎn)DSP處理特性,還可以根據需要將全部設計或者部分設計更新到單精度浮點(diǎn)。IEEE754浮點(diǎn)所有復數都位于DSP模塊的硬核邏輯中,不占用可編程邏輯,即使是100%使用了DSP模塊,浮點(diǎn)也支持定點(diǎn)設計中相似的時(shí)鐘速率。
大幅縮短開(kāi)發(fā)時(shí)間
MichaelParker稱(chēng),自然支持浮點(diǎn)功能對于設計人員在FPGA中實(shí)現復雜的高性能算法非常重要。構建系統之前,在浮點(diǎn)中完成所有算法開(kāi)發(fā)和仿真。完成算法后,通常還需要6~12個(gè)月的時(shí)間在定點(diǎn)實(shí)現中進(jìn)行分析、轉換并驗證浮點(diǎn)算法。這一過(guò)程需要克服以下三個(gè)問(wèn)題:(1)必須手動(dòng)將浮點(diǎn)設計轉換為定點(diǎn),這需要工程師非常有經(jīng)驗,而且其實(shí)現的精度沒(méi)有仿真高;(2)如果以后對算法進(jìn)行任何修改,還需要再次進(jìn)行手動(dòng)轉換,而且優(yōu)化系統中定點(diǎn)算法的任何步驟都不會(huì )反映在仿真中;(3)如果系統集成和測試過(guò)程中出現問(wèn)題,要隔離問(wèn)題會(huì )非常困難。
使用Altera浮點(diǎn)FPGA能夠幫助設計人員克服上述問(wèn)題,它們可以將DSP設計直接轉譯成浮點(diǎn)硬件,而不是轉換為定點(diǎn),從而大幅縮短了時(shí)序收斂和驗證時(shí)間。相比之前的系列,硬核浮點(diǎn)DSP模塊能夠縮短近12個(gè)月的開(kāi)發(fā)時(shí)間。
將與GPGPU展開(kāi)競爭
據Altera方面透露,與Altera浮點(diǎn)FPGA競爭的并非FPGA,而是GPGPU(GENERAL.html"target="_blank">GeneralPurposeGPU,即通用圖形處理單元,它不是簡(jiǎn)單的圖形引擎,而是通用計算加速器)。MichaelParker表示,這是因為其他FPGA供應商提供的“軟核”浮點(diǎn)使用邏輯來(lái)實(shí)現復數浮點(diǎn)電路的效率不高,還不具競爭力。
FPGA和GPGPU都可以使用OpenCL進(jìn)行設計,但它們在算法實(shí)現上有很大的不同。GPGPU使用并行處理器體系結構,并行運行數千個(gè)浮點(diǎn)乘加小單元。算法被分成數萬(wàn)個(gè)線(xiàn)程,數據準備好后,映射到計算單元中。
Altera浮點(diǎn)FPGA在高性能計算方面具有突出優(yōu)勢。首先,由于其流水線(xiàn)邏輯體系結構,數據流的處理延時(shí)要比GPGPU低得多;其次,FPGA的GFLOPS/W性能要優(yōu)于GPGPU,這也意味著(zhù)對于所要求的功率預算,FPGA完成的計算量一般要多于GPGPU;第三,FPGA具有很好的通用性和廣泛的連通性,能夠直接放在數據通路中處理通過(guò)的數據。Altera還專(zhuān)門(mén)增加了數據流至其OpenCL工具的選項,以符合OpenCL供應商的擴展要求。
Altera公司軟件和DSP產(chǎn)品市場(chǎng)經(jīng)理AlbertChang介紹,2014年下半年,Altera將提供面向Arria10器件中硬核浮點(diǎn)DSP模塊的浮點(diǎn)設計流程,包括演示和基準測試。在此之前,用戶(hù)可以采用Arria10FPGA開(kāi)始設計,使用軟件浮點(diǎn)技術(shù)來(lái)實(shí)現浮點(diǎn)功能,在得到設計流程支持后,軟件工具會(huì )自動(dòng)(一次重新編譯)將浮點(diǎn)算法無(wú)縫映射到硬核浮點(diǎn)運算中,而不必使用軟核邏輯。