7 #include <dslash_init.cuh>
11 Dirac(param), face1(param.
gauge->
X(), 4, 6, 1, param.
gauge->Precision()), face2(param.
gauge->
X(), 4, 6, 1, param.
gauge->Precision())
18 :
Dirac(dirac), face1(dirac.face1), face2(dirac.face2)
38 errorQuda(
"Input and output spinor precisions don't match in dslash_quda");
42 errorQuda(
"Input %d and output %d spinor strides don't match in dslash_quda", in.
Stride(), out.
Stride());
46 errorQuda(
"ColorSpinorFields are not single parity, in = %d, out = %d",
65 const double &k)
const
112 errorQuda(
"Preconditioned solution requires a preconditioned solve_type");
145 if (&dirac !=
this) {
154 errorQuda(
"DiracStaggeredPC::M() is not implemented\n");
virtual void DslashXpay(cudaColorSpinorField &out, const cudaColorSpinorField &in, const QudaParity parity, const cudaColorSpinorField &x, const double &k) const
virtual void checkParitySpinor(const cudaColorSpinorField &, const cudaColorSpinorField &) const
virtual void prepare(cudaColorSpinorField *&src, cudaColorSpinorField *&sol, cudaColorSpinorField &x, cudaColorSpinorField &b, const QudaSolutionType) const
DiracStaggeredPC(const DiracParam ¶m)
virtual ~DiracStaggered()
bool newTmp(cudaColorSpinorField **, const cudaColorSpinorField &) const
virtual void prepare(cudaColorSpinorField *&src, cudaColorSpinorField *&sol, cudaColorSpinorField &x, cudaColorSpinorField &b, const QudaSolutionType) const
void staggeredDslashCuda(cudaColorSpinorField *out, const cudaGaugeField &gauge, const cudaColorSpinorField *in, const int parity, const int dagger, const cudaColorSpinorField *x, const double &k, const int *commDim, TimeProfile &profile, const QudaDslashPolicy &dslashPolicy=QUDA_DSLASH2)
virtual void MdagM(cudaColorSpinorField &out, const cudaColorSpinorField &in) const
virtual void reconstruct(cudaColorSpinorField &x, const cudaColorSpinorField &b, const QudaSolutionType) const
virtual void M(cudaColorSpinorField &out, const cudaColorSpinorField &in) const
DiracStaggered & operator=(const DiracStaggered &dirac)
cudaColorSpinorField & Odd() const
int commDim[QUDA_MAX_DIM]
DiracStaggeredPC & operator=(const DiracStaggeredPC &dirac)
virtual void Dslash(cudaColorSpinorField &out, const cudaColorSpinorField &in, const QudaParity parity) const
enum QudaSolutionType_s QudaSolutionType
void deleteTmp(cudaColorSpinorField **, const bool &reset) const
enum QudaParity_s QudaParity
virtual void MdagM(cudaColorSpinorField &out, const cudaColorSpinorField &in) const
Dirac & operator=(const Dirac &dirac)
cpuColorSpinorField * out
cudaColorSpinorField * tmp1
QudaPrecision Precision() const
virtual void reconstruct(cudaColorSpinorField &x, const cudaColorSpinorField &b, const QudaSolutionType) const
DiracStaggered(const DiracParam ¶m)
virtual ~DiracStaggeredPC()
virtual void M(cudaColorSpinorField &out, const cudaColorSpinorField &in) const
QudaSiteSubset SiteSubset() const
cudaColorSpinorField & Even() const