Added needed headers
OpenCL variables
CL platform selection
CL device selection
CL variable reorganization