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