QUDA  1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Macros | Functions | Variables
llfat_reference.cpp File Reference
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <quda.h>
#include "gauge_field.h"
#include <test_util.h>
#include <unitarization_links.h>
#include "misc.h"
#include <string.h>
#include <llfat_reference.h>
#include <quda_internal.h>
#include <complex>
Include dependency graph for llfat_reference.cpp:

Go to the source code of this file.

Classes

struct  su3_matrix< real >
 
struct  su3_vector< real >
 

Macros

#define XUP   0
 
#define YUP   1
 
#define ZUP   2
 
#define TUP   3
 

Functions

template<typename su3_matrix , typename Real >
void llfat_scalar_mult_su3_matrix (su3_matrix *a, Real s, su3_matrix *b)
 
template<typename su3_matrix , typename Real >
void llfat_scalar_mult_add_su3_matrix (su3_matrix *a, su3_matrix *b, Real s, su3_matrix *c)
 
template<typename su3_matrix >
void llfat_mult_su3_na (su3_matrix *a, su3_matrix *b, su3_matrix *c)
 
template<typename su3_matrix >
void llfat_mult_su3_nn (su3_matrix *a, su3_matrix *b, su3_matrix *c)
 
template<typename su3_matrix >
void llfat_mult_su3_an (su3_matrix *a, su3_matrix *b, su3_matrix *c)
 
template<typename su3_matrix >
void llfat_add_su3_matrix (su3_matrix *a, su3_matrix *b, su3_matrix *c)
 
template<typename su3_matrix , typename Real >
void llfat_compute_gen_staple_field (su3_matrix *staple, int mu, int nu, su3_matrix *mulink, su3_matrix **sitelink, void **fatlink, Real coef, int use_staple)
 
template<typename su3_matrix , typename Float >
void llfat_cpu (void **fatlink, su3_matrix **sitelink, Float *act_path_coeff)
 
template<typename su3_matrix , typename Float >
void computeLongLinkCPU (void **longlink, su3_matrix **sitelink, Float *act_path_coeff)
 
void computeLongLinkCPU (void **longlink, void **sitelink, QudaPrecision prec, void *act_path_coeff)
 
void llfat_reference (void **fatlink, void **sitelink, QudaPrecision prec, void *act_path_coeff)
 
void cpu_axy (QudaPrecision prec, double a, void *x, void *y, int size)
 
void cpu_xpy (QudaPrecision prec, void *x, void *y, int size)
 
template<typename Out , typename In >
void reorderQDPtoMILC (Out *milc_out, In **qdp_in, int V, int siteSize)
 
void reorderQDPtoMILC (void *milc_out, void **qdp_in, int V, int siteSize, QudaPrecision out_precision, QudaPrecision in_precision)
 
template<typename Out , typename In >
void reorderMILCtoQDP (Out **qdp_out, In *milc_in, int V, int siteSize)
 
void reorderMILCtoQDP (void **qdp_out, void *milc_in, int V, int siteSize, QudaPrecision out_precision, QudaPrecision in_precision)
 
void computeHISQLinksCPU (void **fatlink, void **longlink, void **fatlink_eps, void **longlink_eps, void **sitelink, void *qudaGaugeParamPtr, double **act_path_coeffs, double eps_naik)
 

Variables

static int Vs [4]
 
static int Vsh [4]
 

Macro Definition Documentation

◆ TUP

#define TUP   3

Definition at line 20 of file llfat_reference.cpp.

Referenced by computeLongLinkCPU(), llfat_cpu(), and llfat_reference().

◆ XUP

#define XUP   0

Definition at line 17 of file llfat_reference.cpp.

Referenced by computeLongLinkCPU(), llfat_cpu(), and llfat_reference().

◆ YUP

#define YUP   1

Definition at line 18 of file llfat_reference.cpp.

◆ ZUP

#define ZUP   2

Definition at line 19 of file llfat_reference.cpp.

Function Documentation

◆ computeHISQLinksCPU()

void computeHISQLinksCPU ( void **  fatlink,
void **  longlink,
void **  fatlink_eps,
void **  longlink_eps,
void **  sitelink,
void *  qudaGaugeParamPtr,
double **  act_path_coeffs,
double  eps_naik 
)

◆ computeLongLinkCPU() [1/2]

template<typename su3_matrix , typename Float >
void computeLongLinkCPU ( void **  longlink,
su3_matrix **  sitelink,
Float *  act_path_coeff 
)

Definition at line 304 of file llfat_reference.cpp.

References E, llfat_mult_su3_nn(), llfat_scalar_mult_su3_matrix(), longlink, neighborIndexFullLattice(), TUP, V, Vh, XUP, and Z.

Referenced by computeHISQLinksCPU(), computeLongLinkCPU(), and llfat_test().

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

◆ computeLongLinkCPU() [2/2]

void computeLongLinkCPU ( void **  longlink,
void **  sitelink,
QudaPrecision  prec,
void *  act_path_coeff 
)

Definition at line 365 of file llfat_reference.cpp.

References computeLongLinkCPU(), QUDA_DOUBLE_PRECISION, and QUDA_SINGLE_PRECISION.

Here is the call graph for this function:

◆ cpu_axy()

void cpu_axy ( QudaPrecision  prec,
double  a,
void *  x,
void *  y,
int  size 
)

Definition at line 816 of file llfat_reference.cpp.

References QUDA_DOUBLE_PRECISION, and quda::size.

Referenced by computeHISQLinksCPU(), computeHISQLinksGPU(), and hisq_test().

Here is the caller graph for this function:

◆ cpu_xpy()

void cpu_xpy ( QudaPrecision  prec,
void *  x,
void *  y,
int  size 
)

Definition at line 835 of file llfat_reference.cpp.

