1
我在OpenCL的內核下面的代碼:OpenCL中內核指針工作
char* read_data(char* data) {
return data;
}
__kernel void some_function(__global char* source_data, __global char* output_data) {
char *ptr = read_data(source_data); // <--- doesn't work
char *ptr2;
ptr = read_data(ptr2); // <--- works
}
當我叫它爲source_data
,我得到錯誤-11(CL_BUILD_PROGRAM _FAILURE)功能read_data
不工作時我使用clBuildProgram
來構建它。 如果我寫
global char *ptr3 = source_data;
直接在內核函數,它的工作原理,但停止時,我刪除global
工作。但是,將global
添加到read_data
函數並沒有幫助。
我使用的是OpenCl 1.2,所以它應該允許使用char *(不像1.0)。
任何想法如何使它工作?
使函數參數__global和名稱的函數read_global_data。也使ptr __global –
@huseyintugrulbuyukisik謝謝你,讓ptr全球幫助! – vgeclair