|
QUDA v0.3.2
A library for QCD on GPUs
|
#include <stdlib.h>#include <stdio.h>#include <quda_internal.h>#include <dslash_quda.h>#include <dslash_textures.h>#include <dslash_constants.h>#include <staggered_dslash_def.h>#include <wilson_dslash_def.h>#include <dw_dslash_def.h>#include <tm_dslash_def.h>#include <dslash_core/tm_core.h>#include <clover_def.h>#include <blas_quda.h>Go to the source code of this file.
Defines | |
| #define | DIRECT_ACCESS_FAT_LINK |
| #define | BLOCK_DIM 64 |
| #define | SHARED_FLOATS_PER_THREAD 0 |
Functions | |
| __global__ void | dummyKernel () |
| void | initCache () |
| int | dslashCudaSharedBytes (QudaPrecision precision) |
| template<int spinorN, typename spinorFloat , typename gaugeFloat > | |
| void | dslashCuda (spinorFloat *out, float *outNorm, const gaugeFloat *gauge0, const gaugeFloat *gauge1, const QudaReconstructType reconstruct, const spinorFloat *in, const float *inNorm, const int parity, const int dagger, const spinorFloat *x, const float *xNorm, const double &a, const int volume, const int length) |
| void | dslashCuda (void *out, void *outNorm, const FullGauge gauge, const void *in, const void *inNorm, const int parity, const int dagger, const void *x, const void *xNorm, const double k, const int volume, const int length, const QudaPrecision precision) |
| template<int N, typename spinorFloat , typename cloverFloat > | |
| void | cloverCuda (spinorFloat *out, float *outNorm, const cloverFloat *clover, const float *cloverNorm, const spinorFloat *in, const float *inNorm, const int parity, const int volume, const int length) |
| void | cloverCuda (void *out, void *outNorm, const FullGauge gauge, const FullClover clover, const void *in, const void *inNorm, const int parity, const int volume, const int length, const QudaPrecision precision) |
| template<int N, typename spinorFloat , typename cloverFloat , typename gaugeFloat > | |
| void | cloverDslashCuda (spinorFloat *out, float *outNorm, const gaugeFloat gauge0, const gaugeFloat gauge1, const QudaReconstructType reconstruct, const cloverFloat *clover, const float *cloverNorm, const spinorFloat *in, const float *inNorm, const int parity, const int dagger, const spinorFloat *x, const float *xNorm, const double &a, const int volume, const int length) |
| void | cloverDslashCuda (void *out, void *outNorm, const FullGauge gauge, const FullClover cloverInv, const void *in, const void *inNorm, const int parity, const int dagger, const void *x, const void *xNorm, const double a, const int volume, const int length, const QudaPrecision precision) |
| template<int N, typename spinorFloat , typename gaugeFloat > | |
| void | domainWallDslashCuda (spinorFloat *out, float *outNorm, const gaugeFloat gauge0, const gaugeFloat gauge1, const QudaReconstructType reconstruct, const spinorFloat *in, const float *inNorm, const int parity, const int dagger, const spinorFloat *x, const float *xNorm, const double &m_f, const double &k2, const int volume_5d, const int length) |
| void | domainWallDslashCuda (void *out, void *outNorm, const FullGauge gauge, const void *in, const void *inNorm, const int parity, const int dagger, const void *x, const void *xNorm, const double m_f, const double k2, const int volume5d, const int length, const QudaPrecision precision) |
| template<int spinorN, typename spinorFloat , typename fatGaugeFloat , typename longGaugeFloat > | |
| void | staggeredDslashCuda (spinorFloat *out, float *outNorm, const fatGaugeFloat *fatGauge0, const fatGaugeFloat *fatGauge1, const longGaugeFloat *longGauge0, const longGaugeFloat *longGauge1, const QudaReconstructType reconstruct, const spinorFloat *in, const float *inNorm, const int parity, const int dagger, const spinorFloat *x, const float *xNorm, const double &a, const int volume, const int length, const QudaPrecision precision) |
| template<int spinorN, typename spinorFloat , typename fatGaugeFloat , typename longGaugeFloat > | |
| void | staggeredDslashNoReconCuda (spinorFloat *out, float *outNorm, const fatGaugeFloat *fatGauge0, const fatGaugeFloat *fatGauge1, const longGaugeFloat *longGauge0, const longGaugeFloat *longGauge1, const QudaReconstructType reconstruct, const spinorFloat *in, const float *inNorm, const int parity, const int dagger, const spinorFloat *x, const float *xNorm, const double &a, const int volume, const int length, const QudaPrecision precision) |
| void | staggeredDslashCuda (void *out, void *outNorm, const FullGauge fatGauge, const FullGauge longGauge, const void *in, const void *inNorm, const int parity, const int dagger, const void *x, const void *xNorm, const double k, const int volume, const int length, const QudaPrecision precision) |
| void | setTwistParam (double &a, double &b, const double &kappa, const double &mu, const int dagger, const QudaTwistGamma5Type twist) |
| template<int N, typename spinorFloat > | |
| void | twistGamma5Cuda (spinorFloat *out, float *outNorm, const spinorFloat *in, const float *inNorm, const int dagger, const double &kappa, const double &mu, const int volume, const int length, const QudaTwistGamma5Type twist) |
| void | twistGamma5Cuda (void *out, void *outNorm, const void *in, const void *inNorm, const int dagger, const double kappa, const double mu, const int volume, const int length, const QudaPrecision precision, const QudaTwistGamma5Type twist) |
| template<int N, typename spinorFloat , typename gaugeFloat > | |
| void | twistedMassDslashCuda (spinorFloat *out, float *outNorm, const gaugeFloat gauge0, const gaugeFloat gauge1, const QudaReconstructType reconstruct, const spinorFloat *in, const float *inNorm, const int parity, const int dagger, const spinorFloat *x, const float *xNorm, const double &kappa, const double &mu, const double &k, const int volume, const int length) |
| void | twistedMassDslashCuda (void *out, void *outNorm, const FullGauge gauge, const void *in, const void *inNorm, const int parity, const int dagger, const void *x, const void *xNorm, const double kappa, const double mu, const double a, const int volume, const int length, const QudaPrecision precision) |
| #define BLOCK_DIM 64 |
Definition at line 19 of file dslash_quda.cu.
| #define DIRECT_ACCESS_FAT_LINK |
Definition at line 11 of file dslash_quda.cu.
| #define SHARED_FLOATS_PER_THREAD 0 |
Definition at line 32 of file dslash_quda.cu.
| void cloverCuda | ( | spinorFloat * | out, |
| float * | outNorm, | ||
| const cloverFloat * | clover, | ||
| const float * | cloverNorm, | ||
| const spinorFloat * | in, | ||
| const float * | inNorm, | ||
| const int | parity, | ||
| const int | volume, | ||
| const int | length | ||
| ) |
Definition at line 169 of file dslash_quda.cu.
| void cloverCuda | ( | void * | out, |
| void * | outNorm, | ||
| const FullGauge | gauge, | ||
| const FullClover | clover, | ||
| const void * | in, | ||
| const void * | inNorm, | ||
| const int | parity, | ||
| const int | volume, | ||
| const int | length, | ||
| const QudaPrecision | precision | ||
| ) |
Definition at line 182 of file dslash_quda.cu.
| void cloverDslashCuda | ( | spinorFloat * | out, |
| float * | outNorm, | ||
| const gaugeFloat | gauge0, | ||
| const gaugeFloat | gauge1, | ||
| const QudaReconstructType | reconstruct, | ||
| const cloverFloat * | clover, | ||
| const float * | cloverNorm, | ||
| const spinorFloat * | in, | ||
| const float * | inNorm, | ||
| const int | parity, | ||
| const int | dagger, | ||
| const spinorFloat * | x, | ||
| const float * | xNorm, | ||
| const double & | a, | ||
| const int | volume, | ||
| const int | length | ||
| ) |
Definition at line 221 of file dslash_quda.cu.
| void cloverDslashCuda | ( | void * | out, |
| void * | outNorm, | ||
| const FullGauge | gauge, | ||
| const FullClover | cloverInv, | ||
| const void * | in, | ||
| const void * | inNorm, | ||
| const int | parity, | ||
| const int | dagger, | ||
| const void * | x, | ||
| const void * | xNorm, | ||
| const double | a, | ||
| const int | volume, | ||
| const int | length, | ||
| const QudaPrecision | precision | ||
| ) |
Definition at line 289 of file dslash_quda.cu.
| void domainWallDslashCuda | ( | spinorFloat * | out, |
| float * | outNorm, | ||
| const gaugeFloat | gauge0, | ||
| const gaugeFloat | gauge1, | ||
| const QudaReconstructType | reconstruct, | ||
| const spinorFloat * | in, | ||
| const float * | inNorm, | ||
| const int | parity, | ||
| const int | dagger, | ||
| const spinorFloat * | x, | ||
| const float * | xNorm, | ||
| const double & | m_f, | ||
| const double & | k2, | ||
| const int | volume_5d, | ||
| const int | length | ||
| ) |
Definition at line 339 of file dslash_quda.cu.
| void domainWallDslashCuda | ( | void * | out, |
| void * | outNorm, | ||
| const FullGauge | gauge, | ||
| const void * | in, | ||
| const void * | inNorm, | ||
| const int | parity, | ||
| const int | dagger, | ||
| const void * | x, | ||
| const void * | xNorm, | ||
| const double | m_f, | ||
| const double | k2, | ||
| const int | volume5d, | ||
| const int | length, | ||
| const QudaPrecision | precision | ||
| ) |
Definition at line 407 of file dslash_quda.cu.
| void dslashCuda | ( | void * | out, |
| void * | outNorm, | ||
| const FullGauge | gauge, | ||
| const void * | in, | ||
| const void * | inNorm, | ||
| const int | parity, | ||
| const int | dagger, | ||
| const void * | x, | ||
| const void * | xNorm, | ||
| const double | k, | ||
| const int | volume, | ||
| const int | length, | ||
| const QudaPrecision | precision | ||
| ) |
Definition at line 130 of file dslash_quda.cu.
| void dslashCuda | ( | spinorFloat * | out, |
| float * | outNorm, | ||
| const gaugeFloat * | gauge0, | ||
| const gaugeFloat * | gauge1, | ||
| const QudaReconstructType | reconstruct, | ||
| const spinorFloat * | in, | ||
| const float * | inNorm, | ||
| const int | parity, | ||
| const int | dagger, | ||
| const spinorFloat * | x, | ||
| const float * | xNorm, | ||
| const double & | a, | ||
| const int | volume, | ||
| const int | length | ||
| ) |
Definition at line 61 of file dslash_quda.cu.
| int dslashCudaSharedBytes | ( | QudaPrecision | precision | ) |
Definition at line 56 of file dslash_quda.cu.
| __global__ void dummyKernel | ( | ) |
Definition at line 37 of file dslash_quda.cu.
| void initCache | ( | ) |
Definition at line 41 of file dslash_quda.cu.
| void setTwistParam | ( | double & | a, |
| double & | b, | ||
| const double & | kappa, | ||
| const double & | mu, | ||
| const int | dagger, | ||
| const QudaTwistGamma5Type | twist | ||
| ) |
Definition at line 622 of file dslash_quda.cu.
| void staggeredDslashCuda | ( | void * | out, |
| void * | outNorm, | ||
| const FullGauge | fatGauge, | ||
| const FullGauge | longGauge, | ||
| const void * | in, | ||
| const void * | inNorm, | ||
| const int | parity, | ||
| const int | dagger, | ||
| const void * | x, | ||
| const void * | xNorm, | ||
| const double | k, | ||
| const int | volume, | ||
| const int | length, | ||
| const QudaPrecision | precision | ||
| ) |
Definition at line 553 of file dslash_quda.cu.
| void staggeredDslashCuda | ( | spinorFloat * | out, |
| float * | outNorm, | ||
| const fatGaugeFloat * | fatGauge0, | ||
| const fatGaugeFloat * | fatGauge1, | ||
| const longGaugeFloat * | longGauge0, | ||
| const longGaugeFloat * | longGauge1, | ||
| const QudaReconstructType | reconstruct, | ||
| const spinorFloat * | in, | ||
| const float * | inNorm, | ||
| const int | parity, | ||
| const int | dagger, | ||
| const spinorFloat * | x, | ||
| const float * | xNorm, | ||
| const double & | a, | ||
| const int | volume, | ||
| const int | length, | ||
| const QudaPrecision | precision | ||
| ) |
Definition at line 447 of file dslash_quda.cu.
| void staggeredDslashNoReconCuda | ( | spinorFloat * | out, |
| float * | outNorm, | ||
| const fatGaugeFloat * | fatGauge0, | ||
| const fatGaugeFloat * | fatGauge1, | ||
| const longGaugeFloat * | longGauge0, | ||
| const longGaugeFloat * | longGauge1, | ||
| const QudaReconstructType | reconstruct, | ||
| const spinorFloat * | in, | ||
| const float * | inNorm, | ||
| const int | parity, | ||
| const int | dagger, | ||
| const spinorFloat * | x, | ||
| const float * | xNorm, | ||
| const double & | a, | ||
| const int | volume, | ||
| const int | length, | ||
| const QudaPrecision | precision | ||
| ) |
Definition at line 513 of file dslash_quda.cu.
| void twistedMassDslashCuda | ( | void * | out, |
| void * | outNorm, | ||
| const FullGauge | gauge, | ||
| const void * | in, | ||
| const void * | inNorm, | ||
| const int | parity, | ||
| const int | dagger, | ||
| const void * | x, | ||
| const void * | xNorm, | ||
| const double | kappa, | ||
| const double | mu, | ||
| const double | a, | ||
| const int | volume, | ||
| const int | length, | ||
| const QudaPrecision | precision | ||
| ) |
Definition at line 757 of file dslash_quda.cu.
| void twistedMassDslashCuda | ( | spinorFloat * | out, |
| float * | outNorm, | ||
| const gaugeFloat | gauge0, | ||
| const gaugeFloat | gauge1, | ||
| const QudaReconstructType | reconstruct, | ||
| const spinorFloat * | in, | ||
| const float * | inNorm, | ||
| const int | parity, | ||
| const int | dagger, | ||
| const spinorFloat * | x, | ||
| const float * | xNorm, | ||
| const double & | kappa, | ||
| const double & | mu, | ||
| const double & | k, | ||
| const int | volume, | ||
| const int | length | ||
| ) |
Definition at line 683 of file dslash_quda.cu.
| void twistGamma5Cuda | ( | void * | out, |
| void * | outNorm, | ||
| const void * | in, | ||
| const void * | inNorm, | ||
| const int | dagger, | ||
| const double | kappa, | ||
| const double | mu, | ||
| const int | volume, | ||
| const int | length, | ||
| const QudaPrecision | precision, | ||
| const QudaTwistGamma5Type | twist | ||
| ) |
Definition at line 654 of file dslash_quda.cu.
| void twistGamma5Cuda | ( | spinorFloat * | out, |
| float * | outNorm, | ||
| const spinorFloat * | in, | ||
| const float * | inNorm, | ||
| const int | dagger, | ||
| const double & | kappa, | ||
| const double & | mu, | ||
| const int | volume, | ||
| const int | length, | ||
| const QudaTwistGamma5Type | twist | ||
| ) |
Definition at line 638 of file dslash_quda.cu.
1.7.3