add opencl c++ wrapper