QUDA  0.9.0
Public Member Functions | Private Member Functions | Private Attributes | List of all members
quda::MPCG Class Reference

#include <invert_quda.h>

Inheritance diagram for quda::MPCG:
Inheritance graph
[legend]
Collaboration diagram for quda::MPCG:
Collaboration graph
[legend]

Public Member Functions

 MPCG (DiracMatrix &mat, SolverParam &param, TimeProfile &profile)
 
virtual ~MPCG ()
 
void operator() (ColorSpinorField &out, ColorSpinorField &in)
 
- Public Member Functions inherited from quda::Solver
 Solver (SolverParam &param, TimeProfile &profile)
 
virtual ~Solver ()
 
virtual void solve (ColorSpinorField &out, ColorSpinorField &in)
 
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 Member Functions

void computeMatrixPowers (cudaColorSpinorField out[], cudaColorSpinorField &in, int nvec)
 
void computeMatrixPowers (std::vector< cudaColorSpinorField > &out, std::vector< cudaColorSpinorField > &in, int nsteps)
 

Private Attributes

const DiracMatrixmat
 

Additional Inherited Members

- Static Public Member Functions inherited from quda::Solver
static Solvercreate (SolverParam &param, 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
SolverParamparam
 
TimeProfileprofile
 

Detailed Description

Definition at line 452 of file invert_quda.h.

Constructor & Destructor Documentation

◆ MPCG()

quda::MPCG::MPCG ( DiracMatrix mat,
SolverParam param,
TimeProfile profile 
)

Definition at line 93 of file inv_mpcg_quda.cpp.

◆ ~MPCG()

quda::MPCG::~MPCG ( )
virtual

Definition at line 99 of file inv_mpcg_quda.cpp.

Member Function Documentation

◆ computeMatrixPowers() [1/2]

void quda::MPCG::computeMatrixPowers ( cudaColorSpinorField  out[],
cudaColorSpinorField in,
int  nvec 
)
private

Definition at line 103 of file inv_mpcg_quda.cpp.

References fused_exterior_ndeg_tm_dslash_cuda_gen::i, in, mat, nvec, and out.

Referenced by operator()().

Here is the caller graph for this function:

◆ computeMatrixPowers() [2/2]

void quda::MPCG::computeMatrixPowers ( std::vector< cudaColorSpinorField > &  out,
std::vector< cudaColorSpinorField > &  in,
int  nsteps 
)
private

Definition at line 113 of file inv_mpcg_quda.cpp.

References fused_exterior_ndeg_tm_dslash_cuda_gen::i, in, mat, and out.

◆ operator()()

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

Member Data Documentation

◆ mat

const DiracMatrix& quda::MPCG::mat
private

Definition at line 454 of file invert_quda.h.

Referenced by computeMatrixPowers(), and operator()().


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