finished opencl api