References QUDA_DOUBLE_PRECISION, and quda::size.

Referenced by computeHISQLinksCPU(), computeHISQLinksGPU(), and hisq_test().

Here is the caller graph for this function:

◆ llfat_add_su3_matrix()

template<typename su3_matrix >
void llfat_add_su3_matrix ( su3_matrix a,
su3_matrix b,
su3_matrix c 
)

Definition at line 109 of file llfat_reference.cpp.

References su3_matrix< real >::e.

Referenced by llfat_compute_gen_staple_field(), and llfat_reference().

Here is the caller graph for this function:

◆ llfat_compute_gen_staple_field()

template<typename su3_matrix , typename Real >
void llfat_compute_gen_staple_field ( su3_matrix staple,
int  mu,
int  nu,
su3_matrix mulink,
su3_matrix **  sitelink,
void **  fatlink,
Real  coef,
int  use_staple 
)

Definition at line 121 of file llfat_reference.cpp.

References llfat_add_su3_matrix(), llfat_mult_su3_an(), llfat_mult_su3_na(), llfat_mult_su3_nn(), llfat_scalar_mult_add_su3_matrix(), memset(), mu, neighborIndexFullLattice(), and V.

Referenced by llfat_cpu().

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

◆ llfat_cpu()

template<typename su3_matrix , typename Float >
void llfat_cpu ( void **  fatlink,
su3_matrix **  sitelink,
Float *  act_path_coeff 
)

Definition at line 236 of file llfat_reference.cpp.

References llfat_compute_gen_staple_field(), llfat_scalar_mult_su3_matrix(), TUP, V, and XUP.

Referenced by llfat_reference().

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

◆ llfat_mult_su3_an()

template<typename su3_matrix >
void llfat_mult_su3_an ( su3_matrix a,
su3_matrix b,
su3_matrix c 
)

Definition at line 89 of file llfat_reference.cpp.

References quda::conj(), and su3_matrix< real >::e.

Referenced by llfat_compute_gen_staple_field(), and llfat_reference().

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

◆ llfat_mult_su3_na()

template<typename su3_matrix >
void llfat_mult_su3_na ( su3_matrix a,
su3_matrix b,
su3_matrix c 
)

Definition at line 57 of file llfat_reference.cpp.

References quda::conj(), and su3_matrix< real >::e.

Referenced by llfat_compute_gen_staple_field(), and llfat_reference().

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

◆ llfat_mult_su3_nn()

template<typename su3_matrix >
void llfat_mult_su3_nn ( su3_matrix a,
su3_matrix b,
su3_matrix c 
)

Definition at line 73 of file llfat_reference.cpp.

References su3_matrix< real >::e.

Referenced by computeLongLinkCPU(), llfat_compute_gen_staple_field(), and llfat_reference().

Here is the caller graph for this function:

◆ llfat_reference()

void llfat_reference ( void **  fatlink,
void **  sitelink,
QudaPrecision  prec,
void *  act_path_coeff 
)

◆ llfat_scalar_mult_add_su3_matrix()

template<typename su3_matrix , typename Real >
void llfat_scalar_mult_add_su3_matrix ( su3_matrix a,
su3_matrix b,
Real  s,
su3_matrix c 
)

Definition at line 46 of file llfat_reference.cpp.

References su3_matrix< real >::e.

Referenced by llfat_compute_gen_staple_field(), and llfat_reference().

Here is the caller graph for this function:

◆ llfat_scalar_mult_su3_matrix()

template<typename su3_matrix , typename Real >
void llfat_scalar_mult_su3_matrix ( su3_matrix a,
Real  s,
su3_matrix b 
)

Definition at line 33 of file llfat_reference.cpp.

References su3_matrix< real >::e.

Referenced by computeLongLinkCPU(), llfat_cpu(), and llfat_reference().

Here is the caller graph for this function:

◆ reorderMILCtoQDP() [1/2]

template<typename Out , typename In >
void reorderMILCtoQDP ( Out **  qdp_out,
In *  milc_in,
int  V,
int  siteSize 
)

Definition at line 883 of file llfat_reference.cpp.

References V.

Referenced by computeHISQLinksCPU(), and computeHISQLinksGPU().

Here is the caller graph for this function:

◆ reorderMILCtoQDP() [2/2]

void reorderMILCtoQDP ( void **  qdp_out,
void *  milc_in,
int  V,
int  siteSize,
QudaPrecision  out_precision,
QudaPrecision  in_precision 
)

Definition at line 893 of file llfat_reference.cpp.

References QUDA_DOUBLE_PRECISION, QUDA_SINGLE_PRECISION, and V.

◆ reorderQDPtoMILC() [1/2]

template<typename Out , typename In >
void reorderQDPtoMILC ( Out *  milc_out,
In **  qdp_in,
int  V,
int  siteSize 
)

Definition at line 856 of file llfat_reference.cpp.

References V.

Referenced by computeHISQLinksCPU(), computeHISQLinksGPU(), eigensolve_test(), init(), and invert_test().

Here is the caller graph for this function:

◆ reorderQDPtoMILC() [2/2]

void reorderQDPtoMILC ( void *  milc_out,
void **  qdp_in,
int  V,
int  siteSize,
QudaPrecision  out_precision,
QudaPrecision  in_precision 
)

Definition at line 866 of file llfat_reference.cpp.

References QUDA_DOUBLE_PRECISION, QUDA_SINGLE_PRECISION, and V.

Variable Documentation

◆ Vs

int Vs[4]
static

Definition at line 28 of file llfat_reference.cpp.

Referenced by computeHISQLinksCPU(), and llfat_reference().

◆ Vsh

int Vsh[4]
static

Definition at line 29 of file llfat_reference.cpp.

Referenced by llfat_reference().