什么是OpenCL?面向FPGA的OpenCL有何優(yōu)點?
很多工程師朋友對OpenCL以及面向FPGA的OpenCL很感興趣,也有很多相關(guān)問題提出。這里發(fā)一篇小小的技術(shù)普及文章,以供大家參考學習,歡迎參考...
什么是OpenCL?
OpenCL和OpenCL商標是蘋果公司商標,使用授權(quán)于Khronos
OpenCL(全稱Open Computing Language,開放運算語言)是第一個面向異構(gòu)系統(tǒng)通用目的并行編程的開放式、免費標準,也是一個統(tǒng)一的編程環(huán)境,便于軟件開發(fā)人員為高性能計算服務(wù)器、桌面計算系統(tǒng)、手持設(shè)備編寫高效輕便的代碼,而且廣泛適用于多核心處理器(CPU)、圖形處理器(GPU)、Cell類型架構(gòu)以及數(shù)字信號處理器(DSP)等其他并行處理器,在游戲、娛樂、科研、醫(yī)療等各種領(lǐng)域都有廣闊的發(fā)展前景。
OpenCL標準是第一個開放、免版稅、統(tǒng)一的編程模型,能夠在異構(gòu)系統(tǒng)上加速算法實現(xiàn)。OpenCL支持在不同的平臺上使用基于C的語言來開發(fā)代碼——從CPU、GPU、數(shù)字信號處理(DSP)器件,到FPGA。Khronos集團的很多供應(yīng)商都支持OpenCL。
面向FPGA的OpenCL有什么優(yōu)點?
(1)使用戶的產(chǎn)品能夠更迅速面市
a.與傳統(tǒng)的FPGA設(shè)計流程相比,產(chǎn)品能夠更迅速面市。
b.使用OpenCL C (基于ANSI C)并行編程語言而不是傳統(tǒng)的底層硬件描述語言(HDL)來描述您的算法。
c.在更高層的設(shè)計抽象環(huán)境中迅速進行設(shè)計開發(fā)。
d.針對目前和未來的FPGA重新定位OpenCL C代碼,設(shè)計不會過時。
e.跳過耗時的手動時序收斂以及FPGA、主機和外部存儲器之間的通信接口設(shè)計工作,一個步驟中就可以在FPGA上實現(xiàn)您的OpenCL C代碼。
(2)能獲得了性能更好、功效更高的解決方案
a.把對性能要求較高的功能從主處理器中卸載到FPGA上,從而提高了性能。
通過觀看采用OpenCL,卸載到FPGA來加速算法性能的演示,了解詳細信息。
c.與其他硬件方案相比,顯著降低功耗,提高性能。采用FPGA的精細粒度體系結(jié)構(gòu),Altera面向OpenCL的SDK只生成您需要的邏輯,功耗只有硬件方案的1/5。
評論