QUDA
v1.1.0
A library for QCD on GPUs
|
Multi-Shift Conjugate Gradient Solver. More...
#include <invert_quda.h>
Public Member Functions | |
MultiShiftCG (const DiracMatrix &mat, const DiracMatrix &matSloppy, SolverParam ¶m, TimeProfile &profile) | |
virtual | ~MultiShiftCG () |
void | operator() (std::vector< ColorSpinorField * >x, ColorSpinorField &b, std::vector< ColorSpinorField * > &p, double *r2_old_array) |
Run multi-shift and return Krylov-space at the end of the solve in p and r2_old_arry. More... | |
void | operator() (std::vector< ColorSpinorField * > out, ColorSpinorField &in) |
Run multi-shift and return Krylov-space at the end of the solve in p and r2_old_arry. More... | |
Public Member Functions inherited from quda::MultiShiftSolver | |
MultiShiftSolver (const DiracMatrix &mat, const DiracMatrix &matSloppy, SolverParam ¶m, TimeProfile &profile) | |
virtual | ~MultiShiftSolver () |
bool | convergence (const double *r2, const double *r2_tol, int n) const |
Additional Inherited Members | |
Protected Attributes inherited from quda::MultiShiftSolver | |
const DiracMatrix & | mat |
const DiracMatrix & | matSloppy |
SolverParam & | param |
TimeProfile & | profile |
Multi-Shift Conjugate Gradient Solver.
Definition at line 1258 of file invert_quda.h.
quda::MultiShiftCG::MultiShiftCG | ( | const DiracMatrix & | mat, |
const DiracMatrix & | matSloppy, | ||
SolverParam & | param, | ||
TimeProfile & | profile | ||
) |
Definition at line 115 of file inv_multi_cg_quda.cpp.
|
virtual |
Definition at line 121 of file inv_multi_cg_quda.cpp.
|
inlinevirtual |
Run multi-shift and return Krylov-space at the end of the solve in p and r2_old_arry.
out | std::vector of pointer to solutions for all the shifts. |
in | right-hand side. |
Implements quda::MultiShiftSolver.
Definition at line 1279 of file invert_quda.h.
void quda::MultiShiftCG::operator() | ( | std::vector< ColorSpinorField * > | x, |
ColorSpinorField & | b, | ||
std::vector< ColorSpinorField * > & | p, | ||
double * | r2_old_array | ||
) |
Run multi-shift and return Krylov-space at the end of the solve in p and r2_old_arry.
out | std::vector of pointer to solutions for all the shifts. |
in | right-hand side. |
p | std::vector of pointers to hold search directions. Note this will be resized as necessary. |
r2_old_array | pointer to last values of r2_old for old shifts. Needs to be large enough to hold r2_old for all shifts. |
Definition at line 155 of file inv_multi_cg_quda.cpp.