網路城邦
上一篇 回創作列表 下一篇   字體:
如何在没有FPGA设备的情况下进行OpenCL编程?
2021/12/08 17:24:48瀏覽35|回應0|推薦0
我用OpenCL开发FPGA过商用产品,主要是金融加速。目前其实Xilinx和Intel都在往高级语言开发FPGA方向扩展。例如Intel的oneAPI,统一CPU、GPU、FPGA等平台。首先用OpenCL开发FPGA大致分以下几步:1,使用C代码开发业务原型代码;2,移植为FPGA的OpenCL代码,并调通功能;3,深度优化OpenCL代码,主要是优化流水线、FMAX;4,上FPGA板卡验证。以上前3步,都可以在纯CPU(Linux)环境完成,耗时也是最长的,最后第四步才是上板。OpenCL在CPU、GPU上都可以运行,而且两者编程方式和优化是基本相同的。但是OpenCL开发FPGA就和OpenCL开发的CPU、GPU代码有天壤之别,这里指设备侧代码。所以如果不实际使用FPGA,也可以先在Linux环境下先开发FPGA的OpenCL代码,完成上述提到的前三步。基本不可能,GPU和FPGA的OpenCL代码相差很大,一个是纯数据并行思路(GPU),另一个是同时利用数据并行和任务并行(流水线),而且FPGA还要考虑硬件资源。目前高级语言开发FPGA仍然处于较新的阶段,而且逐渐开始出现落地产品。相关资料,可以查阅Xilinx和Intel FPGA官网,都是相应的源代码可以学习。

作者:拖延的乌龟
链接:https://www.zhihu.com/question/500853064/answer/2256563231
来源:知乎
( 知識學習科學百科 )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=nicoXI&aid=170774806