2017-09-15 73 views
0

我想加快在FPGA上執行我的算法。我試圖在C代碼中以32:32(64)的長度查找固定的數學庫,這些庫很容易轉換爲OpenCL。有沒有人知道一個好的圖書館?我試圖避免使用128位數據類型,因爲它們是OpenCL上的浮點數,如果必須再次使用浮點數,我想它不會加速我的算法。任何建議表示讚賞。如果有一個指南來創建一個自己的庫,那麼只要它解釋得夠簡單,哈哈就可以了。定點庫OpenCL FPGA

感謝

+0

我想你會發現一個定點庫比在設備上使用浮點硬件要慢。現在,浮點數已經很好的優化了,GPU上的整數單元並不是很強大,因爲大多數圖形算法都使用浮點數。 – Dithermaster

+0

是的,但在FPGA上不是這樣,因爲它們無法在浮點計算數量方面擊敗GPU。所以我在考慮測試固定點以查看它比浮點速度更快。 –

+0

好點。我不熟悉FPGA OpenCL的實現,只是用CPU或GPU來講話。 – Dithermaster

回答

1

我只找到了花車GPU的偉大。我給你的一些CUDA C++ 11/C++ 14個提示:

次使用歸一化範圍內浮動[-1.0,+ 1.0]用於分別最大的準確度和存儲正火值(acumulated雙),

- 如果數據處於高位範圍(大數字除法以有損歸一化結束)歸一化爲中位數subbstraction(以uint64_t單獨存儲)=大數字將以較小的精度存儲。人們可以使用修剪的平均f.e. 5%,而不是中值,

-sort並定期校準,

-in 2017使用新GTX1080ti(GFLOPS/USD; GFLOPS/W)或使用GTX 770,

- 高端FPGA的是大如果它們在ADC之後或嵌入式系統(通常爲網絡交換機,媒體處理視頻,實時FFT設備等)內(高要求低功耗)嵌入式系統之後用作預處理單元。而且,即便是這些超低功耗計算設備的最佳型號,其價格也不會超過1500美元的幾百GFLOPS。這相當於全新的,脫殼的和問題解決的問題 - 在NVidia論壇上GT730 4GB GDDR5 by Palit爲35美元,

- 獲得幾十美元的書「CUDA by例子「等。 J. Sanders,免費的YT課程「Udacity介紹並行編程」和優秀的書籍「專業CUDA編程」等。 J. Cheng成爲CUDA C++ 11中級編程人員,在三個全職月中,

-自己動手研究針對舊版序列CPU的定點算法,得出一些結論,即只有有限的庫,方根等基礎。更復雜的功能是有問題的,並且沒有大的社區支持來解決錯誤。最後你會發現FPU沒有加速,或者比這個很大的努力要小很多(從頭開始寫所有東西),

-buy(最小微體系結構Keppler)GPU(因爲流行的GTX670) 50 $一些學歷不高的少年,

-install Ubuntu中,得到GNU八度,並請-舉 - GNU並行的大多數非GPU解決問題的,

次使用FPGA開發高端ASIC大規模生產。

Post Scriptum:用戶#WhatsACreel來自YouTube可以爲你寫一些定點功能 - 寫一封電子郵件給他一些誠實的報價。在他的頻道中,他解釋了定點遊戲的基礎。

+0

說實話,我很感謝你的回答,是的,我在GPU上用CUDA實現了更好的性能,但是我需要用FPGA進行實驗,看看我能實現什麼。你怎麼知道固定點不是那麼快? –