在参数中clEnqueueNDRangeKernel
应该global_work_size
是 2 的幂?如果不是,并且返回的不是两个错误(如果有的话)?
UPD 基于答案:全局和本地工作大小不应该是两个的幂。工作组大小和波前大小之间的关系如何?:
- 如果波前大小为 64 且 local_work_size < 64 - 在每个锁定步骤中,将执行 64 个工作项,而 (64 - local_work_size) 将是“什么都不做”的工作项。
- 如果 128 > local_work_size > 64 - 执行情况如何?在甚至锁步中,整个波前将被执行(64 个工作项),并且在一个 local_work_size % 64 中执行