CL_MEM_READ_ONLY problem

CL_MEM_READ_ONLY problem

Let

float y[n]={1,2,...,n}

I have a buffer declared as CL_MEM_READ_ONLY:

buffery = clCreateBuffer(context, CL_MEM_READ_ONLY| CL_MEM_COPY_HOST_PTR, sizeof(float)*n,y,&err);

I have a kernel declared as follows:

__kernel void work(__global const float* x,__global float* y){

int i = get_global_id(0);
y[i]=x[i]+y[i];

}

and

clSetKernelArg(workkernel, 1, sizeof(cl_mem), &buffery);

The code executes with no problem, but it shouldn't be, because buffery is declared as read only, am I correct?

Ty

publicaciones de 2 / 0 nuevos
Último envío
Para obtener más información sobre las optimizaciones del compilador, consulte el aviso sobre la optimización.

Update: the spec has not defined the behavior in this scenario.

Inicie sesión para dejar un comentario.