get_global_id 是否包括偏移量?
Does get_global_id include offset?
如果我 运行 内核通过使用全局工作项偏移量调用 clEnqueueNDRangeKernel,get_global_id return 偏移值还是我应该手动偏移它?
size_t offset[1] = { some value};
clEnqueueNDRangeKernel(..., &offset[0], ...);
正确的方法是:
int id = get_global_id(0)
或者
int id = get_global_id(0) + get_global_offset(0);
?
是的,get_global_id(0)
确实包括 clEnqueueNDRangeKernel
中指定的偏移量。例如,如果将内核偏移量设置为 50,将内核范围设置为 100,则 get_global_id(0)
将从 50 计数到 149。
如果我 运行 内核通过使用全局工作项偏移量调用 clEnqueueNDRangeKernel,get_global_id return 偏移值还是我应该手动偏移它?
size_t offset[1] = { some value};
clEnqueueNDRangeKernel(..., &offset[0], ...);
正确的方法是:
int id = get_global_id(0)
或者
int id = get_global_id(0) + get_global_offset(0);
?
是的,get_global_id(0)
确实包括 clEnqueueNDRangeKernel
中指定的偏移量。例如,如果将内核偏移量设置为 50,将内核范围设置为 100,则 get_global_id(0)
将从 50 计数到 149。