opencl: move all of q2c manipulation to OpenCL kernel