【发布时间】:2013-02-01 23:30:01
【问题描述】:
我使用的是 HD5770,它有 10 个计算单元和 32k 的本地内存。
我的全局大小是 256 * 256,
我的本地大小是 256
每个工作组都需要使用 1k 的本地内存,我这样指定:
clSetKernelArg(predicate, param++, 1024, NULL);
首先:这是分配本地内存的正确方法,还是我必须在设置内核参数时指定所有工作组一起使用的缓冲区的整个大小,然后再设置索引缓冲区取决于本地ID?
第二:一个工作组会只在一个计算单元上执行吗?
第三:工作组结束后会释放内存吗? (如果每个工作组使用 1k,则 32k 不足以满足 256 个工作组)
或者以更一般的方式:调度程序是否会注意不并行调度超过 32 个工作组?
谢谢!
【问题讨论】: