QUDA  v0.5.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::Solver Class Referenceabstract

#include <invert_quda.h>

+ Inheritance diagram for quda::Solver:

Public Member Functions

 Solver (QudaInvertParam &invParam, TimeProfile &profile)
 
virtual ~Solver ()
 
virtual void operator() (cudaColorSpinorField &out, cudaColorSpinorField &in)=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 Solvercreate (QudaInvertParam &param, DiracMatrix &mat, DiracMatrix &matSloppy, DiracMatrix &matPrecon, TimeProfile &profile)
 

Protected Attributes

QudaInvertParaminvParam
 
TimeProfileprofile
 

Detailed Description

Definition at line 11 of file invert_quda.h.

Constructor & Destructor Documentation

quda::Solver::Solver ( QudaInvertParam invParam,
TimeProfile profile 
)
inline

Definition at line 18 of file invert_quda.h.

virtual quda::Solver::~Solver ( )
inlinevirtual

Definition at line 19 of file invert_quda.h.

Member Function Documentation

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

Definition at line 40 of file solver.cpp.

Solver * quda::Solver::create ( QudaInvertParam param,
DiracMatrix mat,
DiracMatrix matSloppy,
DiracMatrix matPrecon,
TimeProfile profile 
)
static

Definition at line 11 of file solver.cpp.

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

Implemented in quda::MR, quda::GCR, quda::BiCGstab, and quda::CG.

void quda::Solver::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 55 of file solver.cpp.

void quda::Solver::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 QudaInvertParam.true_res and QudaInvertParam.true_res_hq has been set

Definition at line 68 of file solver.cpp.

Member Data Documentation

QudaInvertParam& quda::Solver::invParam
protected

Definition at line 14 of file invert_quda.h.

TimeProfile& quda::Solver::profile
protected

Definition at line 15 of file invert_quda.h.


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