34 void wilsonDslashCuda(cudaColorSpinorField *
out,
const cudaGaugeField &gauge,
const cudaColorSpinorField *
in,
35 const int oddBit,
const int daggerBit,
const cudaColorSpinorField *
x,
36 const double &k,
const int *
commDim, TimeProfile &profile);
40 const FullClover &cloverInv,
const cudaColorSpinorField *
in,
41 const int oddBit,
const int daggerBit,
const cudaColorSpinorField *
x,
42 const double &k,
const int *
commDim, TimeProfile &profile);
46 const FullClover &cloverInv,
const cudaColorSpinorField *
in,
47 const int oddBit,
const int daggerBit,
const cudaColorSpinorField *
x,
48 const double &k,
const int *
commDim, TimeProfile &profile);
63 const int parity,
const int dagger,
const cudaColorSpinorField *
x,
64 const double &m_f,
const double &k,
const int *
commDim, TimeProfile &profile);
68 const int parity,
const int dagger,
const cudaColorSpinorField *
x,
69 const double &m_f,
const double &
a,
const double &
b,
70 const int *
commDim,
const int DS_type, TimeProfile &profile);
73 void MDWFDslashCuda(cudaColorSpinorField *
out,
const cudaGaugeField &gauge,
const cudaColorSpinorField *
in,
74 const int parity,
const int dagger,
const cudaColorSpinorField *
x,
const double &m_f,
const double &k,
75 const double *b5,
const double *c_5,
const double &
m5,
76 const int *
commDim,
const int DS_type, TimeProfile &profile);
80 const cudaColorSpinorField *
in,
const int parity,
const int dagger,
81 const cudaColorSpinorField *
x,
const double &k,
82 const int *
commDim, TimeProfile &profile);
86 const cudaColorSpinorField *
in,
const int parity,
const int dagger,
87 const cudaColorSpinorField *
x,
const double &k,
88 const int *
commDim, TimeProfile &profile);
93 const double &
kappa,
const double &
mu,
const double &epsilon,
const double &k,
const int *
commDim, TimeProfile &profile);
98 const double &
kappa,
const double &
mu,
const double &epsilon,
const double &k,
const int *
commDim,
99 TimeProfile &profile);
103 const FullClover *
clover,
const FullClover *cloverInv,
const cudaColorSpinorField *
in,
105 const double &
kappa,
const double &
mu,
const double &epsilon,
const double &k,
const int *
commDim,
106 TimeProfile &profile);
156 const cudaStream_t &
stream,
const double a=0.0,
const double b=0.0);
159 const int nFace,
const int R[],
const int dagger,
const int parity,
const int dim,
160 const int face_num,
const cudaStream_t &
stream,
const bool unpack=
false);
167 void gamma5(ColorSpinorField &
out,
const ColorSpinorField &
in);
171 #endif // _DSLASH_QUDA_H
void setPackComms(const int *commDim)
enum QudaTwistCloverDslashType_s QudaTwistCloverDslashType
void wilsonDslashCuda(cudaColorSpinorField *out, const cudaGaugeField &gauge, const cudaColorSpinorField *in, const int oddBit, const int daggerBit, const cudaColorSpinorField *x, const double &k, const int *commDim, TimeProfile &profile)
void MDWFDslashCuda(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 double *b5, const double *c_5, const double &m5, const int *commDim, const int DS_type, TimeProfile &profile)
static __inline__ dim3 dim3 void size_t cudaStream_t int dim
void twistedCloverDslashCuda(cudaColorSpinorField *out, const cudaGaugeField &gauge, const FullClover *clover, const FullClover *cloverInv, const cudaColorSpinorField *in, const int parity, const int dagger, const cudaColorSpinorField *x, const QudaTwistCloverDslashType type, const double &kappa, const double &mu, const double &epsilon, const double &k, const int *commDim, TimeProfile &profile)
void packFaceExtended(void *ghost_buf[2 *QUDA_MAX_DIM], cudaColorSpinorField &field, MemoryLocation location, const int nFace, const int R[], const int dagger, const int parity, const int dim, const int face_num, const cudaStream_t &stream, const bool unpack=false)
void cloverDslashCuda(cudaColorSpinorField *out, const cudaGaugeField &gauge, const FullClover &cloverInv, const cudaColorSpinorField *in, const int oddBit, const int daggerBit, const cudaColorSpinorField *x, const double &k, const int *commDim, TimeProfile &profile)
void packFace(void *ghost_buf[2 *QUDA_MAX_DIM], cudaColorSpinorField &in, MemoryLocation location, const int nFace, const int dagger, const int parity, const int dim, const int face_num, const cudaStream_t &stream, const double a=0.0, const double b=0.0)
Dslash face packing routine.
VOLATILE spinorFloat kappa
void ApplyTwistGamma(ColorSpinorField &out, const ColorSpinorField &in, int d, double kappa, double mu, double epsilon, int dagger, QudaTwistGamma5Type type)
Apply the twisted-mass gamma operator to a color-spinor field.
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)
void asymCloverDslashCuda(cudaColorSpinorField *out, const cudaGaugeField &gauge, const FullClover &cloverInv, const cudaColorSpinorField *in, const int oddBit, const int daggerBit, const cudaColorSpinorField *x, const double &k, const int *commDim, TimeProfile &profile)
void createDslashEvents()
enum QudaTwistDslashType_s QudaTwistDslashType
void improvedStaggeredDslashCuda(cudaColorSpinorField *out, const cudaGaugeField &fatGauge, const cudaGaugeField &longGauge, const cudaColorSpinorField *in, const int parity, const int dagger, const cudaColorSpinorField *x, const double &k, const int *commDim, TimeProfile &profile)
cpuColorSpinorField * out
void ApplyClover(ColorSpinorField &out, const ColorSpinorField &in, const CloverField &clover, bool inverse, int parity)
Apply clover-matrix field to a color-spinor field.
void ndegTwistedMassDslashCuda(cudaColorSpinorField *out, const cudaGaugeField &gauge, const cudaColorSpinorField *in, const int parity, const int dagger, const cudaColorSpinorField *x, const QudaTwistDslashType type, const double &kappa, const double &mu, const double &epsilon, const double &k, const int *commDim, TimeProfile &profile)
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)
void twistedMassDslashCuda(cudaColorSpinorField *out, const cudaGaugeField &gauge, const cudaColorSpinorField *in, const int parity, const int dagger, const cudaColorSpinorField *x, const QudaTwistDslashType type, const double &kappa, const double &mu, const double &epsilon, const double &k, const int *commDim, TimeProfile &profile)
void setKernelPackT(bool pack)
void gamma5(ColorSpinorField &out, const ColorSpinorField &in)
Applies a gamma5 matrix to a spinor (wrapper to ApplyGamma)
enum QudaTwistGamma5Type_s QudaTwistGamma5Type
#define QUDA_MAX_DIM
Maximum number of dimensions supported by QUDA. In practice, no routines make use of more than 5...
static __inline__ size_t size_t d
void destroyDslashEvents()
void ApplyTwistClover(ColorSpinorField &out, const ColorSpinorField &in, const CloverField &clover, double kappa, double mu, double epsilon, int parity, int dagger, QudaTwistGamma5Type twist)
Apply twisted clover-matrix field to a color-spinor field.