【问题标题】:Number of OpenCL compute units in a multikernel implementation多内核实现中的 OpenCL 计算单元数
【发布时间】:2018-09-17 22:23:48
【问题描述】:

我正在使用多内核 OpenCL 实现,但我不确定不同的内核如何映射到计算单元。

我的所有内核都是同时执行的,我认为只有执行相同内核的工作组才会分配给单个计算单元。所以我推断我使用的每个不同内核都至少有一个计算单元。我对吗?

我知道我可以使用 clGetDeviceInfo 并查看字段 CL_DEVICE_MAX_COMPUTE_UNITS,但它并没有告诉我内核是如何分布的或我正在使用多少计算单元。

与这个问题相关,如果我没有指定“attribute((num_compute_units(X)))”将使用多少个计算单元,使用多少个?

谢谢

【问题讨论】:

    标签: concurrency parallel-processing opencl


    【解决方案1】:

    对于大多数 OpenCL 工作,您可以放心地忽略计算单元的数量。此外,如果您打算在不同种类的硬件上运行,您真的应该忽略它。对于使用共享本地内存的内核,您需要担心最大工作组大小,但这是另一回事。在这种情况下,您可以在计划支持的硬件上进行最少的编码,或者编写可以处理任何工作组大小的灵活内核。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-05
      • 2019-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-20
      相关资源
      最近更新 更多