|
QUDA
0.9.0
|
#include <iostream>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#include <quda.h>#include <test_util.h>#include <dslash_util.h>#include <domain_wall_dslash_reference.h>#include <blas_reference.h>#include <gauge_field.h>#include <color_spinor_field.h>
Go to the source code of this file.
Functions | |
| int | neighborIndex_4d (int i, int oddBit, int dx4, int dx3, int dx2, int dx1) |
| template<typename Float > | |
| Float * | gaugeLink_sgpu (int i, int dir, int oddBit, Float **gaugeEven, Float **gaugeOdd) |
| template<typename Float > | |
| Float * | gaugeLink_mgpu (int i, int dir, int oddBit, Float **gaugeEven, Float **gaugeOdd, Float **ghostGaugeEven, Float **ghostGaugeOdd, int n_ghost_faces, int nbr_distance) |
| template<typename Float > | |
| void | multiplySpinorByDiracProjector5 (Float *res, int projIdx, Float *spinorIn) |
| template<QudaDWFPCType type, typename sFloat , typename gFloat > | |
| void | dslashReference_4d_sgpu (sFloat *res, gFloat **gaugeFull, sFloat *spinorField, int oddBit, int daggerBit) |
| template<QudaDWFPCType type, bool zero_initialize = false, typename sFloat > | |
| void | dslashReference_5th (sFloat *res, sFloat *spinorField, int oddBit, int daggerBit, sFloat mferm) |
| template<typename sFloat > | |
| void | dslashReference_5th_inv (sFloat *res, sFloat *spinorField, int oddBit, int daggerBit, sFloat mferm, double *kappa) |
| void | dw_dslash (void *out, void **gauge, void *in, int oddBit, int daggerBit, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm) |
| void | dslash_4_4d (void *out, void **gauge, void *in, int oddBit, int daggerBit, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm) |
| void | dw_dslash_5_4d (void *out, void **gauge, void *in, int oddBit, int daggerBit, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm, bool zero_initialize) |
| void | dslash_5_inv (void *out, void **gauge, void *in, int oddBit, int daggerBit, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm, double *kappa) |
| void | mdw_dslash_5 (void *out, void **gauge, void *in, int oddBit, int daggerBit, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm, double *kappa, bool zero_initialize) |
| void | mdw_dslash_4_pre (void *out, void **gauge, void *in, int oddBit, int daggerBit, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm, double *b5, double *c5, bool zero_initialize) |
| void | dw_mat (void *out, void **gauge, void *in, double kappa, int dagger_bit, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm) |
| void | dw_4d_mat (void *out, void **gauge, void *in, double kappa, int dagger_bit, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm) |
| void | mdw_mat (void *out, void **gauge, void *in, double *kappa_b, double *kappa_c, int dagger, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm, double *b5, double *c5) |
| void | dw_matdagmat (void *out, void **gauge, void *in, double kappa, int dagger_bit, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm) |
| void | dw_matpc (void *out, void **gauge, void *in, double kappa, QudaMatPCType matpc_type, int dagger_bit, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm) |
| void | dw_4d_matpc (void *out, void **gauge, void *in, double kappa, QudaMatPCType matpc_type, int dagger_bit, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm) |
| void | mdw_matpc (void *out, void **gauge, void *in, double *kappa_b, double *kappa_c, QudaMatPCType matpc_type, int dagger, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm, double *b5, double *c5) |
| void | matpc (void *outEven, void **gauge, void *inEven, double kappa, QudaMatPCType matpc_type, int dagger_bit, QudaPrecision sPrecision, QudaPrecision gPrecision, double mferm) |
| void | matdagmat (void *out, void **gauge, void *in, double kappa, QudaPrecision sPrecision, QudaPrecision gPrecision, double mferm) |
| void | matpcdagmatpc (void *out, void **gauge, void *in, double kappa, QudaPrecision sPrecision, QudaPrecision gPrecision, double mferm, QudaMatPCType matpc_type) |
Variables | |
| const double | projector [10][4][4][2] |
| void dslash_4_4d | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| int | oddBit, | ||
| int | daggerBit, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam & | gauge_param, | ||
| double | mferm | ||
| ) |
Definition at line 558 of file domain_wall_dslash_reference.cpp.
References quda::ColorSpinorParam::create, csParam, d, errorQuda, quda::ColorSpinorParam::fieldOrder, quda::ColorSpinorParam::gammaBasis, gauge_param, quda::GaugeField::Ghost(), quda::LatticeFieldParam::ghostExchange, in, Ls, quda::ColorSpinorParam::nColor, quda::LatticeFieldParam::nDim, quda::ColorSpinorParam::nSpin, out, quda::LatticeFieldParam::pad, quda::ColorSpinorParam::PCtype, quda::LatticeFieldParam::precision, QUDA_4D_PC, 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::siteOrder, quda::LatticeFieldParam::siteSubset, quda::ColorSpinorParam::v, quda::LatticeFieldParam::x, and Z.
Referenced by dslashRef(), dw_4d_mat(), dw_4d_matpc(), mdw_mat(), and mdw_matpc().


