|
QUDA
1.0.0
|
#include <invert_quda.h>


Public Member Functions | |
| MR (DiracMatrix &mat, DiracMatrix &matSloppy, SolverParam ¶m, TimeProfile &profile) | |
| virtual | ~MR () |
| void | operator() (ColorSpinorField &out, ColorSpinorField &in) |
Public Member Functions inherited from quda::Solver | |
| Solver (SolverParam ¶m, TimeProfile &profile) | |
| virtual | ~Solver () |
| virtual void | blocksolve (ColorSpinorField &out, ColorSpinorField &in) |
| bool | convergence (double r2, double hq2, double r2_tol, double hq_tol) |
| bool | convergenceHQ (double r2, double hq2, double r2_tol, double hq_tol) |
| Test for HQ solver convergence – ignore L2 residual. More... | |
| bool | convergenceL2 (double r2, double hq2, double r2_tol, double hq_tol) |
| Test for L2 solver convergence – ignore HQ residual. More... | |
| void | PrintStats (const char *name, int k, double r2, double b2, double hq2) |
| Prints out the running statistics of the solver (requires a verbosity of QUDA_VERBOSE) More... | |
| void | PrintSummary (const char *name, int k, double r2, double b2, double r2_tol, double hq_tol) |
| Prints out the summary of the solver convergence (requires a verbosity of QUDA_SUMMARIZE). Assumes SolverParam.true_res and SolverParam.true_res_hq has been set. More... | |
| void | constructDeflationSpace (const ColorSpinorField &meta, const DiracMatrix &mat, bool svd) |
| Constructs the deflation space. More... | |
| virtual double | flops () const |
Private Attributes | |
| const DiracMatrix & | mat |
| const DiracMatrix & | matSloppy |
| ColorSpinorField * | rp |
| ColorSpinorField * | r_sloppy |
| ColorSpinorField * | Arp |
| ColorSpinorField * | tmpp |
| ColorSpinorField * | tmp_sloppy |
| ColorSpinorField * | x_sloppy |
| bool | init |
Additional Inherited Members | |
Static Public Member Functions inherited from quda::Solver | |
| static Solver * | create (SolverParam ¶m, DiracMatrix &mat, DiracMatrix &matSloppy, DiracMatrix &matPrecon, TimeProfile &profile) |
| static double | stopping (double tol, double b2, QudaResidualType residual_type) |
| Set the solver L2 stopping condition. More... | |
Public Attributes inherited from quda::Solver | |
| EigenSolver * | eig_solve |
| bool | deflate_init = false |
| std::vector< ColorSpinorField * > | defl_tmp1 |
| std::vector< ColorSpinorField * > | defl_tmp2 |
Protected Attributes inherited from quda::Solver | |
| SolverParam & | param |
| TimeProfile & | profile |
| int | node_parity |
Definition at line 863 of file invert_quda.h.
| quda::MR::MR | ( | DiracMatrix & | mat, |
| DiracMatrix & | matSloppy, | ||
| SolverParam & | param, | ||
| TimeProfile & | profile | ||
| ) |
Definition at line 16 of file inv_mr_quda.cpp.
References errorQuda, quda::SolverParam::Nsteps, QUDA_MULTIPLICATIVE_SCHWARZ, and quda::SolverParam::schwarz_type.
|
virtual |
Definition at line 25 of file inv_mr_quda.cpp.
References Arp, init, quda::SolverParam::is_preconditioner, quda::Solver::param, quda::Solver::profile, quda::QUDA_PROFILE_FREE, r_sloppy, rp, tmp_sloppy, tmpp, and x_sloppy.
|
virtual |
Implements quda::Solver.
Definition at line 38 of file inv_mr_quda.cpp.
References Arp, quda::blas::ax(), quda::blas::axpy(), quda::blas::caxpyXmaz(), quda::blas::caxpyXmazMR(), quda::blas::cDotProductNormA(), checkPrecision, commAsyncReductionSet(), commGlobalReductionSet(), quda::SolverParam::compute_true_res, quda::blas::copy(), quda::ColorSpinorParam::create, quda::ColorSpinorField::Create(), csParam, errorQuda, quda::blas::flops, quda::DiracMatrix::flops(), getVerbosity(), quda::SolverParam::gflops, quda::SolverParam::global_reduction, init, quda::SolverParam::is_preconditioner, quda::SolverParam::iter, quda::TimeProfile::Last(), mat, matSloppy, quda::SolverParam::maxiter, quda::Solver::node_parity, quda::blas::norm2(), quda::SolverParam::Nsteps, quda::SolverParam::omega, quda::Solver::param, quda::SolverParam::precision, quda::SolverParam::precision_sloppy, quda::SolverParam::preserve_source, printfQuda, quda::Solver::profile, QUDA_BOOLEAN_TRUE, QUDA_INVALID_RESIDUAL, QUDA_MULTIPLICATIVE_SCHWARZ, QUDA_NULL_FIELD_CREATE, QUDA_PRESERVE_SOURCE_NO, QUDA_PRESERVE_SOURCE_YES, quda::QUDA_PROFILE_COMPUTE, quda::QUDA_PROFILE_EPILOGUE, QUDA_SUMMARIZE, QUDA_USE_INIT_GUESS_NO, QUDA_USE_INIT_GUESS_YES, QUDA_VERBOSE, r_sloppy, quda::SolverParam::residual_type, rp, quda::SolverParam::schwarz_type, quda::SolverParam::secs, quda::ColorSpinorParam::setPrecision(), quda::sqrt(), tmp, tmp_sloppy, tmpp, quda::SolverParam::tol, quda::SolverParam::true_res, quda::SolverParam::use_init_guess, x_sloppy, quda::blas::xmyNorm(), and quda::blas::zero().

|
private |
Definition at line 870 of file invert_quda.h.
Referenced by operator()(), and ~MR().
|
private |
Definition at line 874 of file invert_quda.h.
Referenced by operator()(), and ~MR().
|
private |
Definition at line 866 of file invert_quda.h.
Referenced by operator()().
|
private |
Definition at line 867 of file invert_quda.h.
Referenced by operator()().
|
private |
Definition at line 869 of file invert_quda.h.
Referenced by operator()(), and ~MR().
|
private |
Definition at line 868 of file invert_quda.h.
Referenced by operator()(), and ~MR().
|
private |
Definition at line 872 of file invert_quda.h.
Referenced by operator()(), and ~MR().
|
private |
Definition at line 871 of file invert_quda.h.
Referenced by operator()(), and ~MR().
|
private |
Definition at line 873 of file invert_quda.h.
Referenced by operator()(), and ~MR().
1.8.13