|
QUDA
0.9.0
|
#include <invert_quda.h>


Private Attributes | |
| DiracMatrix & | mat |
| DiracMatrix & | matSloppy |
| DiracMatrix & | matPrecon |
| Solver * | K |
| SolverParam | Kparam |
| ColorSpinorFieldSet * | Vm |
| ColorSpinorFieldSet * | Zm |
| ColorSpinorField * | rp |
| ColorSpinorField * | yp |
| residual vector More... | |
| ColorSpinorField * | tmpp |
| high precision accumulator More... | |
| ColorSpinorField * | r_sloppy |
| temporary for mat-vec More... | |
| ColorSpinorField * | r_pre |
| sloppy residual vector More... | |
| ColorSpinorField * | p_pre |
| residual passed to preconditioner More... | |
| TimeProfile & | profile |
| preconditioner result More... | |
| GMResDRArgs * | gmresdr_args |
| 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 (const double &tol, const double &b2, QudaResidualType residual_type) |
Protected Attributes inherited from quda::Solver | |
| SolverParam & | param |
| TimeProfile & | profile |
Definition at line 859 of file invert_quda.h.
| quda::GMResDR::GMResDR | ( | DiracMatrix & | mat, |
| DiracMatrix & | matSloppy, | ||
| DiracMatrix & | matPrecon, | ||
| SolverParam & | param, | ||
| TimeProfile & | profile | ||
| ) |
Definition at line 211 of file inv_gmresdr_quda.cpp.
References errorQuda, quda::fillFGMResDRInnerSolveParam(), quda::SolverParam::inv_type_precondition, K, Kparam, matPrecon, quda::Solver::param, profile, QUDA_BICGSTAB_INVERTER, QUDA_CG_INVERTER, QUDA_INVALID_INVERTER, QUDA_MR_INVERTER, and QUDA_SD_INVERTER.

| quda::GMResDR::GMResDR | ( | DiracMatrix & | mat, |
| Solver & | K, | ||
| DiracMatrix & | matSloppy, | ||
| DiracMatrix & | matPrecon, | ||
| SolverParam & | param, | ||
| TimeProfile & | profile | ||
| ) |
Definition at line 234 of file inv_gmresdr_quda.cpp.
|
virtual |
Definition at line 239 of file inv_gmresdr_quda.cpp.
References gmresdr_args, init, K, p_pre, quda::Solver::param, quda::SolverParam::precision_precondition, quda::SolverParam::precision_sloppy, profile, quda::QUDA_PROFILE_FREE, r_pre, r_sloppy, rp, tmpp, Vm, yp, and Zm.
Definition at line 371 of file inv_gmresdr_quda.cpp.
References args, quda::blas::ax(), quda::blas::caxpy(), quda::blas::cDotProduct(), quda::ColorSpinorField::Component(), quda::ColorSpinorField::Components(), quda::conj(), gmresdr_args, fused_exterior_ndeg_tm_dslash_cuda_gen::i, K, matSloppy, memcpy(), memset(), quda::norm(), quda::norm2(), p_pre, quda::Solver::param, popVerbosity(), quda::SolverParam::precision_precondition, quda::SolverParam::precision_sloppy, pushVerbosity(), r_pre, r_sloppy, quda::sqrt(), tmp, tmpp, quda::SolverParam::verbosity_precondition, Vm, quda::zero(), and Zm.
Referenced by operator()().


|
virtual |
Implements quda::Solver.
Definition at line 453 of file inv_gmresdr_quda.cpp.
References args, quda::blas::axpy(), b, quda::blas::cDotProduct(), quda::ColorSpinorField::Component(), quda::ColorSpinorField::Components(), quda::Solver::convergence(), quda::ColorSpinorField::Create(), csParam, quda::SolverParam::deflation_grid, e, fabs(), FlexArnoldiProcedure(), quda::blas::flops, quda::DiracMatrix::flops(), quda::SolverParam::gflops, gmresdr_args, quda::blas::HeavyQuarkResidualNorm(), init, quda::SolverParam::iter, K, quda::TimeProfile::Last(), quda::SolverParam::m, mat, quda::SolverParam::nev, quda::norm(), quda::norm2(), p_pre, quda::Solver::param, quda::SolverParam::precision, quda::SolverParam::precision_precondition, quda::SolverParam::precision_sloppy, printfQuda, quda::Solver::PrintStats(), quda::Solver::PrintSummary(), profile, QUDA_DOUBLE_PRECISION, QUDA_HEAVY_QUARK_RESIDUAL, quda::QUDA_PROFILE_COMPUTE, quda::QUDA_PROFILE_EPILOGUE, quda::QUDA_PROFILE_INIT, quda::QUDA_PROFILE_PREAMBLE, QUDA_ZERO_FIELD_CREATE, r_pre, r_sloppy, quda::SolverParam::residual_type, RestartVZH(), quda::SolverParam::rhs_idx, rp, quda::SolverParam::secs, quda::sqrt(), tmpp, quda::SolverParam::tol, quda::SolverParam::tol_hq, quda::SolverParam::true_res, UpdateSolution(), quda::GMResDRArgs::Vkp1, Vm, x, quda::blas::xmyNorm(), quda::blas::xpy(), y, yp, z, quda::blas::zero(), quda::zero(), and Zm.

