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 Member Functions | Protected Attributes | Friends | List of all members
quda::Dirac Class Referenceabstract

#include <dirac_quda.h>

+ Inheritance diagram for quda::Dirac:

Public Member Functions

 Dirac (const DiracParam &param)
 
 Dirac (const Dirac &dirac)
 
virtual ~Dirac ()
 
Diracoperator= (const Dirac &dirac)
 
virtual void checkParitySpinor (const cudaColorSpinorField &, const cudaColorSpinorField &) const
 
virtual void checkFullSpinor (const cudaColorSpinorField &, const cudaColorSpinorField &) const
 
void checkSpinorAlias (const cudaColorSpinorField &, const cudaColorSpinorField &) const
 
virtual void Dslash (cudaColorSpinorField &out, const cudaColorSpinorField &in, const QudaParity parity) const =0
 
virtual void DslashXpay (cudaColorSpinorField &out, const cudaColorSpinorField &in, const QudaParity parity, const cudaColorSpinorField &x, const double &k) const =0
 
virtual void M (cudaColorSpinorField &out, const cudaColorSpinorField &in) const =0
 
virtual void MdagM (cudaColorSpinorField &out, const cudaColorSpinorField &in) const =0
 
void Mdag (cudaColorSpinorField &out, const cudaColorSpinorField &in) const
 
void MMdag (cudaColorSpinorField &out, const cudaColorSpinorField &in) const
 
virtual void prepare (cudaColorSpinorField *&src, cudaColorSpinorField *&sol, cudaColorSpinorField &x, cudaColorSpinorField &b, const QudaSolutionType) const =0
 
virtual void reconstruct (cudaColorSpinorField &x, const cudaColorSpinorField &b, const QudaSolutionType) const =0
 
void setMass (double mass)
 
unsigned long long Flops () const
 
QudaMatPCType getMatPCType () const
 
void Dagger (QudaDagType dag)
 

Static Public Member Functions

static Diraccreate (const DiracParam &param)
 

Protected Member Functions

bool newTmp (cudaColorSpinorField **, const cudaColorSpinorField &) const
 
void deleteTmp (cudaColorSpinorField **, const bool &reset) const
 

Protected Attributes

cudaGaugeFieldgauge
 
double kappa
 
double mass
 
QudaMatPCType matpcType
 
QudaDagType dagger
 
unsigned long long flops
 
cudaColorSpinorFieldtmp1
 
cudaColorSpinorFieldtmp2
 
QudaTune tune
 
int commDim [QUDA_MAX_DIM]
 
TimeProfile profile
 

Friends

class DiracMatrix
 
class DiracM
 
class DiracMdagM
 
class DiracMMdag
 
class DiracMdag
 

Detailed Description

Definition at line 79 of file dirac_quda.h.

Constructor & Destructor Documentation

quda::Dirac::Dirac ( const DiracParam param)

Definition at line 12 of file dirac.cpp.

quda::Dirac::Dirac ( const Dirac dirac)

Definition at line 20 of file dirac.cpp.

quda::Dirac::~Dirac ( )
virtual

Definition at line 28 of file dirac.cpp.

Member Function Documentation

void quda::Dirac::checkFullSpinor ( const cudaColorSpinorField out,
const cudaColorSpinorField in 
) const
virtual

Definition at line 121 of file dirac.cpp.

void quda::Dirac::checkParitySpinor ( const cudaColorSpinorField out,
const cudaColorSpinorField in 
) const
virtual
void quda::Dirac::checkSpinorAlias ( const cudaColorSpinorField a,
const cudaColorSpinorField b 
) const

Definition at line 129 of file dirac.cpp.

Dirac * quda::Dirac::create ( const DiracParam param)
static

Definition at line 134 of file dirac.cpp.

void quda::Dirac::Dagger ( QudaDagType  dag)
inline

Definition at line 140 of file dirac_quda.h.

