QUDA
v1.1.0
A library for QCD on GPUs
|
#include <invert_quda.h>
Public Member Functions | |
CG3NE (const DiracMatrix &mat, const DiracMatrix &matSloppy, const DiracMatrix &matPrecon, SolverParam ¶m, TimeProfile &profile) | |
virtual | ~CG3NE () |
void | operator() (ColorSpinorField &out, ColorSpinorField &in) |
virtual bool | hermitian () |
Public Member Functions inherited from quda::CG3 | |
CG3 (const DiracMatrix &mat, const DiracMatrix &matSloppy, const DiracMatrix &matPrecon, SolverParam ¶m, TimeProfile &profile) | |
virtual | ~CG3 () |
Public Member Functions inherited from quda::Solver | |
Solver (const DiracMatrix &mat, const DiracMatrix &matSloppy, const DiracMatrix &matPrecon, const DiracMatrix &matEig, SolverParam ¶m, TimeProfile &profile) | |
virtual | ~Solver () |
virtual void | blocksolve (ColorSpinorField &out, ColorSpinorField &in) |
const DiracMatrix & | M () |
const DiracMatrix & | Msloppy () |
const DiracMatrix & | Mprecon () |
const DiracMatrix & | Meig () |
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... | |
double | precisionEpsilon (QudaPrecision prec=QUDA_INVALID_PRECISION) const |
Returns the epsilon tolerance for a given precision, by default returns the solver precision. More... | |
void | constructDeflationSpace (const ColorSpinorField &meta, const DiracMatrix &mat) |
Constructs the deflation space and eigensolver. More... | |
void | destroyDeflationSpace () |
Destroy the allocated deflation space. More... | |
void | extendSVDDeflationSpace () |
Extends the deflation space to twice its size for SVD deflation. More... | |
void | injectDeflationSpace (std::vector< ColorSpinorField * > &defl_space) |
Injects a deflation space into the solver from the vector argument. Note the input space is reduced to zero size as a result of calling this function, with responsibility for the space transferred to the solver. More... | |
void | extractDeflationSpace (std::vector< ColorSpinorField * > &defl_space) |
Extracts the deflation space from the solver to the vector argument. Note the solver deflation space is reduced to zero size as a result of calling this function, with responsibility for the space transferred to the argument. More... | |
int | deflationSpaceSize () const |
Returns the size of deflation space. More... | |
void | setDeflateCompute (bool flag) |
Sets the deflation compute boolean. More... | |
void | setRecomputeEvals (bool flag) |
Sets the recompute evals boolean. More... | |
virtual double | flops () const |
Return flops. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from quda::Solver | |
static Solver * | create (SolverParam ¶m, const DiracMatrix &mat, const DiracMatrix &matSloppy, const DiracMatrix &matPrecon, const DiracMatrix &matEig, TimeProfile &profile) |
Solver factory. More... | |
static double | stopping (double tol, double b2, QudaResidualType residual_type) |
Set the solver L2 stopping condition. More... | |
Protected Attributes inherited from quda::Solver | |
const DiracMatrix & | mat |
const DiracMatrix & | matSloppy |
const DiracMatrix & | matPrecon |
const DiracMatrix & | matEig |
SolverParam & | param |
TimeProfile & | profile |
int | node_parity |
EigenSolver * | eig_solve |
bool | deflate_init |
bool | deflate_compute |
bool | recompute_evals |
std::vector< ColorSpinorField * > | evecs |
std::vector< Complex > | evals |
Definition at line 736 of file invert_quda.h.
quda::CG3NE::CG3NE | ( | const DiracMatrix & | mat, |
const DiracMatrix & | matSloppy, | ||
const DiracMatrix & | matPrecon, | ||
SolverParam & | param, | ||
TimeProfile & | profile | ||
) |
Definition at line 43 of file inv_cg3_quda.cpp.
|
virtual |
Definition at line 55 of file inv_cg3_quda.cpp.
|
inlinevirtual |
Reimplemented from quda::CG3.
Definition at line 754 of file invert_quda.h.
|
virtual |
Reimplemented from quda::CG3.
Definition at line 65 of file inv_cg3_quda.cpp.