|
QUDA
0.9.0
|
#include <invert_quda.h>


Public Member Functions | |
| CG (DiracMatrix &mat, DiracMatrix &matSloppy, SolverParam ¶m, TimeProfile &profile) | |
| virtual | ~CG () |
| void | operator() (ColorSpinorField &out, ColorSpinorField &in) |
| void | solve (ColorSpinorField &out, ColorSpinorField &in) |
Public Member Functions inherited from quda::Solver | |
| Solver (SolverParam ¶m, TimeProfile &profile) | |
| virtual | ~Solver () |
| bool | convergence (const double &r2, const double &hq2, const double &r2_tol, const double &hq_tol) |
| bool | convergenceHQ (const double &r2, const double &hq2, const double &r2_tol, const double &hq_tol) |
| bool | convergenceL2 (const double &r2, const double &hq2, const double &r2_tol, const double &hq_tol) |
| void | PrintStats (const char *, int k, const double &r2, const double &b2, const double &hq2) |
| void | PrintSummary (const char *name, int k, const double &r2, const double &b2) |
| virtual double | flops () const |
Private Attributes | |
| const DiracMatrix & | mat |
| const DiracMatrix & | matSloppy |
| ColorSpinorField * | yp |
| ColorSpinorField * | rp |
| ColorSpinorField * | App |
| ColorSpinorField * | tmpp |
| std::vector< ColorSpinorField * > | p |
| 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 402 of file invert_quda.h.
| quda::CG::CG | ( | DiracMatrix & | mat, |
| DiracMatrix & | matSloppy, | ||
| SolverParam & | param, | ||
| TimeProfile & | profile | ||
| ) |
Definition at line 21 of file inv_cg_quda.cpp.
|
virtual |
|
virtual |
Implements quda::Solver.
Reimplemented in quda::CGNR, and quda::CGNE.
Definition at line 106 of file inv_cg_quda.cpp.
References App, quda::blas::axpyCGNorm(), quda::blas::axpyNorm(), quda::blas::axpyZpbx(), b, quda::blas::caxpy(), quda::blas::cDotProduct(), quda::blas::cDotProductNormA(), checkLocation, quda::SolverParam::compute_null_vector, quda::SolverParam::compute_true_res, quda::Solver::convergence(), quda::Solver::convergenceHQ(), quda::Solver::convergenceL2(), quda::blas::copy(), quda::ColorSpinorField::Create(), csParam, d, quda::SolverParam::delta, delta, e, errorQuda, quda::blas::flops, quda::DiracMatrix::flops(), getVerbosity(), quda::SolverParam::gflops, quda::SolverParam::heavy_quark_check, quda::blas::HeavyQuarkResidualNorm(), fused_exterior_ndeg_tm_dslash_cuda_gen::i, init, quda::DiracMatrix::isStaggered(), quda::SolverParam::iter, quda::TimeProfile::Last(), mat, matSloppy, quda::SolverParam::max_res_increase, quda::SolverParam::max_res_increase_total, quda::SolverParam::maxiter, quda::blas::norm2(), p, quda::Solver::param, quda::SolverParam::pipeline, quda::pow(), quda::SolverParam::precision, quda::SolverParam::precision_sloppy, printfQuda, quda::Solver::PrintStats(), quda::Solver::PrintSummary(), quda::Solver::profile, quda::blas::quadrupleCGReduction(), QUDA_COMPUTE_NULL_VECTOR_NO, QUDA_COPY_FIELD_CREATE, QUDA_CUDA_FIELD_LOCATION, QUDA_HEAVY_QUARK_RESIDUAL, 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_VERBOSE, QUDA_ZERO_FIELD_CREATE, quda::ColorSpinorField::RealLength(), quda::blas::reDotProduct(), quda::SolverParam::residual_type, rp, quda::SolverParam::secs, quda::SolverParam::solution_accumulator_pipeline, quda::sqrt(), quda::Solver::stopping(), tmp, tmp2, tmp3, tmpp, quda::SolverParam::tol, quda::SolverParam::tol_hq, quda::blas::tripleCGReduction(), quda::blas::tripleCGUpdate(), quda::SolverParam::true_res, quda::SolverParam::true_res_hq, updateR(), quda::SolverParam::use_sloppy_partial_accumulator, warningQuda, x, quda::blas::xmyNorm(), quda::blas::xpayz(), quda::blas::xpy(), quda::blas::xpyHeavyQuarkResidualNorm(), y, yp, z, and quda::blas::zero().
Referenced by quda::CGNE::operator()(), and quda::CGNR::operator()().


|
virtual |
Reimplemented from quda::Solver.
Definition at line 605 of file inv_cg_quda.cpp.
References App, b, quda::blas::caxpy(), quda::blas::cDotProduct(), checkLocation, quda::ColorSpinorField::Component(), quda::conj(), conj(), quda::Solver::convergence(), quda::blas::copy(), quda::ColorSpinorField::Create(), csParam, e, errorQuda, quda::blas::flops, quda::DiracMatrix::flops(), quda::SolverParam::gflops, quda::blas::HeavyQuarkResidualNorm(), fused_exterior_ndeg_tm_dslash_cuda_gen::i, init, quda::DiracMatrix::isStaggered(), quda::SolverParam::iter, quda::TimeProfile::Last(), mat, matSloppy, quda::SolverParam::maxiter, quda::blas::norm2(), quda::SolverParam::num_src, p, quda::Solver::param, quda::SolverParam::precision, quda::LatticeField::Precision(), quda::SolverParam::precision_sloppy, printfQuda, quda::Solver::PrintStats(), quda::Solver::PrintSummary(), quda::Solver::profile, QUDA_COPY_FIELD_CREATE, QUDA_CUDA_FIELD_LOCATION, QUDA_HEAVY_QUARK_RESIDUAL, QUDA_MAX_MULTI_SHIFT, quda::QUDA_PROFILE_COMPUTE, quda::QUDA_PROFILE_EPILOGUE, quda::QUDA_PROFILE_FREE, quda::QUDA_PROFILE_INIT, quda::QUDA_PROFILE_PREAMBLE, QUDA_ZERO_FIELD_CREATE, quda::SolverParam::residual_type, rp, quda::SolverParam::secs, quda::sqrt(), quda::Solver::stopping(), tmp, tmp2, tmp3, tmpp, quda::SolverParam::tol, quda::SolverParam::tol_hq, quda::SolverParam::true_res, quda::SolverParam::true_res_hq, quda::SolverParam::true_res_hq_offset, quda::SolverParam::true_res_offset, quda::SolverParam::use_sloppy_partial_accumulator, warningQuda, x, quda::blas::xmyNorm(), quda::blas::xpy(), y, yp, z, and quda::blas::zero().

|
private |
Definition at line 408 of file invert_quda.h.
Referenced by operator()(), solve(), and ~CG().
|
private |
Definition at line 410 of file invert_quda.h.
Referenced by operator()(), solve(), and ~CG().
|
private |
Definition at line 405 of file invert_quda.h.
Referenced by operator()(), and solve().
|
private |
Definition at line 406 of file invert_quda.h.
Referenced by operator()(), and solve().
|
private |
Definition at line 409 of file invert_quda.h.
Referenced by operator()(), solve(), and ~CG().
|
private |
Definition at line 408 of file invert_quda.h.
Referenced by operator()(), solve(), and ~CG().
|
private |
Definition at line 408 of file invert_quda.h.
Referenced by operator()(), solve(), and ~CG().
|
private |
Definition at line 408 of file invert_quda.h.
Referenced by operator()(), solve(), and ~CG().
1.8.14