Skip to content

RF: Replace CUSP solver with our own conjugate gradient implementation

Paul McCarthy requested to merge mnt/rewrite-solver into master

A new LinearSolverCG class which contains an implementation of function minimisation using conjugate gradient. This is to replace the LinearSolverCUSP class, which removes our dependence on CUSP entirely.

New functions on the SparseDiagonalMatrixTiled class for:

  • Accessing n_rows, n_cols and n_tiles
  • Performing RHS matrix-vector multiplication, via an operator* overload. The multiplication is performed in a CUDA kernel.
  • Creating from, and converting to, an arma::fmat matrix. Useful for testing.

Added some basic unit tests for the LinearSolverCG and SparseDiagonalMatrixTiled classes.

Edited by Paul McCarthy

Merge request reports

Loading