为什么要学习OpenCL呢?就目前我所从事的医疗超声领域,超声前端的信号处理器一般是通过FPGA或FPGA+DSP来设计的,高端设备用的是FPGA+ GPU架构。传统的设计方法是通过HDL语言来进行设计FPGA,通过C或者跟C类似的语言来设计DSP/GPU,使得FPGA与DSP/GPU的算法无法相互移植。
OpenCL这个语言的好处就是跨硬件平台设计,Altera有专门的SDK大力支持OpenCL,而Xilinx的Vivado HLS也开始初步支持OpenCL,未来通过OpenCL设计FPGA的方法学必定会成熟起来,通过高层次语言设计FPGA的好处多多,在此不一一列举。通过OpenCL设计FPGA结构以及GPU算法,移植性大大增强,设计者可以把更多的精力投入到高层次的算法设计当中而不是拘泥于FPGA繁杂的设计验证。
目前FPGA的设计语言,常用的大概有VHDL,Verilog/SystemVerilog,System C,Matlab Simulink以及Vivado HLS支持的C/C++,Altera SDK for OpenCL等等,之前一直感觉System C可能会火起来,但是现在应用该语言的设计者相对还是太少,相关设计资料等资源也相对匮乏,无法构成良好的生态圈。而OpenCL有着跨硬件平台的优势,有着更多的用户群,有着更广的技术生态圈,相信未来对于FPGA的设计语言,低层次设计是SystemVerilog的天下,而高层次设计非OpenCL莫属了。
原创文章,转载请注明,本文链接地址: http://www.elecbio.com/archives/204
文章评论(0条评论)
登录后参与讨论