面向高性能�(jì)算,與GPGPU展開�(jìng)�(zhēng)
與傳�(tǒng)使用定點(diǎn)乘法器和FPGA邏輯來實(shí)�(xiàn)浮點(diǎn)功能的做法不同,Altera的硬核浮�(diǎn)DSP幾乎不使用現(xiàn)有FPGA浮點(diǎn)�(jì)算所需要的邏輯資源,釋放了上千�(gè)乘法器和加法器,從而一舉在Arria 10器件中實(shí)�(xiàn)�1.5 TeraFLOP (每秒浮點(diǎn)�(yùn)算次�(shù))和Stratix 10器件�10 TeraFLOP的DSP性能�
“這要?dú)w功于我們創(chuàng)新的精度可調(diào)DSP體系�(jié)�(gòu)。”Altera公司軟件和DSP�(chǎn)�市場(chǎng)�(jīng)� Albert Chang說,在DSP模塊�(xiàn)有模�(�(biāo)�(zhǔn)精度定點(diǎn)模式和高精度定點(diǎn)模式)基礎(chǔ)上添加浮�(diǎn)模式,Altera FPGA和SoC的性能和功耗效率將在很多領(lǐng)域高于目前正在使用的微處理器和GPU,尤其是那些需要高性能�(jì)算的行業(yè)(大數(shù)�(jù)分析、石油和天然氣行�(yè)的地震建模、金融仿真、雷�(dá)和醫(yī)療成像等)。但其對(duì)定點(diǎn)模式并沒有影�(性能、大小和功�),且�(duì)管芯總體改變<1%�
Altera 方面稱,其開�(fā)的硬核浮�(diǎn)FPGA�(chǎn)品的�(jìng)�(zhēng)�(duì)�并非來自同行,而是通用圖形處理單元(GPGPUs)。“其他FPGA廠商提供的‘軟核’浮�(diǎn)使用了邏輯來�(shí)�(xiàn)�(fù)�(shù)浮點(diǎn)電路,是缺乏功效和競(jìng)�(zhēng)力的。”Michael Parker打比方說,這就好像�(shù)年前沒有硬核乘法器的FPGA,卻總在試圖和現(xiàn)代具備DSP模塊的FPGA�(jìn)行競(jìng)�(zhēng)一樣可笑�
盡管類似 OpenCL這樣的公共設(shè)�(jì)流程可以用在FPGA和GPGPU上,但兩者在算法�(shí)�(xiàn)上有很大的不同。GPGPU使用了并行處理器體系�(jié)�(gòu),并行運(yùn)行數(shù)千�(gè)浮點(diǎn)乘加小單元。算法被分成�(shù)萬�(gè)線程,然后再將數(shù)�(jù)映射到計(jì)算單元中;而Altera FPGA使用了流水線邏輯體系�(jié)�(gòu),是將幾千�(gè)�(jì)算單元排列成流數(shù)�(jù)流電路,在矢量上�(yùn)�(FFT�(nèi)核或者Cholesky分解�(nèi)核就是類似的例子)。每一�(gè)�(nèi)核在每一�(shí)鐘周期產(chǎn)生矢量輸出數(shù)�(jù),矢量寬度由�(shè)�(jì)人員決定�
Michael Parker
�(rèn)為,F(xiàn)PGA在高性能�(jì)算方面相�(duì)較新,但是具有競(jìng)�(zhēng)�(yōu)�(shì)。首先,由于采用流水線邏輯體系結(jié)�(gòu),數(shù)�(jù)流的處理延時(shí)要比GPU低得多,在金融交易算法等某些�(yīng)用中,這是�(guān)鍵優(yōu)�(shì);其次,F(xiàn)PGA的GFLOPS/W性能要優(yōu)于GPGPU,這在航空電子等環(huán)境不受控的應(yīng)用中非常�(guān)�;第三,F(xiàn)PGA具有很好的通用性和廣泛的連通性。例如,F(xiàn)PGA可以直接�
硬核浮點(diǎn)DSP模塊縮短6-12�(gè)月的開發(fā)�(shí)�
由于�(shè)�(jì)人員可以將其DSP�(shè)�(jì)直接�(zhuǎn)譯成浮點(diǎn)硬件,而不是轉(zhuǎn)換為定點(diǎn),從而大幅度縮短了時(shí)序收斂和�(yàn)證時(shí)間。相比此前系列,硬核浮點(diǎn)DSP模塊能夠縮短�12�(gè)月的開發(fā)�(shí)間�
Albert Chang�(rèn)為,自然支持浮點(diǎn)功能�(duì)于設(shè)�(jì)人員在FPGA中實(shí)�(xiàn)�(fù)雜的高性能算法非常重要—在�(gòu)建系�(tǒng)之前,在浮點(diǎn)中完成所有算法開�(fā)和仿�;完成算法后,通常還需�6-12�(gè)月的投入,在定點(diǎn)�(shí)�(xiàn)中分析、轉(zhuǎn)換并�(yàn)證浮�(diǎn)算法。需要克服的三�(gè)主要問題包括�
1. 必須手動(dòng)將浮�(diǎn)�(shè)�(jì)�(zhuǎn)換為定點(diǎn),這需要非常有�(jīng)�(yàn)的工程師。盡管這樣,其�(shí)�(xiàn)的數(shù)字精度也沒有仿真高�
2. 如果以后�(duì)算法�(jìn)行任何修改,也需要再次�(jìn)行手�(dòng)�(zhuǎn)換。而且,優(yōu)化系�(tǒng)中定�(diǎn)算法的任何步驟都不會(huì)反映在仿真中�
3. 如果系統(tǒng)集成和測(cè)試過程中出現(xiàn)了問題,其原因可能如下:手動(dòng)�(zhuǎn)換過程有�(cuò)誤,�(shù)字精度問題,或者算法本身就有問題。隔離問題會(huì)非常困難。使用Altera浮點(diǎn)FPGA能夠避免所有這些問題�
為了幫助硬件�(shè)�(jì)人員、基于模型的�(shè)�(jì)人員以及軟件編程人員在器件中輕松�(shí)�(xiàn)高性能浮點(diǎn)DSP模塊,Altera還同�(shí)提供多種工具流程,包括:
DSP Builder高級(jí)模塊�(kù)提供了基于模型的�(shè)�(jì)流程,設(shè)�(jì)人員使用�(yè)界標(biāo)�(zhǔn)MathWorks Simulink工具在幾分鐘�(nèi)就可以完成系�(tǒng)定義和仿真,直至系統(tǒng)�(shí)�(xiàn)�
�(duì)于軟件編程人員,Altera在FPGA編程中率先使用了OpenCL,并面向FPGA提供基于C語言的通用高級(jí)�(shè)�(jì)流程。Arria 10 FPGA浮點(diǎn)DSP模塊�(jié)合使用方便的開發(fā)流程,為軟件編程人員提供了硬件直接轉(zhuǎn)譯方法,幫助他們縮短了開發(fā)和驗(yàn)證時(shí)間�
2014 年下半年,Altera將提供面向Arria 10器件中硬核浮�(diǎn)DSP模塊的浮�(diǎn)�(shè)�(jì)流程,包括演示和基準(zhǔn)�(cè)試。在此之前,用戶可以采用Arria 10 FPGA開始�(shè)�(jì),使用軟件浮�(diǎn)技�(shù)來實(shí)�(xiàn)浮點(diǎn)功能,在得到�(shè)�(jì)流程支持后,軟件工具�(huì)自動(dòng)(一次重新編�)將浮�(diǎn)算法無縫映射到硬核浮�(diǎn)�(yùn)算中,而不必使用軟核邏輯�
�(guān)注我�
公眾�(hào):china_tp
微信名稱:亞威資�
顯示行業(yè)頂級(jí)新媒�
掃一掃即可關(guān)注我