| void dslash_5_inv | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| int | oddBit, | ||
| int | daggerBit, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam & | gauge_param, | ||
| double | mferm, | ||
| double * | kappa | ||
| ) |
Definition at line 627 of file domain_wall_dslash_reference.cpp.
References dslashReference_5th_inv(), in, kappa, mferm, out, and QUDA_DOUBLE_PRECISION.
Referenced by dslashRef(), dw_4d_matpc(), and mdw_matpc().


| void dslashReference_4d_sgpu | ( | sFloat * | res, |
| gFloat ** | gaugeFull, | ||
| sFloat * | spinorField, | ||
| int | oddBit, | ||
| int | daggerBit | ||
| ) |
Definition at line 271 of file domain_wall_dslash_reference.cpp.
References gaugeLink_sgpu(), gaugeSiteSize, fused_exterior_ndeg_tm_dslash_cuda_gen::i, Ls, multiplySpinorByDiracProjector5(), printSpinorElement(), QUDA_4D_PC, QUDA_DOUBLE_PRECISION, s, sp_idx, spinor, su3Mul(), su3Tmul(), sum(), V5h, and Vh.

| void dslashReference_5th | ( | sFloat * | res, |
| sFloat * | spinorField, | ||
| int | oddBit, | ||
| int | daggerBit, | ||
| sFloat | mferm | ||
| ) |
Definition at line 377 of file domain_wall_dslash_reference.cpp.
References quda::ax(), fullLatticeIndex_5d(), fullLatticeIndex_5d_4dpc(), fused_exterior_ndeg_tm_dslash_cuda_gen::i, Ls, mferm, multiplySpinorByDiracProjector5(), QUDA_5D_PC, spinor, sum(), V5h, X, and Z.

| void dslashReference_5th_inv | ( | sFloat * | res, |
| sFloat * | spinorField, | ||
| int | oddBit, | ||
| int | daggerBit, | ||
| sFloat | mferm, | ||
| double * | kappa | ||
| ) |
Definition at line 404 of file domain_wall_dslash_reference.cpp.
References quda::ax(), quda::axpy(), free(), fused_exterior_ndeg_tm_dslash_cuda_gen::i, kappa, Ls, malloc(), memcpy(), mferm, quda::pow(), and Vh.
Referenced by dslash_5_inv().


| void dw_4d_mat | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| double | kappa, | ||
| int | dagger_bit, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam & | gauge_param, | ||
| double | mferm | ||
| ) |
Definition at line 684 of file domain_wall_dslash_reference.cpp.
References dslash_4_4d(), dw_dslash_5_4d(), gauge_param, in, kappa, mferm, out, spinorSiteSize, V5, V5h, and quda::blas::xpay().
Referenced by main().


| void dw_4d_matpc | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| double | kappa, | ||
| QudaMatPCType | matpc_type, | ||
| int | dagger_bit, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam & | gauge_param, | ||
| double | mferm | ||
| ) |
Definition at line 767 of file domain_wall_dslash_reference.cpp.
References dslash_4_4d(), dslash_5_inv(), dw_dslash_5_4d(), free(), gauge_param, in, kappa, kappa5, Ls, malloc(), matpc_type, mferm, out, parity, QUDA_MATPC_EVEN_EVEN, QUDA_MATPC_ODD_ODD, QUDA_MATPC_ODD_ODD_ASYMMETRIC, spinorSiteSize, tmp, V5h, and quda::blas::xpay().
Referenced by dslashRef(), and main().


