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