//clCreateProgram for each individual one, because the struct args is defined here cl_program clCreateProgram(args * argument) { cl_program program; program.arguments = argument; return program; } /* int clSetKernelArg(cl_kernel kernel, int index, size_t size, void * value) { if (index == 0) { kernel.program.arguments.input = (int *)malloc(size); } return CL_SUCCESS; } */