QUDA  v1.1.0
A library for QCD on GPUs
Public Member Functions | List of all members
quda::SD Class Reference

#include <invert_quda.h>

+ Inheritance diagram for quda::SD:

Public Member Functions

 SD (const DiracMatrix &mat, SolverParam &param, TimeProfile &profile)
 
virtual ~SD ()
 
void operator() (ColorSpinorField &out, ColorSpinorField &in)
 
virtual bool hermitian ()
 
- Public Member Functions inherited from quda::Solver
 Solver (const DiracMatrix &mat, const DiracMatrix &matSloppy, const DiracMatrix &matPrecon, const DiracMatrix &matEig, SolverParam &param, TimeProfile &profile)
 
virtual ~Solver ()
 
virtual void blocksolve (ColorSpinorField &out, ColorSpinorField &in)
 
const DiracMatrixM ()
 
const DiracMatrixMsloppy ()
 
const DiracMatrixMprecon ()
 
const DiracMatrixMeig ()
 
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 Solvercreate (SolverParam &param, 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 DiracMatrixmat
 
const DiracMatrixmatSloppy
 
const DiracMatrixmatPrecon
 
const DiracMatrixmatEig
 
SolverParamparam
 
TimeProfileprofile
 
int node_parity
 
EigenSolvereig_solve
 
bool deflate_init
 
bool deflate_compute
 
bool recompute_evals
 
std::vector< ColorSpinorField * > evecs
 
std::vector< Complexevals
 

Detailed Description

Definition at line 1147 of file invert_quda.h.

Constructor & Destructor Documentation

◆ SD()

quda::SD::SD ( const DiracMatrix mat,
SolverParam param,
TimeProfile profile 
)

Definition at line 17 of file inv_sd_quda.cpp.

◆ ~SD()

quda::SD::~SD ( )
virtual

Definition at line 24 of file inv_sd_quda.cpp.

Member Function Documentation

◆ hermitian()

virtual bool quda::SD::hermitian ( )
inlinevirtual
Returns
Whether the solver is only for Hermitian systems

Implements quda::Solver.

Definition at line 1160 of file invert_quda.h.

◆ operator()()

void quda::SD::operator() ( ColorSpinorField out,
ColorSpinorField in 
)
virtual

Implements quda::Solver.

Definition at line 35 of file inv_sd_quda.cpp.


The documentation for this class was generated from the following files: