QUDA
1.0.0
|
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <util_quda.h>
#include <test_util.h>
#include <blas_reference.h>
#include <wilson_dslash_reference.h>
#include <gauge_field.h>
#include <color_spinor_field.h>
#include <dslash_util.h>
#include <string.h>
Go to the source code of this file.
Functions | |
template<typename Float > | |
void | multiplySpinorByDiracProjector (Float *res, int projIdx, Float *spinorIn) |
template<typename sFloat , typename gFloat > | |
void | dslashReference (sFloat *res, gFloat **gaugeFull, sFloat *spinorField, int oddBit, int daggerBit) |
void | wil_dslash (void *out, void **gauge, void *in, int oddBit, int daggerBit, QudaPrecision precision, QudaGaugeParam &gauge_param) |
template<typename sFloat > | |
void | twistGamma5 (sFloat *out, sFloat *in, const int dagger, const sFloat kappa, const sFloat mu, const QudaTwistFlavorType flavor, const int V, QudaTwistGamma5Type twist) |
void | twist_gamma5 (void *out, void *in, int daggerBit, double kappa, double mu, QudaTwistFlavorType flavor, int V, QudaTwistGamma5Type twist, QudaPrecision precision) |
void | tm_dslash (void *res, void **gaugeFull, void *spinorField, double kappa, double mu, QudaTwistFlavorType flavor, int oddBit, QudaMatPCType matpc_type, int daggerBit, QudaPrecision precision, QudaGaugeParam &gauge_param) |
void | wil_mat (void *out, void **gauge, void *in, double kappa, int dagger_bit, QudaPrecision precision, QudaGaugeParam &gauge_param) |
void | tm_mat (void *out, void **gauge, void *in, double kappa, double mu, QudaTwistFlavorType flavor, int dagger_bit, QudaPrecision precision, QudaGaugeParam &gauge_param) |
void | wil_matpc (void *outEven, void **gauge, void *inEven, double kappa, QudaMatPCType matpc_type, int daggerBit, QudaPrecision precision, QudaGaugeParam &gauge_param) |
void | tm_matpc (void *outEven, void **gauge, void *inEven, double kappa, double mu, QudaTwistFlavorType flavor, QudaMatPCType matpc_type, int daggerBit, QudaPrecision precision, QudaGaugeParam &gauge_param) |
template<typename sFloat > | |
void | ndegTwistGamma5 (sFloat *out1, sFloat *out2, sFloat *in1, sFloat *in2, const int dagger, const sFloat kappa, const sFloat mu, const sFloat epsilon, const int V, QudaTwistGamma5Type twist) |
void | ndeg_twist_gamma5 (void *outf1, void *outf2, void *inf1, void *inf2, const int dagger, const double kappa, const double mu, const double epsilon, const int Vf, QudaTwistGamma5Type twist, QudaPrecision precision) |
void | tm_ndeg_dslash (void *res1, void *res2, void **gauge, void *spinorField1, void *spinorField2, double kappa, double mu, double epsilon, int oddBit, int daggerBit, QudaMatPCType matpc_type, QudaPrecision precision, QudaGaugeParam &gauge_param) |
void | tm_ndeg_matpc (void *outEven1, void *outEven2, void **gauge, void *inEven1, void *inEven2, double kappa, double mu, double epsilon, QudaMatPCType matpc_type, int daggerBit, QudaPrecision precision, QudaGaugeParam &gauge_param) |
void | tm_ndeg_mat (void *evenOut, void *oddOut, void **gauge, void *evenIn, void *oddIn, double kappa, double mu, double epsilon, int daggerBit, QudaPrecision precision, QudaGaugeParam &gauge_param) |
Variables | |
static const double | projector [8][4][4][2] |
void dslashReference | ( | sFloat * | res, |
gFloat ** | gaugeFull, | ||
sFloat * | spinorField, | ||
int | oddBit, | ||
int | daggerBit | ||
) |
Definition at line 106 of file wilson_dslash_reference.cpp.
References faceVolume, gaugeLink(), gaugeSiteSize, multiplySpinorByDiracProjector(), mySpinorSiteSize, quda::s, spinor, spinorNeighbor(), su3Mul(), su3Tmul(), quda::sum(), and Vh.
Referenced by wil_dslash().
void multiplySpinorByDiracProjector | ( | Float * | res, |
int | projIdx, | ||
Float * | spinorIn | ||
) |
Definition at line 74 of file wilson_dslash_reference.cpp.
References projector, and quda::s.
Referenced by dslashReference().
void ndeg_twist_gamma5 | ( | void * | outf1, |
void * | outf2, | ||
void * | inf1, | ||
void * | inf2, | ||
const int | dagger, | ||
const double | kappa, | ||
const double | mu, | ||
const double | epsilon, | ||
const int | Vf, | ||
QudaTwistGamma5Type | twist, | ||
QudaPrecision | precision | ||
) |
Definition at line 455 of file wilson_dslash_reference.cpp.
References ndegTwistGamma5(), and QUDA_DOUBLE_PRECISION.
Referenced by tm_ndeg_dslash(), tm_ndeg_mat(), and tm_ndeg_matpc().
void ndegTwistGamma5 | ( | sFloat * | out1, |
sFloat * | out2, | ||
sFloat * | in1, | ||
sFloat * | in2, | ||
const int | dagger, | ||
const sFloat | kappa, | ||
const sFloat | mu, | ||
const sFloat | epsilon, | ||
const int | V, | ||
QudaTwistGamma5Type | twist | ||
) |
Definition at line 412 of file wilson_dslash_reference.cpp.
References epsilon, mu, QUDA_TWIST_GAMMA5_DIRECT, QUDA_TWIST_GAMMA5_INVERSE, quda::s, tmp1, tmp2, and V.
Referenced by ndeg_twist_gamma5().
void tm_dslash | ( | void * | res, |
void ** | gaugeFull, | ||
void * | spinorField, | ||
double | kappa, | ||
double | mu, | ||
QudaTwistFlavorType | flavor, | ||
int | oddBit, | ||
QudaMatPCType | matpc_type, | ||
int | daggerBit, | ||
QudaPrecision | precision, | ||
QudaGaugeParam & | gauge_param | ||
) |
Definition at line 277 of file wilson_dslash_reference.cpp.
References QUDA_MATPC_EVEN_EVEN, QUDA_MATPC_EVEN_EVEN_ASYMMETRIC, QUDA_MATPC_ODD_ODD, QUDA_MATPC_ODD_ODD_ASYMMETRIC, QUDA_TWIST_GAMMA5_DIRECT, QUDA_TWIST_GAMMA5_INVERSE, twist_gamma5(), Vh, and wil_dslash().
Referenced by dslashRef().
void tm_mat | ( | void * | out, |
void ** | gauge, | ||
void * | in, | ||
double | kappa, | ||
double | mu, | ||
QudaTwistFlavorType | flavor, | ||
int | dagger_bit, | ||
QudaPrecision | precision, | ||
QudaGaugeParam & | gauge_param | ||
) |
Definition at line 309 of file wilson_dslash_reference.cpp.
References in, out, QUDA_TWIST_GAMMA5_DIRECT, spinorSiteSize, tmp, twist_gamma5(), V, Vh, wil_dslash(), and quda::blas::xpay().
Referenced by dslashRef(), and main().
void tm_matpc | ( | void * | outEven, |
void ** | gauge, | ||
void * | inEven, | ||
double | kappa, | ||
double | mu, | ||
QudaTwistFlavorType | flavor, | ||
QudaMatPCType | matpc_type, | ||
int | daggerBit, | ||
QudaPrecision | precision, | ||
QudaGaugeParam & | gauge_param | ||
) |
Definition at line 356 of file wilson_dslash_reference.cpp.
References kappa, QUDA_MATPC_EVEN_EVEN, QUDA_MATPC_EVEN_EVEN_ASYMMETRIC, QUDA_MATPC_ODD_ODD, QUDA_MATPC_ODD_ODD_ASYMMETRIC, QUDA_TWIST_GAMMA5_DIRECT, QUDA_TWIST_GAMMA5_INVERSE, spinorSiteSize, tmp, twist_gamma5(), Vh, wil_dslash(), and quda::blas::xpay().
Referenced by dslashRef(), and main().
void tm_ndeg_dslash | ( | void * | res1, |
void * | res2, | ||
void ** | gauge, | ||
void * | spinorField1, | ||
void * | spinorField2, | ||
double | kappa, | ||
double | mu, | ||
double | epsilon, | ||
int | oddBit, | ||
int | daggerBit, | ||
QudaMatPCType | matpc_type, | ||
QudaPrecision | precision, | ||
QudaGaugeParam & | gauge_param | ||
) |
Definition at line 468 of file wilson_dslash_reference.cpp.
References ndeg_twist_gamma5(), QUDA_MATPC_EVEN_EVEN, QUDA_MATPC_EVEN_EVEN_ASYMMETRIC, QUDA_MATPC_ODD_ODD, QUDA_MATPC_ODD_ODD_ASYMMETRIC, QUDA_TWIST_GAMMA5_INVERSE, Vh, and wil_dslash().
Referenced by dslashRef().
void tm_ndeg_mat | ( | void * | evenOut, |
void * | oddOut, | ||
void ** | gauge, | ||
void * | evenIn, | ||
void * | oddIn, | ||
double | kappa, | ||
double | mu, | ||
double | epsilon, | ||
int | daggerBit, | ||
QudaPrecision | precision, | ||
QudaGaugeParam & | gauge_param | ||
) |
Definition at line 554 of file wilson_dslash_reference.cpp.
References ndeg_twist_gamma5(), QUDA_TWIST_GAMMA5_DIRECT, spinorSiteSize, Vh, wil_dslash(), and quda::blas::xpay().
Referenced by dslashRef(), and main().
void tm_ndeg_matpc | ( | void * | outEven1, |
void * | outEven2, | ||
void ** | gauge, | ||
void * | inEven1, | ||
void * | inEven2, | ||
double | kappa, | ||
double | mu, | ||
double | epsilon, | ||
QudaMatPCType | matpc_type, | ||
int | daggerBit, | ||
QudaPrecision | precision, | ||
QudaGaugeParam & | gauge_param | ||
) |
Definition at line 484 of file wilson_dslash_reference.cpp.
References kappa, ndeg_twist_gamma5(), QUDA_MATPC_EVEN_EVEN, QUDA_MATPC_EVEN_EVEN_ASYMMETRIC, QUDA_MATPC_ODD_ODD, QUDA_MATPC_ODD_ODD_ASYMMETRIC, QUDA_TWIST_GAMMA5_DIRECT, QUDA_TWIST_GAMMA5_INVERSE, spinorSiteSize, tmp1, tmp2, Vh, wil_dslash(), and quda::blas::xpay().
Referenced by dslashRef(), and main().
void twist_gamma5 | ( | void * | out, |
void * | in, | ||
int | daggerBit, | ||
double | kappa, | ||
double | mu, | ||
QudaTwistFlavorType | flavor, | ||
int | V, | ||
QudaTwistGamma5Type | twist, | ||
QudaPrecision | precision | ||
) |
Definition at line 266 of file wilson_dslash_reference.cpp.
References QUDA_DOUBLE_PRECISION, and twistGamma5().
Referenced by tm_dslash(), tm_mat(), and tm_matpc().
void twistGamma5 | ( | sFloat * | out, |
sFloat * | in, | ||
const int | dagger, | ||
const sFloat | kappa, | ||
const sFloat | mu, | ||
const QudaTwistFlavorType | flavor, | ||
const int | V, | ||
QudaTwistGamma5Type | twist | ||
) |
Definition at line 235 of file wilson_dslash_reference.cpp.
References QUDA_TWIST_GAMMA5_DIRECT, QUDA_TWIST_GAMMA5_INVERSE, quda::s, tmp, and V.
Referenced by twist_gamma5().
void wil_dslash | ( | void * | out, |
void ** | gauge, | ||
void * | in, | ||
int | oddBit, | ||
int | daggerBit, | ||
QudaPrecision | precision, | ||
QudaGaugeParam & | gauge_param | ||
) |
Definition at line 175 of file wilson_dslash_reference.cpp.
References quda::cpuColorSpinorField::backGhostFaceBuffer, quda::ColorSpinorParam::create, csParam, dslashReference(), errorQuda, quda::cpuColorSpinorField::exchangeGhost(), quda::ColorSpinorParam::fieldOrder, quda::cpuColorSpinorField::fwdGhostFaceBuffer, quda::ColorSpinorParam::gammaBasis, quda::GaugeField::Ghost(), quda::LatticeFieldParam::ghostExchange, in, quda::ColorSpinorParam::nColor, quda::LatticeFieldParam::nDim, quda::ColorSpinorParam::nSpin, quda::LatticeFieldParam::pad, QUDA_DEGRAND_ROSSI_GAMMA_BASIS, QUDA_DOUBLE_PRECISION, QUDA_EVEN_ODD_SITE_ORDER, QUDA_EVEN_PARITY, QUDA_GHOST_EXCHANGE_PAD, QUDA_INVALID_PARITY, QUDA_ODD_PARITY, QUDA_PARITY_SITE_SUBSET, QUDA_REFERENCE_FIELD_CREATE, QUDA_SPACE_SPIN_COLOR_FIELD_ORDER, quda::ColorSpinorParam::setPrecision(), quda::ColorSpinorParam::siteOrder, quda::LatticeFieldParam::siteSubset, quda::ColorSpinorParam::v, quda::LatticeFieldParam::x, and Z.
Referenced by clover_dslash(), clover_mat(), clover_matpc(), dslashRef(), tm_dslash(), tm_mat(), tm_matpc(), tm_ndeg_dslash(), tm_ndeg_mat(), tm_ndeg_matpc(), tmc_dslash(), tmc_mat(), tmc_matpc(), wil_mat(), and wil_matpc().
void wil_mat | ( | void * | out, |
void ** | gauge, | ||
void * | in, | ||
double | kappa, | ||
int | dagger_bit, | ||
QudaPrecision | precision, | ||
QudaGaugeParam & | gauge_param | ||
) |
Definition at line 294 of file wilson_dslash_reference.cpp.
References in, out, spinorSiteSize, V, Vh, wil_dslash(), and quda::blas::xpay().
Referenced by dslashRef(), and main().
void wil_matpc | ( | void * | outEven, |
void ** | gauge, | ||
void * | inEven, | ||
double | kappa, | ||
QudaMatPCType | matpc_type, | ||
int | daggerBit, | ||
QudaPrecision | precision, | ||
QudaGaugeParam & | gauge_param | ||
) |
Definition at line 332 of file wilson_dslash_reference.cpp.
References kappa, QUDA_MATPC_EVEN_EVEN, QUDA_MATPC_EVEN_EVEN_ASYMMETRIC, spinorSiteSize, tmp, Vh, wil_dslash(), and quda::blas::xpay().
Referenced by dslashRef(), and main().
|
static |
Definition at line 20 of file wilson_dslash_reference.cpp.
Referenced by multiplySpinorByDiracProjector().