使用 Opencl c++ 運行灰階時出錯

使用 Opencl c++ 運行灰階時出錯

我是 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 中。效果很好!

相關內容