将函数从C移植到OPENCL

将函数从C移植到OPENCL,c,kernel,opencl,C,Kernel,Opencl,我用C编写了这个函数: void SimpleGraphDrawing(unsigned char *image, int dim[2],double range[2][2]) { for (int j=0;j<dim[1];j++) for (int i=0;i<dim[0];i++) { float x=range[0][0]+(i+0.5)*(range[0][1]-range[0][0])/dim[0];

我用C编写了这个函数:

void SimpleGraphDrawing(unsigned char *image, int dim[2],double range[2][2])
{
    for (int j=0;j<dim[1];j++)
        for (int i=0;i<dim[0];i++)
        {
            float x=range[0][0]+(i+0.5)*(range[0][1]-range[0][0])/dim[0]; 
            float y=range[1][0]+(j+0.5)*(range[1][1]-range[1][0])/dim[1]; 
            float val=(x*x+y*y-1);
            val=val*val*val-x*x*y*y*y;
            image[j*dim[0]+i]=(val>0)*255; 
        }
}
这也是MyKernels的函数:

__kernel void GRAPH_DRAWING ()
{

}

输出非常奇怪,我不知道如何修复它:“PROGRAM-33”是无效设备。你应该看看这个例子,看看他们是如何管理和处理OCL设备的:

内核
可能不是这个问题的正确标签。如果“PROGRAM-33”是你所遇到错误的一部分,你需要提供准确的错误消息(将它添加到问题帖子中)。
__kernel void GRAPH_DRAWING ()
{

}