Changes:
1) added Use_Cuda compilation flag to turn ON cuda support, OFF by default.
2) added memory management layer (memcpy, memset, malloc, fill, free, etc) templated to the address space, and implemented with proper guards for cuda runtime.
3) moved cublas routines to a device namespace and properly guarded them when not compiling with cuda
4) same as 2) for cusolver routines in lapack
5) removed cuda specific cpp files and unit tests from cmake system when not compiling with cuda.
6) The code should now compile successfully without cuda. In this case, use of device arrays will throw.
Changes: 1) added Use_Cuda compilation flag to turn ON cuda support, OFF by default. 2) added memory management layer (memcpy, memset, malloc, fill, free, etc) templated to the address space, and implemented with proper guards for cuda runtime. 3) moved cublas routines to a device namespace and properly guarded them when not compiling with cuda 4) same as 2) for cusolver routines in lapack 5) removed cuda specific cpp files and unit tests from cmake system when not compiling with cuda. 6) The code should now compile successfully without cuda. In this case, use of device arrays will throw.