【问题标题】:Best Way to declare a LUT in OpenCL (Intel FPGA)在 OpenCL(英特尔 FPGA)中声明 LUT 的最佳方式
【发布时间】:2021-01-21 09:52:07
【问题描述】:

我需要在 OpenCL 内核中声明三个 LUT,所以:

在英特尔 OpenCL FPGA 中声明 LUT 的最佳方式是什么?

我已经看到有关此的示例,但在示例中他们使用了switch/case 结构。我认为最好的方法是为每个 LUT 声明一个数组,如下例所示(示例取自:how to declare a constant array of float2 vectors?):

__constant float2 foo[2] = {1.0f, 0.0f};

【问题讨论】:

    标签: opencl fpga lookup-tables intel-fpga


    【解决方案1】:

    如果您不能直接寻址 LUT 数组中的元素,即如果您的查找位置不遵循 0,1,2,...,N,则仅需要 switch/case。将 LUT 实现为数组并使用lut[position]; 进行直接寻址更为优雅。 如果 LUT 足够小并且您只需要在一个地方使用它,您可以将它放在内核中的private 内存空间中。如果LUT比较大(超过几百条),需要转移到constant内存空间;元素访问保持不变。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多