【问题标题】:OpenCL: multiple clEnqueueNDRangeKernel() callsOpenCL:多个 clEnqueueNDRangeKernel() 调用
【发布时间】:2011-09-28 12:43:23
【问题描述】:

我对 clEnqueueNDRangeKernel() 在多次调用时的工作方式感到困惑。假设我入队 10 次(例如,使用 for 循环),每次都使用 global_work_size = 32。假设内核接受一个全局参数,并用 get_global_id(0) 填充。

我的问题是关于 global_id 的枚举。

我的预期: 编号最高的 global_id 将是 (10*32-1)=319。

实际发生的情况: 编号最高的 global_id 为 (32-1)=31。

谁能解释每个工作项是如何在进行多次 clEnqueueNDRangeKernel() 调用时逐步枚举的?

【问题讨论】:

    标签: opencl


    【解决方案1】:

    在每个 clEnqueueNDRAngeKernel 调用中创建的 NDRange 空间相互独立,每个调用之间的全局工作项 ID 不连续或完全不相关。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-20
      相关资源
      最近更新 更多