什么是OpenCL?面向FPGA的OpenCL有何优点?
很多工程师朋友对OpenCL以及面向FPGA的OpenCL很感兴趣,也有很多相关问题提出。这里发一篇小小的技术普及文章,以供大家参考学习,欢迎参考...
什么是OpenCL?
OpenCL和OpenCL商标是苹果公司商标,使用授权于Khronos
OpenCL(全称Open Computing Language,开放运算语言)是第一个面向异构系统通用目的并行编程的开放式、免费标准,也是一个统一的编程环境,便于软件开发人员为高性能计算服务器、桌面计算系统、手持设备编写高效轻便的代码,而且广泛适用于多核心处理器(CPU)、图形处理器(GPU)、Cell类型架构以及数字信号处理器(DSP)等其他并行处理器,在游戏、娱乐、科研、医疗等各种领域都有广阔的发展前景。
OpenCL标准是第一个开放、免版税、统一的编程模型,能够在异构系统上加速算法实现。OpenCL支持在不同的平台上使用基于C的语言来开发代码——从CPU、GPU、数字信号处理(DSP)器件,到FPGA。Khronos集团的很多供应商都支持OpenCL。
面向FPGA的OpenCL有什么优点?
(1)使用户的产品能够更迅速面市
a.与传统的FPGA设计流程相比,产品能够更迅速面市。
b.使用OpenCL C (基于ANSI C)并行编程语言而不是传统的底层硬件描述语言(HDL)来描述您的算法。
c.在更高层的设计抽象环境中迅速进行设计开发。
d.针对目前和未来的FPGA重新定位OpenCL C代码,设计不会过时。
e.跳过耗时的手动时序收敛以及FPGA、主机和外部存储器之间的通信接口设计工作,一个步骤中就可以在FPGA上实现您的OpenCL C代码。
(2)能获得了性能更好、功效更高的解决方案
a.把对性能要求较高的功能从主处理器中卸载到FPGA上,从而提高了性能。
通过观看采用OpenCL,卸载到FPGA来加速算法性能的演示,了解详细信息。
c.与其他硬件方案相比,显著降低功耗,提高性能。采用FPGA的精细粒度体系结构,Altera面向OpenCL的SDK只生成您需要的逻辑,功耗只有硬件方案的1/5。