OpenCL split-up to facilitate optimizations