|
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().
1.8.13