<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > FPGA首次集成硬核浮點(diǎn)DSP,高性能計算領(lǐng)域與GPU較高下

          FPGA首次集成硬核浮點(diǎn)DSP,高性能計算領(lǐng)域與GPU較高下

          作者: 時間:2016-12-21 來源:網(wǎng)絡(luò) 收藏

          Altera公司日前宣布在FPGA浮點(diǎn)DSP性能方面實(shí)現(xiàn)了重大突破。該公司首席DSP產(chǎn)品規(guī)劃經(jīng)理Michael Parker稱,Altera是第一家能夠在FPGA中集成硬核IEEE 754兼容浮點(diǎn)運(yùn)算功能的可編程邏輯公司,前所未有地提高了DSP性能、邏輯效率和設(shè)計效能。根據(jù)規(guī)劃,硬核浮點(diǎn)DSP模塊將集成在正在發(fā)售的20nm Arria 10 FPGA和SoC中,也將集成在14nm Stratix 10 FPGA和SoC中,DSP設(shè)計人員可以選擇定點(diǎn)或者浮點(diǎn)模式,浮點(diǎn)模塊與現(xiàn)有設(shè)計后向兼容。

          本文引用地址:http://www.ex-cimer.com/article/201612/332420.htm

          面向高性能計算,與GPGPU展開競爭

          與傳統(tǒng)使用定點(diǎn)乘法器和FPGA邏輯來實(shí)現(xiàn)浮點(diǎn)功能的做法不同,Altera的硬核浮點(diǎn)DSP幾乎不使用現(xiàn)有FPGA浮點(diǎn)計算所需要的邏輯資源,釋放了上千個乘法器和加法器,從而一舉在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)品市場經(jīng)理Albert Chang說,在DSP模塊現(xiàn)有模式(標(biāo)準(zhǔn)精度定點(diǎn)模式和高精度定點(diǎn)模式)基礎(chǔ)上添加浮點(diǎn)模式,Altera FPGA和SoC的性能和功耗效率將在很多領(lǐng)域高于目前正在使用的微處理器和GPU,尤其是那些需要高性能計算的行業(yè)(大數(shù)據(jù)分析、石油和天然氣行業(yè)的地震建模、金融仿真、雷達(dá)和醫(yī)療成像等)。但其對定點(diǎn)模式并沒有影響(性能、大小和功耗),且對管芯總體改變<1%。

          Altera方面稱,其開發(fā)的硬核浮點(diǎn)FPGA產(chǎn)品的競爭對手并非來自同行,而是通用圖形處理單元(GPGPUs)?!捌渌鸉PGA廠商提供的軟核浮點(diǎn)實(shí)現(xiàn)方式,主要通過邏輯來實(shí)現(xiàn)復(fù)雜的浮點(diǎn)運(yùn)算電路,是缺乏功效和競爭力的?!惫臼紫疍SP產(chǎn)品規(guī)劃經(jīng)理Michael Parker打比方說,這就好像數(shù)年前沒有硬乘法器的FPGA,卻總在試圖和現(xiàn)代具備DSP模塊的FPGA進(jìn)行競爭一樣可笑。

          Michael Parker認(rèn)為,F(xiàn)PGA業(yè)界目前的主要發(fā)展趨勢是提高器件的每瓦性能,而不是單純提高性能,幾乎所有客戶都面臨這一發(fā)展趨勢。未來無論何種應(yīng)用,管理功耗,進(jìn)而到管理成本將是他們面臨的一個關(guān)鍵問題。因此,具有精細(xì)粒度密集流水線體系結(jié)構(gòu)的FPGA非常適合用作高性能計算加速器,與DSP、CPU和GPU相比,F(xiàn)PGA的每瓦性能是最高的。

          他繼續(xù)表示:“FPGA的特點(diǎn)就是功耗低,然后又增加了硬核浮點(diǎn)運(yùn)算的能力。它每瓦的功耗,或者是每個槽的功耗都是比較低的。我認(rèn)為FPGA未來肯定會取代很多高端的DSP處理器。然后,它也可以取代一些GPU,因為它在功耗方面、時延方面,在連接到網(wǎng)絡(luò)的便利性方面,它都擁有優(yōu)勢?!睋?jù)透露,增加了硬核浮點(diǎn)功能的Arria 10 DSP性能已相當(dāng)于TI最高性能DSP,也完全具備與GPGPU進(jìn)行競爭的資本。

          另外,F(xiàn)PGA被設(shè)計為可以在高溫下工作,對于軟件編程人員來說也是一個福音。使用了Altera的軟件,他們可以更傾向于使用這種浮點(diǎn)的,而不是定點(diǎn)的。

          硬核浮點(diǎn)DSP模塊縮短6-12個月的開發(fā)時間

          由于設(shè)計人員可以將其DSP設(shè)計直接轉(zhuǎn)譯成浮點(diǎn)硬件,而不是轉(zhuǎn)換為定點(diǎn),從而大幅度縮短了時序收斂和驗證時間。相比此前系列,硬核浮點(diǎn)DSP模塊能夠縮短近12個月的開發(fā)時間。Albert Chang認(rèn)為這幫助設(shè)計人員克服了以下3方面的技術(shù)挑戰(zhàn):

          《國際電子商情》硬核浮點(diǎn)DSP模塊縮短6-12個月的開發(fā)時間

          首先,浮點(diǎn)設(shè)計必須手動轉(zhuǎn)換為定點(diǎn),這需要一名非常有經(jīng)驗的工程師。即使這樣,在驗證階段也無法實(shí)現(xiàn)同仿真階段同樣的數(shù)值精度。

          其次,對于算法的任何事后修改仍然需要手工完成。同時,系統(tǒng)中任何針對定點(diǎn)算法的優(yōu)化步驟都無法在仿真過程中得以體現(xiàn)。

          第三,系統(tǒng)集成和測試過程中出現(xiàn)的問題,可能的原因大多來自下列任何一項或幾項:手動轉(zhuǎn)換過程中的錯誤、數(shù)值精度問題、或是算法本身就存在缺陷。找出這些問題是非常困難的,然而,Altera的浮點(diǎn)FPGA卻能夠解決上述所有問題。

          為了幫助硬件設(shè)計人員、基于模型的設(shè)計人員以及軟件編程人員在器件中輕松實(shí)現(xiàn)高性能浮點(diǎn)DSP模塊,Altera還同時提供多種工具流程,包括:

          * DSP Builder高級模塊庫提供了基于模型的設(shè)計流程,設(shè)計人員使用業(yè)界標(biāo)準(zhǔn)MathWorks Simulink工具在幾分鐘內(nèi)就可以完成系統(tǒng)定義和仿真,直至系統(tǒng)實(shí)現(xiàn)。

          * 對于軟件編程人員,Altera在FPGA編程中率先使用了OpenCL,并面向FPGA提供基于C語言的通用高級設(shè)計流程。Arria 10 FPGA浮點(diǎn)DSP模塊結(jié)合使用方便的開發(fā)流程,為軟件編程人員提供了硬件直接轉(zhuǎn)譯方法,幫助他們縮短了開發(fā)和驗證時間。

          2014年下半年,Altera將提供面向Arria 10器件中硬核浮點(diǎn)DSP模塊的浮點(diǎn)設(shè)計流程,包括演示和基準(zhǔn)測試。在此之前,用戶可以采用Arria 10 FPGA開始設(shè)計,使用軟件浮點(diǎn)技術(shù)來實(shí)現(xiàn)浮點(diǎn)功能,在得到設(shè)計流程支持后,軟件工具會自動(一次重新編譯)將浮點(diǎn)算法無縫映射到硬核浮點(diǎn)運(yùn)算中,而不必使用軟核邏輯。



          關(guān)鍵詞: FPGADS

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();