adapt opencl API