我是OpenCL的新手。我曾与OpenCL内核一起使用过一维数据。但是当我试图传递一个3-D指针时,它无法构建内核。具体来说,我得到CL_BUILD_PROGRAM_FAILURE。下面是内核,我试图建立的伪代码 -如何在OpenCL内核中使用3-D数组?
__kernel void 3D_Test(__global float ***array)
{
x = get_global_id(0);
y = get_global_id(1);
z = get_global_id(2);
array[x][y][z] = 10.0;
}
任何人都可以给我什么是错的代码的想法?提前致谢!
您应该检查生成日志,与clGetProgramBuildInfo得到它。 –
您还可以看看OpenCL 1.1支持的Image3D类型,它可以让您轻松存储和传递3D数组。 –