FPGA協(xié)處理技術(shù)介紹及進(jìn)展
使持續(xù)性能接近峰值
對于可并行化或流水化的任務(wù),相對于峰值性能而言,FPGA經(jīng)常能夠大大提高持續(xù)性能,并可利用各器件資源。以一個(gè)蒙特卡洛布萊克-斯科爾斯基準(zhǔn)測試程序?yàn)槔?,它可建立一條運(yùn)行頻率為150MHz的等式流水線。
在每個(gè)時(shí)鐘周期,FPGA通過梅森素?cái)?shù)旋轉(zhuǎn)核產(chǎn)生的隨機(jī)數(shù)被輸入(接入)“定制指令”,每個(gè)時(shí)鐘周期產(chǎn)生一個(gè)結(jié)果。12條“定制指令”與模塊的兩片FPGA匹配,利用雙精度浮點(diǎn)邏輯輸出12×150M=1.8G結(jié)果/秒。通過額外倍頻,可預(yù)期實(shí)現(xiàn)性能為上述性能的兩倍。
對比不同架構(gòu)的浮點(diǎn)能力持續(xù)性能與峰值性能十分有趣。表2給出了四種可能解決方案的單精度浮點(diǎn)峰值性能。由于布萊克-斯科爾斯公式需要常規(guī)加法與乘法函數(shù)以外更多的函數(shù)(指數(shù)、平方根等),布萊克-斯科爾斯結(jié)果的總GFLOPS未作統(tǒng)計(jì)。
表3給出了布萊克-斯科爾斯結(jié)果與峰值GFLOPS的比例,作為比較持續(xù)性能與峰值性能的一種相對衡量方法。相比峰值性能,F(xiàn)PGA達(dá)到了最佳持續(xù)性能。相比另外兩種加速器的單精度邏輯,F(xiàn)PGA的雙精度邏輯具有最優(yōu)原始性能以及最優(yōu)的“性能/瓦”參數(shù)。
對許多包含并行性或可流水化的算法而言,由于裕量連接帶寬可實(shí)現(xiàn)用戶自定義的數(shù)據(jù)通路,這樣,邏輯可在一個(gè)時(shí)鐘周期內(nèi)訪問存儲器或訪問另一個(gè)邏輯塊的結(jié)果,從而使FPGA的持續(xù)性能可接近峰值性能。由于固定架構(gòu)具備預(yù)先確定的用以實(shí)現(xiàn)不同功能的邏輯塊集合,所以可以為FPGA配置支持某種給定算法的最優(yōu)邏輯函數(shù)比例來實(shí)現(xiàn)器件資源的最佳利用。
評論