made CMakeLists configurable to use opencl or cuda