我可以假设本地ID等于所有平台上OpenCL中第一个工作组的全局ID

Pou*_*sen 3 opencl

我可以假设它get_local_id(0)等于get_global_id(0)所有硬件/平台上OpenCL中的第一个工作组吗?

问题是,如果产生的每个工作项0,1,2,3,4,5,6,7在全局空间中被赋予id ,然后0,1,2,3 | 0,1,2,3在本地空间中被赋予id .

替代它可能是局部空间,0,2,4,6 | 1,3,5,7.哪里| 在这个两个工作组和8个工作项的示例中拆分两个工作组.

Eri*_*lle 7

这在OpenCL 1.2规范的 3.2节(执行模型)中有描述,但在后面的6.12.1节(工作项功能)中没有引用.

global_id(d) = global_offset(d) + local_id(d) + group_id(d) * local_size(d)
global_size(d) = local_size(d) * num_groups(d)
Run Code Online (Sandbox Code Playgroud)

如果global_offset是(0,0,0),那么您的假设是正确的.