void quda::Dirac::deleteTmp ( cudaColorSpinorField **  a,
const bool &  reset 
) const
protected

Definition at line 59 of file dirac.cpp.

virtual void quda::Dirac::Dslash ( cudaColorSpinorField out,
const cudaColorSpinorField in,
const QudaParity  parity 
) const
pure virtual
virtual void quda::Dirac::DslashXpay ( cudaColorSpinorField out,
const cudaColorSpinorField in,
const QudaParity  parity,
const cudaColorSpinorField x,
const double &  k 
) const
pure virtual
unsigned long long quda::Dirac::Flops ( ) const
inline

Definition at line 136 of file dirac_quda.h.

QudaMatPCType quda::Dirac::getMatPCType ( ) const
inline

Definition at line 139 of file dirac_quda.h.

virtual void quda::Dirac::M ( cudaColorSpinorField out,
const cudaColorSpinorField in 
) const
pure virtual
void quda::Dirac::Mdag ( cudaColorSpinorField out,
const cudaColorSpinorField in 
) const

Definition at line 68 of file dirac.cpp.

virtual void quda::Dirac::MdagM ( cudaColorSpinorField out,
const cudaColorSpinorField in 
) const
pure virtual
void quda::Dirac::MMdag ( cudaColorSpinorField out,
const cudaColorSpinorField in 
) const

Definition at line 75 of file dirac.cpp.

bool quda::Dirac::newTmp ( cudaColorSpinorField **  tmp,
const cudaColorSpinorField a 
) const
protected

Definition at line 51 of file dirac.cpp.

Dirac & quda::Dirac::operator= ( const Dirac dirac)

Definition at line 32 of file dirac.cpp.

virtual void quda::Dirac::prepare ( cudaColorSpinorField *&  src,
cudaColorSpinorField *&  sol,
cudaColorSpinorField x,
cudaColorSpinorField b,
const QudaSolutionType   
) const
pure virtual
virtual void quda::Dirac::reconstruct ( cudaColorSpinorField x,
const cudaColorSpinorField b,
const QudaSolutionType   
) const
pure virtual
void quda::Dirac::setMass ( double  mass)
inline

Definition at line 132 of file dirac_quda.h.

Friends And Related Function Documentation

friend class DiracM
friend

Definition at line 82 of file dirac_quda.h.

friend class DiracMatrix
friend

Definition at line 81 of file dirac_quda.h.

friend class DiracMdag
friend

Definition at line 85 of file dirac_quda.h.

friend class DiracMdagM
friend

Definition at line 83 of file dirac_quda.h.

friend class DiracMMdag
friend

Definition at line 84 of file dirac_quda.h.

Member Data Documentation

int quda::Dirac::commDim[QUDA_MAX_DIM]
protected

Definition at line 102 of file dirac_quda.h.

QudaDagType quda::Dirac::dagger
mutableprotected

Definition at line 92 of file dirac_quda.h.

unsigned long long quda::Dirac::flops
mutableprotected

Definition at line 93 of file dirac_quda.h.

cudaGaugeField& quda::Dirac::gauge
protected

Definition at line 88 of file dirac_quda.h.

double quda::Dirac::kappa
protected

Definition at line 89 of file dirac_quda.h.

double quda::Dirac::mass
protected

Definition at line 90 of file dirac_quda.h.

QudaMatPCType quda::Dirac::matpcType
protected

Definition at line 91 of file dirac_quda.h.

TimeProfile quda::Dirac::profile
mutableprotected

Definition at line 104 of file dirac_quda.h.

cudaColorSpinorField* quda::Dirac::tmp1
mutableprotected

Definition at line 94 of file dirac_quda.h.

cudaColorSpinorField* quda::Dirac::tmp2
mutableprotected

Definition at line 95 of file dirac_quda.h.

QudaTune quda::Dirac::tune
protected

Definition at line 100 of file dirac_quda.h.


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