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