QUDA  v0.7.0
A library for QCD on GPUs
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
quda::DeflatedSolver Class Referenceabstract

#include <invert_quda.h>

+ Inheritance diagram for quda::DeflatedSolver:

Public Member Functions

 DeflatedSolver (SolverParam &param, TimeProfile &profile)
 
virtual ~DeflatedSolver ()
 
virtual void operator() (cudaColorSpinorField *out, cudaColorSpinorField *in)=0
 
virtual void StoreRitzVecs (void *host_buffer, double *inv_eigenvals, const int *X, QudaInvertParam *inv_par, const int nev, bool cleanResources=false)=0
 
virtual void CleanResources ()=0
 
bool convergence (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)
 

Static Public Member Functions

static DeflatedSolvercreate (SolverParam &param, DiracMatrix &mat, DiracMatrix &matSloppy, DiracMatrix &matCGSloppy, DiracMatrix &matDeflate, TimeProfile &profile)
 

Protected Attributes

SolverParamparam
 
TimeProfileprofile
 
QudaPrecision eigcg_precision
 

Detailed Description

Definition at line 530 of file invert_quda.h.

Constructor & Destructor Documentation

quda::DeflatedSolver::DeflatedSolver ( SolverParam param,
TimeProfile profile 
)
inline

Definition at line 541 of file invert_quda.h.

virtual quda::DeflatedSolver::~DeflatedSolver ( )
inlinevirtual

Definition at line 546 of file invert_quda.h.

Member Function Documentation

virtual void quda::DeflatedSolver::CleanResources ( )
pure virtual

Implemented in quda::IncEigCG.

bool quda::DeflatedSolver::convergence ( const double &  r2,
const double &  hq2,
const double &  r2_tol,
const double &  hq_tol 
)

Definition at line 164 of file solver.cpp.

DeflatedSolver * quda::DeflatedSolver::create ( SolverParam param,
DiracMatrix mat,
DiracMatrix matSloppy,
DiracMatrix matCGSloppy,
DiracMatrix matDeflate,
TimeProfile profile 
)
static

Definition at line 150 of file solver.cpp.

virtual void quda::DeflatedSolver::operator() ( cudaColorSpinorField out,
cudaColorSpinorField in 
)
pure virtual

Implemented in quda::IncEigCG.

void quda::DeflatedSolver::PrintStats ( const char *  name,
int  k,
const double &  r2,
const double &  b2,
const double &  hq2 
)

Prints out the running statistics of the solver (requires a verbosity of QUDA_VERBOSE)

Definition at line 179 of file solver.cpp.

void quda::DeflatedSolver::PrintSummary ( const char *  name,
int  k,
const double &  r2,
const double &  b2 
)

Prints out the summary of the solver convergence (requires a versbosity of QUDA_SUMMARIZE). Assumes SolverParam.true_res and SolverParam.true_res_hq has been set

Definition at line 194 of file solver.cpp.

virtual void quda::DeflatedSolver::StoreRitzVecs ( void *  host_buffer,
double *  inv_eigenvals,
const int *  X,
QudaInvertParam inv_par,
const int  nev,
bool  cleanResources = false 
)
pure virtual

Implemented in quda::IncEigCG.

Member Data Documentation

QudaPrecision quda::DeflatedSolver::eigcg_precision
protected

Definition at line 538 of file invert_quda.h.

SolverParam& quda::DeflatedSolver::param
protected

Definition at line 533 of file invert_quda.h.

TimeProfile& quda::DeflatedSolver::profile
protected

Definition at line 534 of file invert_quda.h.


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