|
QUDA
0.9.0
|
#include <invert_quda.h>


Private Attributes | |
| const DiracMatrix & | mat |
| const DiracMatrix & | matSloppy |
| const DiracMatrix & | matPrecon |
| Solver * | K |
| SolverParam | Kparam |
| int | nKrylov |
| Complex * | alpha |
| Complex ** | beta |
| double * | gamma |
| bool | init |
| ColorSpinorField * | rp |
| ColorSpinorField * | yp |
| residual vector More... | |
| ColorSpinorField * | tmpp |
| high precision accumulator More... | |
| ColorSpinorField * | x_sloppy |
| temporary for mat-vec More... | |
| ColorSpinorField * | r_sloppy |
| sloppy solution vector More... | |
| ColorSpinorField * | r_pre |
| sloppy residual vector More... | |
| ColorSpinorField * | p_pre |
| residual passed to preconditioner More... | |
| ColorSpinorField * | rM |
| preconditioner result More... | |
| std::vector< ColorSpinorField * > | p |
| residual vector for doing multi-cycle preconditioning More... | |
| std::vector< ColorSpinorField * > | Ap |
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 (const double &tol, const double &b2, QudaResidualType residual_type) |
Protected Attributes inherited from quda::Solver | |
| SolverParam & | param |
| TimeProfile & | profile |
Definition at line 595 of file invert_quda.h.
| quda::GCR::GCR | ( | DiracMatrix & | mat, |
| DiracMatrix & | matSloppy, | ||
| DiracMatrix & | matPrecon, | ||
| SolverParam & | param, | ||
| TimeProfile & | profile | ||
| ) |
Definition at line 159 of file inv_gcr_quda.cpp.
References alpha, Ap, beta, errorQuda, quda::fillInnerSolveParam(), gamma, fused_exterior_ndeg_tm_dslash_cuda_gen::i, quda::SolverParam::inv_type_precondition, K, Kparam, matPrecon, nKrylov, p, quda::Solver::param, quda::Solver::profile, QUDA_BICGSTAB_INVERTER, QUDA_CG_INVERTER, QUDA_INVALID_INVERTER, QUDA_MR_INVERTER, and QUDA_SD_INVERTER.

| quda::GCR::GCR | ( | DiracMatrix & | mat, |
| Solver & | K, | ||
| DiracMatrix & | matSloppy, | ||
| DiracMatrix & | matPrecon, | ||
| SolverParam & | param, | ||
| TimeProfile & | profile | ||
| ) |
| K | Preconditioner |
Definition at line 190 of file inv_gcr_quda.cpp.
References alpha, Ap, beta, gamma, fused_exterior_ndeg_tm_dslash_cuda_gen::i, nKrylov, and p.
|
virtual |
Definition at line 205 of file inv_gcr_quda.cpp.
References alpha, Ap, beta, gamma, fused_exterior_ndeg_tm_dslash_cuda_gen::i, quda::SolverParam::inv_type_precondition, K, nKrylov, p, p_pre, quda::Solver::param, quda::SolverParam::precision, quda::SolverParam::precision_precondition, quda::SolverParam::precision_sloppy, quda::SolverParam::precondition_cycle, quda::Solver::profile, QUDA_MG_INVERTER, quda::QUDA_PROFILE_FREE, r_pre, r_sloppy, rM, rp, tmpp, x_sloppy, and yp.
|
virtual |
Implements quda::Solver.
Definition at line 237 of file inv_gcr_quda.cpp.
References alpha, Ap, quda::blas::axpy(), b, beta, quda::blas::cabxpyAxNorm(), quda::blas::cDotProductNormA(), commCoords(), quda::SolverParam::compute_null_vector, quda::SolverParam::compute_true_res, quda::Solver::convergence(), quda::blas::copy(), quda::ColorSpinorField::Create(), csParam, quda::SolverParam::delta, e, errorQuda, quda::blas::flops, quda::Solver::flops(), quda::DiracMatrix::flops(), gamma, getVerbosity(), quda::SolverParam::gflops, quda::blas::HeavyQuarkResidualNorm(), fused_exterior_ndeg_tm_dslash_cuda_gen::i, init, quda::SolverParam::inv_type_precondition, quda::SolverParam::iter, K, quda::TimeProfile::Last(), mat, matPrecon, matSloppy, quda::SolverParam::max_res_increase, quda::SolverParam::max_res_increase_total, quda::SolverParam::maxiter, nKrylov, quda::blas::norm2(), quda::orthoDir(), p, p_pre, quda::Solver::param, parity, pipeline, quda::SolverParam::pipeline, popVerbosity(), quda::SolverParam::precision, quda::SolverParam::precision_precondition, quda::SolverParam::precision_sloppy, quda::SolverParam::precondition_cycle, printfQuda, quda::Solver::PrintStats(), quda::Solver::PrintSummary(), quda::Solver::profile, pushVerbosity(), QUDA_ADDITIVE_SCHWARZ, QUDA_COMPUTE_NULL_VECTOR_NO, QUDA_CPU_FIELD_LOCATION, QUDA_DEBUG_VERBOSE, QUDA_HEAVY_QUARK_RESIDUAL, QUDA_INVALID_INVERTER, QUDA_NULL_FIELD_CREATE, quda::QUDA_PROFILE_COMPUTE, quda::QUDA_PROFILE_EPILOGUE, quda::QUDA_PROFILE_FREE, quda::QUDA_PROFILE_INIT, quda::QUDA_PROFILE_PREAMBLE, QUDA_SUMMARIZE, QUDA_USE_INIT_GUESS_YES, QUDA_VERBOSE, r_pre, r_sloppy, quda::SolverParam::residual_type, rM, rp, quda::SolverParam::schwarz_type, quda::SolverParam::secs, quda::sqrt(), quda::Solver::stopping(), tmp, tmpp, quda::SolverParam::tol, quda::SolverParam::tol_hq, quda::SolverParam::true_res, quda::SolverParam::true_res_hq, quda::updateSolution(), quda::SolverParam::use_init_guess, quda::SolverParam::verbosity_precondition, warningQuda, x, x_sloppy, quda::blas::xmyNorm(), quda::blas::xpy(), y, yp, z, and quda::blas::zero().

