QUDA  1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Private Attributes | List of all members
quda::BiCGstabLUpdate Class Reference
Inheritance diagram for quda::BiCGstabLUpdate:
Inheritance graph
[legend]
Collaboration diagram for quda::BiCGstabLUpdate:
Collaboration graph
[legend]

Public Member Functions

 BiCGstabLUpdate (ColorSpinorField *x, std::vector< ColorSpinorField *> &r, std::vector< ColorSpinorField *> &u, Complex *alpha, Complex *beta, BiCGstabLUpdateType update_type, int j_max, int n_update)
 
virtual ~BiCGstabLUpdate ()
 
void update_j_max (int new_j_max)
 
void update_update_type (BiCGstabLUpdateType new_update_type)
 
void apply (const cudaStream_t &stream)
 
- Public Member Functions inherited from quda::Worker
 Worker ()
 
virtual ~Worker ()
 

Private Attributes

ColorSpinorFieldx
 
std::vector< ColorSpinorField * > & r
 
std::vector< ColorSpinorField * > & u
 
Complexalpha
 
Complexbeta
 
BiCGstabLUpdateType update_type
 
int j_max
 
int n_update
 

Detailed Description

Definition at line 179 of file inv_bicgstabl_quda.cpp.

Constructor & Destructor Documentation

◆ BiCGstabLUpdate()

quda::BiCGstabLUpdate::BiCGstabLUpdate ( ColorSpinorField x,
std::vector< ColorSpinorField *> &  r,
std::vector< ColorSpinorField *> &  u,
Complex alpha,
Complex beta,
BiCGstabLUpdateType  update_type,
int  j_max,
int  n_update 
)
inline

Definition at line 204 of file inv_bicgstabl_quda.cpp.

◆ ~BiCGstabLUpdate()

virtual quda::BiCGstabLUpdate::~BiCGstabLUpdate ( )
inlinevirtual

Definition at line 211 of file inv_bicgstabl_quda.cpp.

Member Function Documentation

◆ apply()

void quda::BiCGstabLUpdate::apply ( const cudaStream_t &  stream)
inlinevirtual

Implements quda::Worker.

Definition at line 218 of file inv_bicgstabl_quda.cpp.

References quda::dslash::aux_worker, quda::BICGSTABL_UPDATE_U, quda::blas::caxpby(), quda::blas::caxpy(), and quda::count.

Here is the call graph for this function:

◆ update_j_max()

void quda::BiCGstabLUpdate::update_j_max ( int  new_j_max)
inline

Definition at line 213 of file inv_bicgstabl_quda.cpp.

◆ update_update_type()

void quda::BiCGstabLUpdate::update_update_type ( BiCGstabLUpdateType  new_update_type)
inline

Definition at line 214 of file inv_bicgstabl_quda.cpp.

Member Data Documentation

◆ alpha

Complex* quda::BiCGstabLUpdate::alpha
private

Definition at line 185 of file inv_bicgstabl_quda.cpp.

◆ beta

Complex* quda::BiCGstabLUpdate::beta
private

Definition at line 186 of file inv_bicgstabl_quda.cpp.

◆ j_max

int quda::BiCGstabLUpdate::j_max
private

On a BiCG iteration j, u[0] through u[j-1] need to get updated, similarly r[0] through r[j-1] need to get updated. j_max = j.

Definition at line 194 of file inv_bicgstabl_quda.cpp.

◆ n_update

int quda::BiCGstabLUpdate::n_update
private

How much to partition the shifted update. For now, we assume we always need to partition into two pieces (since BiCGstab-L should only be getting even/odd preconditioned operators).

Definition at line 201 of file inv_bicgstabl_quda.cpp.

◆ r

std::vector<ColorSpinorField*>& quda::BiCGstabLUpdate::r
private

Definition at line 182 of file inv_bicgstabl_quda.cpp.

◆ u

std::vector<ColorSpinorField*>& quda::BiCGstabLUpdate::u
private

Definition at line 183 of file inv_bicgstabl_quda.cpp.

◆ update_type

BiCGstabLUpdateType quda::BiCGstabLUpdate::update_type
private

Definition at line 188 of file inv_bicgstabl_quda.cpp.

◆ x

ColorSpinorField* quda::BiCGstabLUpdate::x
private

Definition at line 181 of file inv_bicgstabl_quda.cpp.


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