Reduce internal build dependencies to enable coexisting instances of GMRES solvers on host and device. In current develop branch, if GPU backend is built, GMRES is always instantiated on GPU.
This PR includes:
Refactor of memory utility class.
Standalone source files with vector kernels are removed and the kernels are incorporated in memory utility class (or handlers where appropriate).
Complete refactor of randomized sketching classes. This includes adding SketchingHandler class that is setting sketching and providing abstract interface to sketching methods.
CPU-based iterative solvers are tested always, regardless whether GPU backend(s) are enabled or not.
Addresses #87
Fixed bug where GMRES solver on CPU would try to set memory on GPU.
Reduce internal build dependencies to enable coexisting instances of GMRES solvers on host and device. In current develop branch, if GPU backend is built, GMRES is always instantiated on GPU.
This PR includes:
SketchingHandler
class that is setting sketching and providing abstract interface to sketching methods.