more preparation for OpenCL