Revert to pre-c++11 code for compatability
Initial CUDA work
Re-add CUDA work