QUDA v0.4.0
A library for QCD on GPUs
|
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <quda.h>
#include <test_util.h>
#include <domain_wall_dslash_reference.h>
#include <blas_reference.h>
Go to the source code of this file.
Functions | |
void | setDims (int *X, const int L5) |
template<typename Float > | |
void | sum (Float *dst, Float *a, Float *b, int cnt) |
template<typename Float > | |
void | product (Float *dst, Float a, Float *b, int cnt) |
template<typename Float > | |
void | xpay (Float *x, Float a, Float *y, int len) |
int | neighborIndex_5d (int i, int oddBit, int dxs, int dx4, int dx3, int dx2, int dx1) |
int | neighborIndex_4d (int i, int oddBit, int dx4, int dx3, int dx2, int dx1) |
template<typename Float > | |
Float * | gaugeLink (int i, int dir, int oddBit, Float **gaugeEven, Float **gaugeOdd) |
template<typename Float > | |
Float * | spinorNeighbor_5d (int i, int dir, int oddBit, Float *spinorField) |
template<typename sFloat , typename gFloat > | |
void | dot (sFloat *res, gFloat *a, sFloat *b) |
template<typename Float > | |
void | su3Transpose (Float *res, Float *mat) |
template<typename sFloat , typename gFloat > | |
void | su3Mul (sFloat *res, gFloat *mat, sFloat *vec) |
template<typename sFloat , typename gFloat > | |
void | su3Tmul (sFloat *res, gFloat *mat, sFloat *vec) |
template<typename Float > | |
void | multiplySpinorByDiracProjector (Float *res, int projIdx, Float *spinorIn) |
template<typename sFloat , typename gFloat > | |
void | dslashReference_4d (sFloat *res, gFloat **gaugeFull, sFloat *spinorField, int oddBit, int daggerBit) |
template<typename sFloat > | |
void | dslashReference_5th (sFloat *res, sFloat *spinorField, int oddBit, int daggerBit, sFloat mferm) |
void | dslash (void *res, void **gaugeFull, void *spinorField, int oddBit, int daggerBit, QudaPrecision sPrecision, QudaPrecision gPrecision, double mferm) |
template<typename sFloat , typename gFloat > | |
void | Mat (sFloat *out, gFloat **gauge, sFloat *in, sFloat kappa, sFloat mferm) |
template<typename sFloat , typename gFloat > | |
void | MatDag (sFloat *out, gFloat **gauge, sFloat *in, sFloat kappa, sFloat mferm) |
void | mat (void *out, void **gauge, void *in, double kappa, int dagger_bit, QudaPrecision sPrecision, QudaPrecision gPrecision, double mferm) |
template<typename sFloat , typename gFloat > | |
void | MatPC (sFloat *outEven, gFloat **gauge, sFloat *inEven, sFloat kappa, QudaMatPCType matpc_type, sFloat mferm) |
template<typename sFloat , typename gFloat > | |
void | MatPCDag (sFloat *outEven, gFloat **gauge, sFloat *inEven, sFloat kappa, QudaMatPCType matpc_type, sFloat mferm) |
void | matpc (void *outEven, void **gauge, void *inEven, double kappa, QudaMatPCType matpc_type, int dagger_bit, QudaPrecision sPrecision, QudaPrecision gPrecision, double mferm) |
template<typename sFloat , typename gFloat > | |
void | MatDagMat (sFloat *out, gFloat **gauge, sFloat *in, sFloat kappa, sFloat mferm) |
template<typename sFloat , typename gFloat > | |
void | MatPCDagMatPC (sFloat *out, gFloat **gauge, sFloat *in, sFloat kappa, QudaMatPCType matpc_type, sFloat 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 | |
int | Z [4] |
int | V |
int | Vh |
int | Ls |
int | V5 |
int | V5h |
const double | projector [10][4][4][2] |
void dot | ( | sFloat * | res, |
gFloat * | a, | ||
sFloat * | b | ||
) |
Definition at line 169 of file domain_wall_dslash_reference.cpp.
void dslash | ( | void * | res, |
void ** | gaugeFull, | ||
void * | spinorField, | ||
int | oddBit, | ||
int | daggerBit, | ||
QudaPrecision | sPrecision, | ||
QudaPrecision | gPrecision, | ||
double | mferm | ||
) |
Definition at line 391 of file domain_wall_dslash_reference.cpp.
void dslashReference_4d | ( | sFloat * | res, |
gFloat ** | gaugeFull, | ||
sFloat * | spinorField, | ||
int | oddBit, | ||
int | daggerBit | ||
) |
Definition at line 308 of file domain_wall_dslash_reference.cpp.
void dslashReference_5th | ( | sFloat * | res, |
sFloat * | spinorField, | ||
int | oddBit, | ||
int | daggerBit, | ||
sFloat | mferm | ||
) |
Definition at line 367 of file domain_wall_dslash_reference.cpp.
Float* gaugeLink | ( | int | i, |
int | dir, | ||
int | oddBit, | ||
Float ** | gaugeEven, | ||
Float ** | gaugeOdd | ||
) |
Definition at line 121 of file domain_wall_dslash_reference.cpp.
void Mat | ( | sFloat * | out, |
gFloat ** | gauge, | ||
sFloat * | in, | ||
sFloat | kappa, | ||
sFloat | mferm | ||
) |
Definition at line 427 of file domain_wall_dslash_reference.cpp.
void mat | ( | void * | out, |
void ** | gauge, | ||
void * | in, | ||
double | kappa, | ||
int | dagger_bit, | ||
QudaPrecision | sPrecision, | ||
QudaPrecision | gPrecision, | ||
double | mferm | ||
) |
Definition at line 460 of file domain_wall_dslash_reference.cpp.
void MatDag | ( | sFloat * | out, |
gFloat ** | gauge, | ||
sFloat * | in, | ||
sFloat | kappa, | ||
sFloat | mferm | ||
) |
Definition at line 444 of file domain_wall_dslash_reference.cpp.
void MatDagMat | ( | sFloat * | out, |
gFloat ** | gauge, | ||
sFloat * | in, | ||
sFloat | kappa, | ||
sFloat | mferm | ||
) |
Definition at line 564 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 588 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 534 of file domain_wall_dslash_reference.cpp.
void MatPC | ( | sFloat * | outEven, |
gFloat ** | gauge, | ||
sFloat * | inEven, | ||
sFloat | kappa, | ||
QudaMatPCType | matpc_type, | ||
sFloat | mferm | ||
) |
Definition at line 485 of file domain_wall_dslash_reference.cpp.
void MatPCDag | ( | sFloat * | outEven, |
gFloat ** | gauge, | ||
sFloat * | inEven, | ||
sFloat | kappa, | ||
QudaMatPCType | matpc_type, | ||
sFloat | mferm | ||
) |
Definition at line 511 of file domain_wall_dslash_reference.cpp.
void MatPCDagMatPC | ( | sFloat * | out, |
gFloat ** | gauge, | ||
sFloat * | in, | ||
sFloat | kappa, | ||
QudaMatPCType | matpc_type, | ||
sFloat | mferm | ||
) |
Definition at line 575 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 607 of file domain_wall_dslash_reference.cpp.
void multiplySpinorByDiracProjector | ( | Float * | res, |
int | projIdx, | ||
Float * | spinorIn | ||
) |
Definition at line 274 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 95 of file domain_wall_dslash_reference.cpp.
int neighborIndex_5d | ( | int | i, |
int | oddBit, | ||
int | dxs, | ||
int | dx4, | ||
int | dx3, | ||
int | dx2, | ||
int | dx1 | ||
) |
Definition at line 61 of file domain_wall_dslash_reference.cpp.
void product | ( | Float * | dst, |
Float | a, | ||
Float * | b, | ||
int | cnt | ||
) |
Definition at line 39 of file domain_wall_dslash_reference.cpp.
void setDims | ( | int * | X, |
const int | L5 | ||
) |
Definition at line 19 of file domain_wall_dslash_reference.cpp.
Float* spinorNeighbor_5d | ( | int | i, |
int | dir, | ||
int | oddBit, | ||
Float * | spinorField | ||
) |
Definition at line 148 of file domain_wall_dslash_reference.cpp.
void su3Mul | ( | sFloat * | res, |
gFloat * | mat, | ||
sFloat * | vec | ||
) |
Definition at line 192 of file domain_wall_dslash_reference.cpp.
void su3Tmul | ( | sFloat * | res, |
gFloat * | mat, | ||
sFloat * | vec | ||
) |
Definition at line 197 of file domain_wall_dslash_reference.cpp.
void su3Transpose | ( | Float * | res, |
Float * | mat | ||
) |
Definition at line 182 of file domain_wall_dslash_reference.cpp.
void sum | ( | Float * | dst, |
Float * | a, | ||
Float * | b, | ||
int | cnt | ||
) |
Definition at line 33 of file domain_wall_dslash_reference.cpp.
void xpay | ( | Float * | x, |
Float | a, | ||
Float * | y, | ||
int | len | ||
) |
Definition at line 46 of file domain_wall_dslash_reference.cpp.
int Ls |
Definition at line 15 of file domain_wall_dslash_reference.cpp.
const double projector[10][4][4][2] |
Definition at line 206 of file domain_wall_dslash_reference.cpp.
int V |
Definition at line 12 of file domain_wall_dslash_reference.cpp.
int V5 |
Definition at line 16 of file domain_wall_dslash_reference.cpp.
int V5h |
Definition at line 17 of file domain_wall_dslash_reference.cpp.
int Vh |
Definition at line 13 of file domain_wall_dslash_reference.cpp.
int Z[4] |
Definition at line 11 of file domain_wall_dslash_reference.cpp.