added OpenCL C code