【问题标题】:OpenCL maximum number of work groups for a device一个设备的 OpenCL 最大工作组数
【发布时间】:2022-01-27 01:09:02
【问题描述】:

我正在学习 OpenCL 并使用 RTX 2060。

根据我在网上阅读的内容,此设备的最大工作项数为 1024,每个工作组的最大工作项数为 64(这意味着我可以运行 16 个工作组,每组 64 个工作项对吗?)

问题是:工作组本身的数量有限制吗?例如我可以运行 32 个工作组,32 个工作项吗? 16 个工作项的 64 个工作组? 2 个工作项的 512 个工作组? (你明白了)。

【问题讨论】:

    标签: opencl


    【解决方案1】:

    供应商只为工作组的最大大小指定一个值;对于 Nvidia,这通常是 1024。但是仍然允许(尽管不是很有用)选择更大的工作组大小。工作组越大,每个线程可以拥有的寄存器(private 变量)越少,如果使用太多(例如表中的数千个),它们会溢出到全局内存中,这会使事情变得非常缓慢。详情见here

    请注意,工作组大小应为 32 或 32 的倍数,以充分利用硬件。

    工作组的数量没有限制。你只会最终耗尽内存。一般来说,工作组越多越好,因为这样设备就完全饱和了,任何时候都没有 SM 空闲。拥有 200 万个工作组(每个工作组有 32 个线程)并不罕见。

    【讨论】:

      猜你喜欢
      • 2015-07-21
      • 1970-01-01
      • 2014-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多