FPGA協(xié)處理技術(shù)介紹及進展
FPGA的架構(gòu)使得許多算法得以實現(xiàn),較之采用四核CPU或通用圖形處理器(GPGPU),這些算法的持續(xù)性能更接近器件的峰值性能。隨著對芯片、算法和庫基礎(chǔ)的集中改進,FPGA加速器的基準(zhǔn)測試結(jié)果不斷提高。就算當(dāng)前最大的FPGA所消耗的功率也不到30W,因此它們可應(yīng)用于多種場合。在目前出現(xiàn)的幾大行業(yè)動態(tài)的共同作用下,F(xiàn)PGA實現(xiàn)的算法加速更加令人矚目。這些行業(yè)動態(tài)包括:
● 當(dāng)前FPGA的容量已足夠容納更大的算法。現(xiàn)在已經(jīng)有可能將期權(quán)定價算法或1M點快速傅里葉變換放入FPGA。將算法從CPU中加載到FPGA的延遲時間小于算法加速所節(jié)省的時間。
● 單核CPU在功耗和冷卻問題上受到了限制。采用多核CPU的嘗試正在順利進行,但現(xiàn)有為單核編寫的軟件必須進行重寫,用以支持合理的性能擴展。
● FPGA協(xié)處理的主動式支持。在某些情況下,這些CPU接口(AMD公司的Torrenza Initiative與Intel公司面向FPGA廠商的注冊FSB與QPI)支持8 GB/s的速率,寫入等待時間低于140ns。
較之雙核、四核CPU或GPGPU,F(xiàn)PGA基準(zhǔn)測試結(jié)果顯示了采用插槽式加速器的優(yōu)異的蒙特卡洛浮點結(jié)果(見表1)。
就結(jié)果而言,運行頻率為150~250 MHz之間的FPGA是如何做到優(yōu)于運行頻率為2~3 GHz的四核CPU或運行頻率為1.35 GHz的128核GPU的呢?正如蒙特卡洛布萊克-斯科爾算法所示,F(xiàn)PGA架構(gòu)具有獨特的性能,這是產(chǎn)生這一優(yōu)異結(jié)果的原因之一。
FPGA架構(gòu)特征
靈活的FPGA可根據(jù)需要進行編程和重新編程。一個典型的FPGA包括一個邏輯塊陣列、內(nèi)存塊和DSP塊,它們周邊環(huán)繞著可由軟件進行配置的可編程式互連結(jié)構(gòu)(如圖1所示)。該架構(gòu)確保下列特征的實現(xiàn)。
● 功能并行:功能的多次重復(fù)
● 數(shù)據(jù)并行:處理數(shù)據(jù)陣列或數(shù)據(jù)矩陣
● 流水化的自定義指令:每個時鐘周期輸出流數(shù)據(jù)的一個結(jié)果
● 超大的主緩沖帶寬與規(guī)模:GPGPU的3~10倍
● 靈活的數(shù)據(jù)通路布線:巨型交叉連通在一個時鐘周期內(nèi)完成數(shù)據(jù)傳輸
● 功能和數(shù)據(jù)流的串聯(lián):均在一個時鐘周期內(nèi)完成
● 定制片外I/O:所需的協(xié)議、帶寬和延遲
● 可擴展的路徑圖:更大的陣列具有充足的空間支持供電與冷卻
評論