字體:小 中 大 |
|
|
|
| 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 来源:知乎 |
|
| ( 知識學習|科學百科 ) |