| void dw_dslash | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| int | oddBit, | ||
| int | daggerBit, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam & | gauge_param, | ||
| double | mferm | ||
| ) |
Definition at line 494 of file domain_wall_dslash_reference.cpp.
References quda::ColorSpinorParam::create, csParam, d, errorQuda, quda::ColorSpinorParam::fieldOrder, float, quda::ColorSpinorParam::gammaBasis, gauge_param, quda::GaugeField::Ghost(), quda::LatticeFieldParam::ghostExchange, in, Ls, mferm, quda::ColorSpinorParam::nColor, quda::LatticeFieldParam::nDim, quda::ColorSpinorParam::nSpin, out, quda::LatticeFieldParam::pad, quda::ColorSpinorParam::PCtype, quda::LatticeFieldParam::precision, QUDA_5D_PC, 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::siteOrder, quda::LatticeFieldParam::siteSubset, quda::ColorSpinorParam::v, quda::LatticeFieldParam::x, and Z.
Referenced by dslashRef(), dw_mat(), and dw_matpc().


| void dw_dslash_5_4d | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| int | oddBit, | ||
| int | daggerBit, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam & | gauge_param, | ||
| double | mferm, | ||
| bool | zero_initialize | ||
| ) |
Definition at line 616 of file domain_wall_dslash_reference.cpp.
References float, in, mferm, out, and QUDA_DOUBLE_PRECISION.
Referenced by dslashRef(), dw_4d_mat(), and dw_4d_matpc().

| void dw_mat | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| double | kappa, | ||
| int | dagger_bit, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam & | gauge_param, | ||
| double | mferm | ||
| ) |
Definition at line 670 of file domain_wall_dslash_reference.cpp.
References dw_dslash(), gauge_param, in, kappa, mferm, out, spinorSiteSize, V5, V5h, and quda::blas::xpay().
Referenced by dslashRef(), dw_matdagmat(), and main().


| void dw_matdagmat | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| double | kappa, | ||
| int | dagger_bit, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam & | gauge_param, | ||
| double | mferm | ||
| ) |
Definition at line 736 of file domain_wall_dslash_reference.cpp.
References dw_mat(), free(), gauge_param, in, kappa, malloc(), mferm, out, spinorSiteSize, tmp, and V5.
Referenced by dslashRef().


| void dw_matpc | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| double | kappa, | ||
| QudaMatPCType | matpc_type, | ||
| int | dagger_bit, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam & | gauge_param, | ||
| double | mferm | ||
| ) |
Definition at line 747 of file domain_wall_dslash_reference.cpp.
References dw_dslash(), free(), gauge_param, in, kappa, malloc(), matpc_type, mferm, out, QUDA_MATPC_EVEN_EVEN, QUDA_MATPC_EVEN_EVEN_ASYMMETRIC, spinorSiteSize, tmp, V5h, and quda::blas::xpay().
Referenced by dslashRef(), and main().


| Float* gaugeLink_mgpu | ( | int | i, |
| int | dir, | ||
| int | oddBit, | ||
| Float ** | gaugeEven, | ||
| Float ** | gaugeOdd, | ||
| Float ** | ghostGaugeEven, | ||
| Float ** | ghostGaugeOdd, | ||
| int | n_ghost_faces, | ||
| int | nbr_distance | ||
| ) |
Definition at line 88 of file domain_wall_dslash_reference.cpp.
References comm_dim_partitioned(), d, exit(), fullLatticeIndex(), fused_exterior_ndeg_tm_dslash_cuda_gen::i, offset, printf(), and Z.

| Float* gaugeLink_sgpu | ( | int | i, |
| int | dir, | ||
| int | oddBit, | ||
| Float ** | gaugeEven, | ||
| Float ** | gaugeOdd | ||
| ) |
Definition at line 57 of file domain_wall_dslash_reference.cpp.
References fused_exterior_ndeg_tm_dslash_cuda_gen::i, and neighborIndex_4d().
Referenced by dslashReference_4d_sgpu().


