QUDA  0.9.0
Functions
staggered_dslash_reference.cpp File Reference
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <test_util.h>
#include <quda_internal.h>
#include <quda.h>
#include <util_quda.h>
#include <staggered_dslash_reference.h>
#include "misc.h"
#include <blas_quda.h>
#include <blas_reference.h>
#include <dslash_util.h>
Include dependency graph for staggered_dslash_reference.cpp:

Go to the source code of this file.

Functions

void * memset (void *s, int c, size_t n)
 
template<typename Float >
void display_link_internal (Float *link)
 
template<typename sFloat , typename gFloat >
void dslashReference (sFloat *res, gFloat **fatlink, gFloat **longlink, sFloat *spinorField, int oddBit, int daggerBit)
 
void staggered_dslash (void *res, void **fatlink, void **longlink, void *spinorField, int oddBit, int daggerBit, QudaPrecision sPrecision, QudaPrecision gPrecision)
 
template<typename sFloat , typename gFloat >
void Mat (sFloat *out, gFloat **fatlink, gFloat **longlink, sFloat *in, sFloat kappa, int daggerBit)
 
void mat (void *out, void **fatlink, void **longlink, void *in, double kappa, int dagger_bit, QudaPrecision sPrecision, QudaPrecision gPrecision)
 
template<typename sFloat , typename gFloat >
void Matdagmat (sFloat *out, gFloat **fatlink, gFloat **longlink, sFloat *in, sFloat mass, int daggerBit, sFloat *tmp, QudaParity parity)
 
void matdagmat (void *out, void **fatlink, void **longlink, void *in, double mass, int dagger_bit, QudaPrecision sPrecision, QudaPrecision gPrecision, void *tmp, QudaParity parity)
 
template<typename sFloat , typename gFloat >
static void MatPC (sFloat *outEven, gFloat **fatlink, gFloat **longlink, sFloat *inEven, int dagger, QudaMatPCType matpc_type)
 
void staggered_matpc (void *outEven, void **fatlink, void **longlink, void *inEven, double kappa, QudaMatPCType matpc_type, int dagger_bit, QudaPrecision sPrecision, QudaPrecision gPrecision)
 

Function Documentation

◆ display_link_internal()

template<typename Float >
void display_link_internal ( Float *  link)

Definition at line 30 of file staggered_dslash_reference.cpp.

References fused_exterior_ndeg_tm_dslash_cuda_gen::i, and printf().

Here is the call graph for this function:

◆ dslashReference()

template<typename sFloat , typename gFloat >
void dslashReference ( sFloat *  res,
gFloat **  fatlink,
gFloat **  longlink,
sFloat *  spinorField,
int  oddBit,
int  daggerBit 
)

Definition at line 46 of file staggered_dslash_reference.cpp.

References fatlink, gaugeLink(), gaugeSiteSize, fused_exterior_ndeg_tm_dslash_cuda_gen::i, longlink, Ls, mySpinorSiteSize, negx(), offset, sid, su3Mul(), su3Tmul(), sub(), sum(), and Vh.

Referenced by Mat(), Matdagmat(), MatPC(), and staggered_dslash().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Mat()

template<typename sFloat , typename gFloat >
void Mat ( sFloat *  out,
gFloat **  fatlink,
gFloat **  longlink,
sFloat *  in,
sFloat  kappa,
int  daggerBit 
)

Definition at line 123 of file staggered_dslash_reference.cpp.

References dslashReference(), fatlink, in, longlink, mySpinorSiteSize, out, and Vh.

Referenced by mat().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mat()

void mat ( void *  out,
void **  fatlink,
void **  longlink,
void *  in,
double  kappa,
int  dagger_bit,
QudaPrecision  sPrecision,
QudaPrecision  gPrecision 
)

Definition at line 137 of file staggered_dslash_reference.cpp.

References fatlink, in, kappa, longlink, Mat(), mySpinorSiteSize, out, QUDA_DOUBLE_PRECISION, V, and quda::blas::xpay().

Here is the call graph for this function:

◆ Matdagmat()

template<typename sFloat , typename gFloat >
void Matdagmat ( sFloat *  out,
gFloat **  fatlink,
gFloat **  longlink,
sFloat *  in,
sFloat  mass,
int  daggerBit,
sFloat *  tmp,
QudaParity  parity 
)

Definition at line 163 of file staggered_dslash_reference.cpp.

References axmy(), dslashReference(), fatlink, fprintf(), in, longlink, Ls, mass, mySpinorSiteSize, out, parity, QUDA_EVEN_PARITY, QUDA_ODD_PARITY, tmp, and Vh.

Referenced by matdagmat().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ matdagmat()

void matdagmat ( void *  out,
void **  fatlink,
void **  longlink,
void *  in,
double  mass,
int  dagger_bit,
QudaPrecision  sPrecision,
QudaPrecision  gPrecision,
void *  tmp,
QudaParity  parity 
)

Definition at line 202 of file staggered_dslash_reference.cpp.

References fatlink, in, longlink, mass, Matdagmat(), out, parity, QUDA_DOUBLE_PRECISION, and tmp.

Here is the call graph for this function:

◆ MatPC()

template<typename sFloat , typename gFloat >
static void MatPC ( sFloat *  outEven,
gFloat **  fatlink,
gFloat **  longlink,
sFloat *  inEven,
int  dagger,
QudaMatPCType  matpc_type 
)
static

Definition at line 227 of file staggered_dslash_reference.cpp.

References deg_tm_dslash_cuda_gen::dagger, dslashReference(), fatlink, free(), longlink, malloc(), matpc_type, mySpinorSiteSize, QUDA_MATPC_EVEN_EVEN, tmp, and Vh.

Referenced by staggered_matpc().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ memset()

void* memset ( void *  s,
int  c,
size_t  n 
)

◆ staggered_dslash()

void staggered_dslash ( void *  res,
void **  fatlink,
void **  longlink,
void *  spinorField,
int  oddBit,
int  daggerBit,
QudaPrecision  sPrecision,
QudaPrecision  gPrecision 
)

Definition at line 100 of file staggered_dslash_reference.cpp.

References dslashReference(), fatlink, longlink, and QUDA_DOUBLE_PRECISION.

Referenced by staggeredDslashRef().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ staggered_matpc()

void staggered_matpc ( void *  outEven,
void **  fatlink,
void **  longlink,
void *  inEven,
double  kappa,
QudaMatPCType  matpc_type,
int  dagger_bit,
QudaPrecision  sPrecision,
QudaPrecision  gPrecision 
)

Definition at line 245 of file staggered_dslash_reference.cpp.

References fatlink, kappa, longlink, Ls, MatPC(), matpc_type, mySpinorSiteSize, QUDA_DOUBLE_PRECISION, Vh, and quda::blas::xpay().

Here is the call graph for this function: