
我是 OpenCL 新手,所以我一直在研究一些簡單的 OpenCL C++ 程式設計。我已經使用 OpenCL 和 OpenCV 編寫了有關灰階縮放的程式碼。它已正確編譯,但在運行時出現以下錯誤:
Platform Found : ARM Platform
terminate called after throeing an instance of 'cl::Error'
what() :clEnqueueNDRangeKernel
Aborted
我一直在 Ubuntu 上使用 vim 編輯器編寫程式碼。
圍繞此錯誤的代碼是:-
int globalsize[2] = {width,height};
std::size_t localsize[2] = {0,0};
if(cque.enqueueNDRangeKernel(kernel,0,globalsize[2],localsize[2],NULL,NULL)!=CL_SUCCESS){
std::cout<<"Failed enqueuing the Kernel"<<endl;
}
有任何想法嗎?謝謝您的幫忙。
答案1
剛用過
cl::NDRange globalsize(width,height);
cl::NDRange localsize(2,2);
用於定義全域大小和局部大小,並將其放入語句 NDRangekernel 中。效果很好!