| void matdagmat | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| double | kappa, | ||
| QudaPrecision | sPrecision, | ||
| QudaPrecision | gPrecision, | ||
| double | mferm | ||
| ) |
Definition at line 988 of file domain_wall_dslash_reference.cpp.
| void matpc | ( | void * | outEven, |
| void ** | gauge, | ||
| void * | inEven, | ||
| double | kappa, | ||
| QudaMatPCType | matpc_type, | ||
| int | dagger_bit, | ||
| QudaPrecision | sPrecision, | ||
| QudaPrecision | gPrecision, | ||
| double | mferm | ||
| ) |
Definition at line 932 of file domain_wall_dslash_reference.cpp.
Referenced by quda::calculateY(), quda::CoarseCoarseOp(), and quda::CoarseOp().

| void matpcdagmatpc | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| double | kappa, | ||
| QudaPrecision | sPrecision, | ||
| QudaPrecision | gPrecision, | ||
| double | mferm, | ||
| QudaMatPCType | matpc_type | ||
| ) |
Definition at line 1009 of file domain_wall_dslash_reference.cpp.
| void mdw_dslash_4_pre | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| int | oddBit, | ||
| int | daggerBit, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam & | gauge_param, | ||
| double | mferm, | ||
| double * | b5, | ||
| double * | c5, | ||
| bool | zero_initialize | ||
| ) |
Definition at line 650 of file domain_wall_dslash_reference.cpp.
References axpby(), float, in, Ls, mferm, out, QUDA_DOUBLE_PRECISION, spinorSiteSize, and Vh.
Referenced by dslashRef(), mdw_mat(), and mdw_matpc().


| void mdw_dslash_5 | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| int | oddBit, | ||
| int | daggerBit, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam & | gauge_param, | ||
| double | mferm, | ||
| double * | kappa, | ||
| bool | zero_initialize | ||
| ) |
Definition at line 636 of file domain_wall_dslash_reference.cpp.
References float, in, kappa, Ls, mferm, out, QUDA_DOUBLE_PRECISION, spinorSiteSize, Vh, and quda::blas::xpay().
Referenced by dslashRef(), mdw_mat(), and mdw_matpc().


| void mdw_mat | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| double * | kappa_b, | ||
| double * | kappa_c, | ||
| int | dagger, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam & | gauge_param, | ||
| double | mferm, | ||
| double * | b5, | ||
| double * | c5 | ||
| ) |
Definition at line 701 of file domain_wall_dslash_reference.cpp.
References deg_tm_dslash_cuda_gen::dagger, dslash_4_4d(), free(), gauge_param, in, kappa5, Ls, malloc(), mdw_dslash_4_pre(), mdw_dslash_5(), mferm, out, spinorSiteSize, tmp, V5h, Vh, and quda::blas::xpay().
Referenced by main().


| void mdw_matpc | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| double * | kappa_b, | ||
| double * | kappa_c, | ||
| QudaMatPCType | matpc_type, | ||
| int | dagger, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam & | gauge_param, | ||
| double | mferm, | ||
| double * | b5, | ||
| double * | c5 | ||
| ) |
Definition at line 808 of file domain_wall_dslash_reference.cpp.
References deg_tm_dslash_cuda_gen::dagger, dslash_4_4d(), dslash_5_inv(), errorQuda, free(), gauge_param, in, kappa5, Ls, malloc(), matpc_type, mdw_dslash_4_pre(), mdw_dslash_5(), mferm, out, parity, QUDA_MATPC_EVEN_EVEN, QUDA_MATPC_ODD_ODD, QUDA_MATPC_ODD_ODD_ASYMMETRIC, spinorSiteSize, tmp, V5h, Vh, and quda::blas::xpay().
Referenced by dslashRef(), and main().


| void multiplySpinorByDiracProjector5 | ( | Float * | res, |
| int | projIdx, | ||
| Float * | spinorIn | ||
| ) |
Definition at line 237 of file domain_wall_dslash_reference.cpp.
References fused_exterior_ndeg_tm_dslash_cuda_gen::i, projector, s, and t.
Referenced by dslashReference_4d_sgpu(), and dslashReference_5th().

Definition at line 28 of file domain_wall_dslash_reference.cpp.
References exit(), fullLatticeIndex_4d(), fused_exterior_ndeg_tm_dslash_cuda_gen::i, printf(), X, and Z.
Referenced by gaugeLink_sgpu().


| const double projector[10][4][4][2] |
Definition at line 169 of file domain_wall_dslash_reference.cpp.
Referenced by multiplySpinorByDiracProjector5().
1.8.14