8 #include <dslash_init.cuh>
39 if ( in.
Ndim() != 5 || out.
Ndim() != 5)
errorQuda(
"Wrong number of dimensions\n");
46 long long Ls = in.
X(4);
47 long long bulk = (Ls-2)*(in.
Volume()/
Ls);
49 flops += 1320LL*(
long long)in.
Volume() + 96LL*bulk + 120LL*wall;
57 const double &k)
const
59 if ( in.
Ndim() != 5 || out.
Ndim() != 5)
errorQuda(
"Wrong number of dimensions\n");
66 long long Ls = in.
X(4);
67 long long bulk = (Ls-2)*(in.
Volume()/
Ls);
69 flops += (1320LL+48LL)*(
long long)in.
Volume() + 96LL*bulk + 120LL*wall;
97 errorQuda(
"Preconditioned solution requires a preconditioned solve_type");
129 if (&dirac !=
this) {
139 if ( in.
Ndim() != 5 || out.
Ndim() != 5)
errorQuda(
"Wrong number of dimensions\n");
virtual void checkParitySpinor(const cudaColorSpinorField &, const cudaColorSpinorField &) const
virtual ~DiracDomainWallPC()
bool newTmp(cudaColorSpinorField **, const cudaColorSpinorField &) const
virtual void prepare(cudaColorSpinorField *&src, cudaColorSpinorField *&sol, cudaColorSpinorField &x, cudaColorSpinorField &b, const QudaSolutionType) const
DiracWilson & operator=(const DiracWilson &dirac)
virtual void MdagM(cudaColorSpinorField &out, const cudaColorSpinorField &in) const
virtual void reconstruct(cudaColorSpinorField &x, const cudaColorSpinorField &b, const QudaSolutionType) const
void domainWallDslashCuda(cudaColorSpinorField *out, const cudaGaugeField &gauge, const cudaColorSpinorField *in, const int parity, const int dagger, const cudaColorSpinorField *x, const double &m_f, const double &k, const int *commDim, TimeProfile &profile, const QudaDslashPolicy &dslashPolicy=QUDA_DSLASH)
void checkSpinorAlias(const cudaColorSpinorField &, const cudaColorSpinorField &) const
cudaColorSpinorField & Odd() const
virtual void M(cudaColorSpinorField &out, const cudaColorSpinorField &in) const
int commDim[QUDA_MAX_DIM]
void reconstruct(cudaColorSpinorField &x, const cudaColorSpinorField &b, const QudaSolutionType) const
DiracDomainWallPC(const DiracParam ¶m)
DiracDomainWall & operator=(const DiracDomainWall &dirac)
DiracDomainWall(const DiracParam ¶m)
enum QudaSolutionType_s QudaSolutionType
void deleteTmp(cudaColorSpinorField **, const bool &reset) const
enum QudaParity_s QudaParity
DiracDomainWallPC & operator=(const DiracDomainWallPC &dirac)
cudaColorSpinorField * tmp2
virtual void checkFullSpinor(const cudaColorSpinorField &, const cudaColorSpinorField &) const
void Dslash(cudaColorSpinorField &out, const cudaColorSpinorField &in, const QudaParity parity) const
NEW : added setFace(), domainWallDslashCuda() got an extra argument.
cpuColorSpinorField * out
cudaColorSpinorField * tmp1
void prepare(cudaColorSpinorField *&src, cudaColorSpinorField *&sol, cudaColorSpinorField &x, cudaColorSpinorField &b, const QudaSolutionType) const
void M(cudaColorSpinorField &out, const cudaColorSpinorField &in) const
void Mdag(cudaColorSpinorField &out, const cudaColorSpinorField &in) const
virtual ~DiracDomainWall()
void DslashXpay(cudaColorSpinorField &out, const cudaColorSpinorField &in, const QudaParity parity, const cudaColorSpinorField &x, const double &k) const
NEW : added setFace(), domainWallDslashCuda() got an extra argument.
cudaColorSpinorField & Even() const
void MdagM(cudaColorSpinorField &out, const cudaColorSpinorField &in) const