使用 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 中。效果很好!!

相关内容