more work towards shared CPU/OpenCL codebase