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