// Note, we should ensure GL is completed with any commands that might affect this VBO
// before we issue OpenCL commands
glFinish();
// map OpenGL buffer object for writing from OpenCL
clEnqueueAcquireGLObjects(cqCommandQue, 1, &vbo_cl, 0,0,0);
// Set work size and execute the kernel
clEnqueueNDRangeKernel(cqCommandQue, ckKernel, 2, NULL, szGlobalWorkSize, NULL, 0,0,0 );
// unmap openGL buffer object
clEnqueueReleaseGLObjects(cqCommandQue, 1, &vbo_cl, 0,0,0);
// Note, we should ensure OpenCL is finished with any commands that might affect the VBO
clFinish(cqCommandQue);