QUDA  v1.1.0
A library for QCD on GPUs
Functions
clover_reference.cpp File Reference
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <complex>
#include <util_quda.h>
#include <host_utils.h>
#include <wilson_dslash_reference.h>

Go to the source code of this file.

Functions

template<typename sFloat , typename cFloat >
void cloverReference (sFloat *out, cFloat *clover, sFloat *in, int parity)
 Apply the clover matrix field. More...
 
void apply_clover (void *out, void *clover, void *in, int parity, QudaPrecision precision)
 
void clover_dslash (void *out, void **gauge, void *clover, void *in, int parity, int dagger, QudaPrecision precision, QudaGaugeParam &param)
 
void clover_matpc (void *out, void **gauge, void *clover, void *clover_inv, void *in, double kappa, QudaMatPCType matpc_type, int dagger, QudaPrecision precision, QudaGaugeParam &gauge_param)
 
void clover_mat (void *out, void **gauge, void *clover, void *in, double kappa, int dagger, QudaPrecision precision, QudaGaugeParam &gauge_param)
 
void applyTwist (void *out, void *in, void *tmpH, double a, QudaPrecision precision)
 
void twistClover (void *out, void *in, void *x, void *clover, const double a, int dagger, int parity, QudaPrecision precision)
 
void twistCloverGamma5 (void *out, void *in, void *clover, void *cInv, const int dagger, const double kappa, const double mu, const QudaTwistFlavorType flavor, const int parity, QudaTwistGamma5Type twist, QudaPrecision precision)
 
void tmc_dslash (void *out, void **gauge, void *in, void *clover, void *cInv, double kappa, double mu, QudaTwistFlavorType flavor, int parity, QudaMatPCType matpc_type, int dagger, QudaPrecision precision, QudaGaugeParam &param)
 
void tmc_mat (void *out, void **gauge, void *clover, void *in, double kappa, double mu, QudaTwistFlavorType flavor, int dagger, QudaPrecision precision, QudaGaugeParam &gauge_param)
 
void tmc_matpc (void *out, void **gauge, void *in, void *clover, void *cInv, double kappa, double mu, QudaTwistFlavorType flavor, QudaMatPCType matpc_type, int dagger, QudaPrecision precision, QudaGaugeParam &gauge_param)
 
void cloverHasenbuchTwist_mat (void *out, void **gauge, void *clover, void *in, double kappa, double mu, int dagger, QudaPrecision precision, QudaGaugeParam &gauge_param, QudaMatPCType matpc_type)
 
void cloverHasenbuschTwist_matpc (void *out, void **gauge, void *in, void *clover, void *cInv, double kappa, double mu, QudaMatPCType matpc_type, int dagger, QudaPrecision precision, QudaGaugeParam &gauge_param)
 

Function Documentation

◆ apply_clover()

void apply_clover ( void *  out,
void *  clover,
void *  in,
int  parity,
QudaPrecision  precision 
)

Definition at line 64 of file clover_reference.cpp.

◆ applyTwist()

void applyTwist ( void *  out,
void *  in,
void *  tmpH,
double  a,
QudaPrecision  precision 
)

Definition at line 173 of file clover_reference.cpp.

◆ clover_dslash()

void clover_dslash ( void *  out,
void **  gauge,
void *  clover,
void *  in,
int  parity,
int  dagger,
QudaPrecision  precision,
QudaGaugeParam param 
)

Definition at line 79 of file clover_reference.cpp.

◆ clover_mat()

void clover_mat ( void *  out,
void **  gauge,
void *  clover,
void *  in,
double  kappa,
int  dagger,
QudaPrecision  precision,
QudaGaugeParam gauge_param 
)

Definition at line 147 of file clover_reference.cpp.

◆ clover_matpc()

void clover_matpc ( void *  out,
void **  gauge,
void *  clover,
void *  clover_inv,
void *  in,
double  kappa,
QudaMatPCType  matpc_type,
int  dagger,
QudaPrecision  precision,
QudaGaugeParam gauge_param 
)

Definition at line 90 of file clover_reference.cpp.

◆ cloverHasenbuchTwist_mat()

void cloverHasenbuchTwist_mat ( void *  out,
void **  gauge,
void *  clover,
void *  in,
double  kappa,
double  mu,
int  dagger,
QudaPrecision  precision,
QudaGaugeParam gauge_param,
QudaMatPCType  matpc_type 
)

Definition at line 357 of file clover_reference.cpp.

◆ cloverHasenbuschTwist_matpc()

void cloverHasenbuschTwist_matpc ( void *  out,
void **  gauge,
void *  in,
void *  clover,
void *  cInv,
double  kappa,
double  mu,
QudaMatPCType  matpc_type,
int  dagger,
QudaPrecision  precision,
QudaGaugeParam gauge_param 
)

Definition at line 410 of file clover_reference.cpp.

◆ cloverReference()

template<typename sFloat , typename cFloat >
void cloverReference ( sFloat *  out,
cFloat *  clover,
sFloat *  in,
int  parity 
)

Apply the clover matrix field.

Parameters
[out]outResult field (single parity)
[in]cloverClover-matrix field (full field)
[in]inInput field (single parity)
[in]parityParity to which we are applying the clover field

Definition at line 18 of file clover_reference.cpp.

◆ tmc_dslash()

void tmc_dslash ( void *  out,
void **  gauge,
void *  in,
void *  clover,
void *  cInv,
double  kappa,
double  mu,
QudaTwistFlavorType  flavor,
int  parity,
QudaMatPCType  matpc_type,
int  dagger,
QudaPrecision  precision,
QudaGaugeParam param 
)

Definition at line 244 of file clover_reference.cpp.

◆ tmc_mat()

void tmc_mat ( void *  out,
void **  gauge,
void *  clover,
void *  in,
double  kappa,
double  mu,
QudaTwistFlavorType  flavor,
int  dagger,
QudaPrecision  precision,
QudaGaugeParam gauge_param 
)

Definition at line 267 of file clover_reference.cpp.

◆ tmc_matpc()

void tmc_matpc ( void *  out,
void **  gauge,
void *  in,
void *  clover,
void *  cInv,
double  kappa,
double  mu,
QudaTwistFlavorType  flavor,
QudaMatPCType  matpc_type,
int  dagger,
QudaPrecision  precision,
QudaGaugeParam gauge_param 
)

Definition at line 294 of file clover_reference.cpp.

◆ twistClover()

void twistClover ( void *  out,
void *  in,
void *  x,
void *  clover,
const double  a,
int  dagger,
int  parity,
QudaPrecision  precision 
)

Definition at line 201 of file clover_reference.cpp.

◆ twistCloverGamma5()

void twistCloverGamma5 ( void *  out,
void *  in,
void *  clover,
void *  cInv,
const int  dagger,
const double  kappa,
const double  mu,
const QudaTwistFlavorType  flavor,
const int  parity,
QudaTwistGamma5Type  twist,
QudaPrecision  precision 
)

Definition at line 213 of file clover_reference.cpp.