我是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數組。 –