|
QUDA
v1.1.0
A library for QCD on GPUs
|
#include <iostream>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#include <complex.h>#include <quda.h>#include <host_utils.h>#include <dslash_reference.h>#include <domain_wall_dslash_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<QudaPCType type, typename sFloat , typename gFloat > | |
| void | dslashReference_4d_sgpu (sFloat *res, gFloat **gaugeFull, sFloat *spinorField, int oddBit, int daggerBit) |
| template<bool plus, class sFloat > | |
| void | axpby_ssp_project (sFloat *z, sFloat a, sFloat *x, sFloat b, sFloat *y, int idx_cb_4d, int s, int sp) |
| template<typename sFloat > | |
| void | mdw_eofa_m5_ref (sFloat *res, sFloat *spinorField, int oddBit, int daggerBit, sFloat mferm, sFloat m5, sFloat b, sFloat c, sFloat mq1, sFloat mq2, sFloat mq3, int eofa_pm, sFloat eofa_shift) |
| void | mdw_eofa_m5 (void *res, void *spinorField, int oddBit, int daggerBit, double mferm, double m5, double b, double c, double mq1, double mq2, double mq3, int eofa_pm, double eofa_shift, QudaPrecision precision) |
| template<QudaPCType 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) |
| template<typename sComplex > | |
| sComplex | cpow (const sComplex &x, int y) |
| template<typename sFloat , typename sComplex > | |
| void | mdslashReference_5th_inv (sFloat *res, sFloat *spinorField, int oddBit, int daggerBit, sFloat mferm, sComplex *kappa) |
| template<typename sFloat > | |
| void | mdw_eofa_m5inv_ref (sFloat *res, sFloat *spinorField, int oddBit, int daggerBit, sFloat mferm, sFloat m5, sFloat b, sFloat c, sFloat mq1, sFloat mq2, sFloat mq3, int eofa_pm, sFloat eofa_shift) |
| void | mdw_eofa_m5inv (void *res, void *spinorField, int oddBit, int daggerBit, double mferm, double m5, double b, double c, double mq1, double mq2, double mq3, int eofa_pm, double eofa_shift, QudaPrecision precision) |
| 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_inv (void *out, void **gauge, void *in, int oddBit, int daggerBit, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm, double _Complex *kappa) |
| void | mdw_dslash_5 (void *out, void **gauge, void *in, int oddBit, int daggerBit, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm, double _Complex *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 _Complex *b5, double _Complex *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 _Complex *kappa_b, double _Complex *kappa_c, int dagger, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm, double _Complex *b5, double _Complex *c5) |
| void | mdw_eofa_mat (void *out, void **gauge, void *in, int dagger, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm, double m5, double b, double c, double mq1, double mq2, double mq3, int eofa_pm, double eofa_shift) |
| 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 _Complex *kappa_b, double _Complex *kappa_c, QudaMatPCType matpc_type, int dagger, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm, double _Complex *b5, double _Complex *c5) |
| void | mdw_eofa_matpc (void *out, void **gauge, void *in, QudaMatPCType matpc_type, int dagger, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm, double m5, double b, double c, double mq1, double mq2, double mq3, int eofa_pm, double eofa_shift) |
| void | mdw_mdagm_local (void *out, void **gauge, void *in, double _Complex *kappa_b, double _Complex *kappa_c, QudaMatPCType matpc_type, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm, double _Complex *b5, double _Complex *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 axpby_ssp_project | ( | sFloat * | z, |
| sFloat | a, | ||
| sFloat * | x, | ||
| sFloat | b, | ||
| sFloat * | y, | ||
| int | idx_cb_4d, | ||
| int | s, | ||
| int | sp | ||
| ) |
Definition at line 376 of file domain_wall_dslash_reference.cpp.
| sComplex cpow | ( | const sComplex & | x, |
| int | y | ||
| ) |
Definition at line 601 of file domain_wall_dslash_reference.cpp.
| void dslash_4_4d | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| int | oddBit, | ||
| int | daggerBit, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam & | gauge_param, | ||
| double | mferm | ||
| ) |
Definition at line 862 of file domain_wall_dslash_reference.cpp.
| 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 931 of file domain_wall_dslash_reference.cpp.
| 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.
| void dslashReference_5th | ( | sFloat * | res, |
| sFloat * | spinorField, | ||
| int | oddBit, | ||
| int | daggerBit, | ||
| sFloat | mferm | ||
| ) |
Definition at line 486 of file domain_wall_dslash_reference.cpp.
| void dslashReference_5th_inv | ( | sFloat * | res, |
| sFloat * | spinorField, | ||
| int | oddBit, | ||
| int | daggerBit, | ||
| sFloat | mferm, | ||
| double * | kappa | ||
| ) |
Definition at line 513 of file domain_wall_dslash_reference.cpp.
| 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 1005 of file domain_wall_dslash_reference.cpp.
| 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 1154 of file domain_wall_dslash_reference.cpp.
| void dw_dslash | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| int | oddBit, | ||
| int | daggerBit, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam & | gauge_param, | ||
| double | mferm | ||
| ) |
Definition at line 797 of file domain_wall_dslash_reference.cpp.
| 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 920 of file domain_wall_dslash_reference.cpp.
| void dw_mat | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| double | kappa, | ||
| int | dagger_bit, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam & | gauge_param, | ||
| double | mferm | ||
| ) |
Definition at line 991 of file domain_wall_dslash_reference.cpp.
| void dw_matdagmat | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| double | kappa, | ||
| int | dagger_bit, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam & | gauge_param, | ||
| double | mferm | ||
| ) |
Definition at line 1123 of file domain_wall_dslash_reference.cpp.
| 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 1134 of file domain_wall_dslash_reference.cpp.
| 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.
| Float* gaugeLink_sgpu | ( | int | i, |
| int | dir, | ||
| int | oddBit, | ||
| Float ** | gaugeEven, | ||
| Float ** | gaugeOdd | ||
| ) |
Definition at line 57 of file domain_wall_dslash_reference.cpp.
| void matdagmat | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| double | kappa, | ||
| QudaPrecision | sPrecision, | ||
| QudaPrecision | gPrecision, | ||
| double | mferm | ||
| ) |
Definition at line 1543 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 1487 of file domain_wall_dslash_reference.cpp.
| void matpcdagmatpc | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| double | kappa, | ||
| QudaPrecision | sPrecision, | ||
| QudaPrecision | gPrecision, | ||
| double | mferm, | ||
| QudaMatPCType | matpc_type | ||
| ) |
Definition at line 1564 of file domain_wall_dslash_reference.cpp.
| void mdslashReference_5th_inv | ( | sFloat * | res, |
| sFloat * | spinorField, | ||
| int | oddBit, | ||
| int | daggerBit, | ||
| sFloat | mferm, | ||
| sComplex * | kappa | ||
| ) |
Definition at line 613 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 _Complex * | b5, | ||
| double _Complex * | c5, | ||
| bool | zero_initialize | ||
| ) |
Definition at line 966 of file domain_wall_dslash_reference.cpp.
| void mdw_dslash_5 | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| int | oddBit, | ||
| int | daggerBit, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam & | gauge_param, | ||
| double | mferm, | ||
| double _Complex * | kappa, | ||
| bool | zero_initialize | ||
| ) |
Definition at line 950 of file domain_wall_dslash_reference.cpp.
| void mdw_dslash_5_inv | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| int | oddBit, | ||
| int | daggerBit, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam & | gauge_param, | ||
| double | mferm, | ||
| double _Complex * | kappa | ||
| ) |
Definition at line 940 of file domain_wall_dslash_reference.cpp.
| void mdw_eofa_m5 | ( | void * | res, |
| void * | spinorField, | ||
| int | oddBit, | ||
| int | daggerBit, | ||
| double | mferm, | ||
| double | m5, | ||
| double | b, | ||
| double | c, | ||
| double | mq1, | ||
| double | mq2, | ||
| double | mq3, | ||
| int | eofa_pm, | ||
| double | eofa_shift, | ||
| QudaPrecision | precision | ||
| ) |
Definition at line 471 of file domain_wall_dslash_reference.cpp.
| void mdw_eofa_m5_ref | ( | sFloat * | res, |
| sFloat * | spinorField, | ||
| int | oddBit, | ||
| int | daggerBit, | ||
| sFloat | mferm, | ||
| sFloat | m5, | ||
| sFloat | b, | ||
| sFloat | c, | ||
| sFloat | mq1, | ||
| sFloat | mq2, | ||
| sFloat | mq3, | ||
| int | eofa_pm, | ||
| sFloat | eofa_shift | ||
| ) |
Definition at line 396 of file domain_wall_dslash_reference.cpp.
| void mdw_eofa_m5inv | ( | void * | res, |
| void * | spinorField, | ||
| int | oddBit, | ||
| int | daggerBit, | ||
| double | mferm, | ||
| double | m5, | ||
| double | b, | ||
| double | c, | ||
| double | mq1, | ||
| double | mq2, | ||
| double | mq3, | ||
| int | eofa_pm, | ||
| double | eofa_shift, | ||
| QudaPrecision | precision | ||
| ) |
Definition at line 783 of file domain_wall_dslash_reference.cpp.
| void mdw_eofa_m5inv_ref | ( | sFloat * | res, |
| sFloat * | spinorField, | ||
| int | oddBit, | ||
| int | daggerBit, | ||
| sFloat | mferm, | ||
| sFloat | m5, | ||
| sFloat | b, | ||
| sFloat | c, | ||
| sFloat | mq1, | ||
| sFloat | mq2, | ||
| sFloat | mq3, | ||
| int | eofa_pm, | ||
| sFloat | eofa_shift | ||
| ) |
Definition at line 690 of file domain_wall_dslash_reference.cpp.
| void mdw_eofa_mat | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| int | dagger, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam & | gauge_param, | ||
| double | mferm, | ||
| double | m5, | ||
| double | b, | ||
| double | c, | ||
| double | mq1, | ||
| double | mq2, | ||
| double | mq3, | ||
| int | eofa_pm, | ||
| double | eofa_shift | ||
| ) |
Definition at line 1069 of file domain_wall_dslash_reference.cpp.
| void mdw_eofa_matpc | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| QudaMatPCType | matpc_type, | ||
| int | dagger, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam & | gauge_param, | ||
| double | mferm, | ||
| double | m5, | ||
| double | b, | ||
| double | c, | ||
| double | mq1, | ||
| double | mq2, | ||
| double | mq3, | ||
| int | eofa_pm, | ||
| double | eofa_shift | ||
| ) |
Definition at line 1267 of file domain_wall_dslash_reference.cpp.
| void mdw_mat | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| double _Complex * | kappa_b, | ||
| double _Complex * | kappa_c, | ||
| int | dagger, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam & | gauge_param, | ||
| double | mferm, | ||
| double _Complex * | b5, | ||
| double _Complex * | c5 | ||
| ) |
Definition at line 1022 of file domain_wall_dslash_reference.cpp.
| void mdw_matpc | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| double _Complex * | kappa_b, | ||
| double _Complex * | kappa_c, | ||
| QudaMatPCType | matpc_type, | ||
| int | dagger, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam & | gauge_param, | ||
| double | mferm, | ||
| double _Complex * | b5, | ||
| double _Complex * | c5 | ||
| ) |
Definition at line 1194 of file domain_wall_dslash_reference.cpp.
| void mdw_mdagm_local | ( | void * | out, |
| void ** | gauge, | ||
| void * | in, | ||
| double _Complex * | kappa_b, | ||
| double _Complex * | kappa_c, | ||
| QudaMatPCType | matpc_type, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam & | gauge_param, | ||
| double | mferm, | ||
| double _Complex * | b5, | ||
| double _Complex * | c5 | ||
| ) |
Definition at line 1338 of file domain_wall_dslash_reference.cpp.
| void multiplySpinorByDiracProjector5 | ( | Float * | res, |
| int | projIdx, | ||
| Float * | spinorIn | ||
| ) |
Definition at line 237 of file domain_wall_dslash_reference.cpp.
| int neighborIndex_4d | ( | int | i, |
| int | oddBit, | ||
| int | dx4, | ||
| int | dx3, | ||
| int | dx2, | ||
| int | dx1 | ||
| ) |
Definition at line 28 of file domain_wall_dslash_reference.cpp.
| const double projector[10][4][4][2] |
Definition at line 169 of file domain_wall_dslash_reference.cpp.