AnsweredAssumed Answered

clEnqueueNDRangeKernel() returns CL_OUT_OF_RESSOURCES for unkown reason on HD7970

Question asked by max_bodycad on Nov 1, 2013
Latest reply on Nov 1, 2013 by max_bodycad

This is a follow-up of


I use a kernel that looks like this :


typedef struct {float x,y,z;} packed_float3;

float3 to_float3(constant packed_float3 * arg)

{ return (float3)(arg->x,arg->y,arg->z); }

void to_packed_float3(float3 arg, global packed_float3* dst)

{ dst->x = arg.x; dst->y = arg.y; dst->z = arg.z; }


kernel void main(constant packed_float3 * vertices,

  constant packed_float3 * normals,

  constant float * distances,

  global packed_float3 * result)


     int global_id = get_global_id(0);

     to_packed_float3(to_float3(&vertices[global_id]) + distances[global_id]* to_float3(&normals[global_id]), &result[global_id]);



and I enqueue it with a global range of (N, Null, Null), and null range for local range, on CPU I can use any value for N, on gpu, as soon as I approach 5000, clEnqueueNDRange() fails with CL_OUT_OF_RESSOURCES error.


I can't make CodeXL work on this project, but that is another issue.


Thank you