我是OpenCL编程的新手,我的输入是3D阵列。我计算的索引为:OpenCL中的3D阵列
int gidX = get_global_id(0)?1:get_global_id(0);
int gidY = get_global_id(1)?1:get_global_id(1);
int gidZ = get_global_id(2)?1:get_global_id(2);
int index = gidX + (gidY*SizeX) + (gidZ*SizeY*SizeZ);
这是正确的方法吗?如何在3D数组中使用本地线程ID?我用它与二维阵列作为:
int tid = get_local_id(0);
int gid = get_global_id(0);
int index = tid + gid*width;
而且,有没有办法,我可以使用image3d_t类型为我的3D卷?
感谢,
萨扬