gpt4 book ai didi

opencl - __attribute__((reqd_work_group_size(X, Y, Z))) 有什么用?

转载 作者:行者123 更新时间:2023-12-01 12:27:36 35 4
gpt4 key购买 nike

我是一名新的 OpenCL 程序员,我对如何设置工作组大小感到困惑。设置工作组大小的正确方法是:

  1. 在主机代码的 clEnqueueNDRangeKernel 中设置 local_work_size 参数。
  2. 在内核代码中使用 __attribute__((reqd_work_group_size(X, Y, Z)))
  3. 同时使用。
  4. 别的

最佳答案

这确保传入正确的工作组大小。通常,本地内存的必要大小是工作组大小的函数。例如。处理图像的 16x16 图 block 。

例如可以这样写:

__attribute__((reqd_work_group_size(16, 16, 1)))
kernel foo void(...) {
local float tile[16][16]; // compiler allocates local memory
...
}

编译器分配本地内存,我们不需要将其作为显式参数传入。但是,我们需要确保工作组规模符合该假设。该属性正是这样做的。

关于opencl - __attribute__((reqd_work_group_size(X, Y, Z))) 有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37824480/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com