I have an OpenCL kernel which accepts 3 arguments of type uchar*. Now I have another kernel (a N body simulation kernel) which I must change so that it accepts 3 arguments, of type uchar*. The issue is there are variables of type double4, and as I'm new to OpenCL, I'm having trouble understanding it.

Here is the original kernel


__kernel void cal_coor(__global uchar* world, __global uchar* data, __global uchar* result)

and here is the N body simulation code that I want to modify so that it accepts just 3 arguments like the kernel above


kernel void nbody (
double eps,
double scaleFactor,
double gravityFactor,
double xmax,
double ymax,
double zmax,
double dt,
global read_only double4* bodyMassPos,
global double4* bodySpeed,
global double4* bodyAccel,
global write_only double4* bodyMassPosNew,
local double4* pblock)