split out gcd opencl code