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