This is my OpenCl kernel function
private static String programSource =
"__kernel void "+
"sampleKernel(__local float *a,"+
" __local float *b,"+
" __global float *c,"+
" __global float *d)"+
"{"+
" int gid=get_local_id(0);"+
" c[gid]=a[gid]+b[gid];"+
" d[gid]=a[gid]-1;"+
"}";
clSetKernelArg(kernel, 0, Sizeof.cl_mem, Pointer.to(memObjects[0]));
clSetKernelArg(kernel, 1, Sizeof.cl_mem, Pointer.to(memObjects[1]));
clSetKernelArg(kernel, 2, Sizeof.cl_mem, Pointer.to(memObjects[2]));
clSetKernelArg(kernel, 3, Sizeof.cl_mem, Pointer.to(memObjects[3]));
I have used global memory to store the data. Now I tried to convert the storage location to local memory. So my code looks like this:
private static String programSource =
"__kernel void "+
"sampleKernel(__local float *a,"+
" __local float *b,"+
" __global float *c,"+
" __global float *d)"+
"{"+
" int gid=get_local_id(0);"+
" c[gid]=a[gid]+b[gid];"+
" d[gid]=a[gid]-1;"+
"}";
clSetKernelArg(kernel, 0, Sizeof.cl_mem, NULL);
clSetKernelArg(kernel, 1, Sizeof.cl_mem, NULL);
clSetKernelArg(kernel, 2, Sizeof.cl_mem, Pointer.to(memObjects[2]));
clSetKernelArg(kernel, 3, Sizeof.cl_mem, Pointer.to(memObjects[3]));
When I execute the above code I get the following syntax error:
NULL cannot be resolved to a variable.
Can anyone identify my mistake?
Thanks in advance!