关于HLS和opencl的一些初步理解

HLS/opencl概念理解:

  1. HLS只要把所有的c++/c用到的库函数文件,include进来,告诉编译器这个文件的位置;直接不做修改,按照c++/c去编译,然后转成RTL是可以的,只不过是占用资源和执行效率的问题;
  2. 通过pragma/directive,来优化代码,使得最终变成的RTL占用更少资源/有更高效率;
  3. XRT 是一套替代opencl的解决方案,实现了初始化,和kernal之间交互的一些api;
  4. opencl是一个类似c++/c的语言,实现了host和kernal初始化/数据交互的一些功能;
  5. XRT 是对opencl的一个优化方案;
  6. xilinx还是更推荐用c++/c去实现kernal,然后用opencl或者XRT来做顶层;
  7. 基于HLS的商用产品还不是很多
  8. ap_int.h 任意精度数据类型,也是用来节约资源/优化为目的的,直接使用c++原有的数据类型也可以,还是资源/效率优化的问题

和xilinx FAE沟通获得的一些信息,有一部分是FAE个人理解,不一定准确,仅供参考。

你可能感兴趣的:(HLS,FPGA,OpenCL)