|
private |
Definition at line 610 of file invert_quda.h.
Referenced by GCR(), operator()(), and ~GCR().
|
private |
Definition at line 629 of file invert_quda.h.
Referenced by GCR(), operator()(), and ~GCR().
|
private |
Definition at line 611 of file invert_quda.h.
Referenced by GCR(), operator()(), and ~GCR().
|
private |
Definition at line 612 of file invert_quda.h.
Referenced by GCR(), operator()(), and ~GCR().
|
private |
Solver uses lazy allocation: this flag to determine whether we have allocated.
Definition at line 617 of file invert_quda.h.
Referenced by operator()().
|
private |
Definition at line 602 of file invert_quda.h.
Referenced by GCR(), operator()(), and ~GCR().
|
private |
Definition at line 603 of file invert_quda.h.
Referenced by GCR().
|
private |
Definition at line 598 of file invert_quda.h.
Referenced by operator()().
|
private |
Definition at line 600 of file invert_quda.h.
Referenced by GCR(), and operator()().
|
private |
Definition at line 599 of file invert_quda.h.
Referenced by operator()().
|
private |
The size of the Krylov space that GCR uses
Definition at line 608 of file invert_quda.h.
Referenced by GCR(), operator()(), and ~GCR().
|
private |
residual vector for doing multi-cycle preconditioning
Definition at line 628 of file invert_quda.h.
Referenced by GCR(), operator()(), and ~GCR().
|
private |
residual passed to preconditioner
Definition at line 625 of file invert_quda.h.
Referenced by operator()(), and ~GCR().
|
private |
sloppy residual vector
Definition at line 624 of file invert_quda.h.
Referenced by operator()(), and ~GCR().
|
private |
sloppy solution vector
Definition at line 623 of file invert_quda.h.
Referenced by operator()(), and ~GCR().
|
private |
preconditioner result
Definition at line 626 of file invert_quda.h.
Referenced by operator()(), and ~GCR().
|
private |
Definition at line 619 of file invert_quda.h.
Referenced by operator()(), and ~GCR().
|
private |
high precision accumulator
Definition at line 621 of file invert_quda.h.
Referenced by operator()(), and ~GCR().
|
private |
temporary for mat-vec
Definition at line 622 of file invert_quda.h.
Referenced by operator()(), and ~GCR().
|
private |
residual vector
Definition at line 620 of file invert_quda.h.
Referenced by operator()(), and ~GCR().
1.8.14