| void quda::GMResDR::RestartVZH | ( | ) |
Definition at line 302 of file inv_gmresdr_quda.cpp.
References args, quda::blas::ax(), quda::blas::caxpy(), quda::blas::cDotProduct(), checkCudaError, quda::ColorSpinorField::Component(), quda::ColorSpinorField::Components(), quda::blas::copy(), errorQuda, quda::SolverParam::extlib_type, gmresdr_args, fused_exterior_ndeg_tm_dslash_cuda_gen::i, quda::blas::norm2(), quda::Solver::param, QUDA_EIGEN_EXTLIB, QUDA_MAGMA_EXTLIB, quda::sqrt(), quda::ColorSpinorField::V(), Vm, z, quda::blas::zero(), and Zm.
Referenced by operator()().


| void quda::GMResDR::RunDeflatedCycles | ( | ColorSpinorField * | out, |
| ColorSpinorField * | in, | ||
| const double | tol_threshold | ||
| ) |
| void quda::GMResDR::UpdateSolution | ( | ColorSpinorField * | x, |
| ColorSpinorField * | r, | ||
| bool | do_gels | ||
| ) |
Definition at line 271 of file inv_gmresdr_quda.cpp.
References args, quda::blas::caxpy(), quda::ColorSpinorField::Components(), errorQuda, quda::SolverParam::extlib_type, gmresdr_args, quda::Solver::param, QUDA_EIGEN_EXTLIB, QUDA_MAGMA_EXTLIB, Vm, x, and Zm.
Referenced by operator()().


|
private |
Definition at line 882 of file invert_quda.h.
Referenced by FlexArnoldiProcedure(), operator()(), RestartVZH(), UpdateSolution(), and ~GMResDR().
|
private |
Definition at line 884 of file invert_quda.h.
Referenced by operator()(), and ~GMResDR().
|
private |
Definition at line 867 of file invert_quda.h.
Referenced by FlexArnoldiProcedure(), GMResDR(), operator()(), and ~GMResDR().
|
private |
Definition at line 868 of file invert_quda.h.
Referenced by GMResDR().
|
private |
Definition at line 863 of file invert_quda.h.
Referenced by operator()().
|
private |
Definition at line 865 of file invert_quda.h.
Referenced by GMResDR().
|
private |
Definition at line 864 of file invert_quda.h.
Referenced by FlexArnoldiProcedure().
|
private |
residual passed to preconditioner
Definition at line 878 of file invert_quda.h.
Referenced by FlexArnoldiProcedure(), operator()(), and ~GMResDR().
|
private |
preconditioner result
Definition at line 880 of file invert_quda.h.
Referenced by GMResDR(), operator()(), and ~GMResDR().
|
private |
sloppy residual vector
Definition at line 877 of file invert_quda.h.
Referenced by FlexArnoldiProcedure(), operator()(), and ~GMResDR().
|
private |
temporary for mat-vec
Definition at line 876 of file invert_quda.h.
Referenced by FlexArnoldiProcedure(), operator()(), and ~GMResDR().
|
private |
Definition at line 873 of file invert_quda.h.
Referenced by operator()(), and ~GMResDR().
|
private |
high precision accumulator
Definition at line 875 of file invert_quda.h.
Referenced by FlexArnoldiProcedure(), operator()(), and ~GMResDR().
|
private |
Definition at line 870 of file invert_quda.h.
Referenced by FlexArnoldiProcedure(), operator()(), RestartVZH(), UpdateSolution(), and ~GMResDR().
|
private |
residual vector
Definition at line 874 of file invert_quda.h.
Referenced by operator()(), and ~GMResDR().
|
private |
Definition at line 871 of file invert_quda.h.
Referenced by FlexArnoldiProcedure(), operator()(), RestartVZH(), UpdateSolution(), and ~GMResDR().
1.8.14