QUDA  0.9.0
Classes | Macros | Functions | Variables
llfat_reference.cpp File Reference
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <quda.h>
#include <test_util.h>
#include "llfat_reference.h"
#include "misc.h"
#include <string.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)
 

Variables

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

Macro Definition Documentation

◆ TUP

#define TUP   3

◆ XUP

#define XUP   0

◆ YUP

#define YUP   1

Definition at line 15 of file llfat_reference.cpp.

Referenced by site_link_sanity_check_internal_12().

◆ ZUP

#define ZUP   2

Definition at line 16 of file llfat_reference.cpp.

Referenced by site_link_sanity_check_internal_12().

Function Documentation

◆ computeLongLinkCPU() [1/2]

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

Definition at line 299 of file llfat_reference.cpp.

References fused_exterior_ndeg_tm_dslash_cuda_gen::i, llfat_mult_su3_nn(), llfat_scalar_mult_su3_matrix(), longlink, neighborIndexFullLattice(), TUP, V, XUP, and Z.

Referenced by 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 360 of file llfat_reference.cpp.

References computeLongLinkCPU(), exit(), fprintf(), longlink, prec, QUDA_DOUBLE_PRECISION, and QUDA_SINGLE_PRECISION.

Here is the call 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 104 of file llfat_reference.cpp.

References a, b, c, and fused_exterior_ndeg_tm_dslash_cuda_gen::i.

Referenced by llfat_compute_gen_staple_field().

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 116 of file llfat_reference.cpp.

References exit(), fatlink, fprintf(), fused_exterior_ndeg_tm_dslash_cuda_gen::i, 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 231 of file llfat_reference.cpp.

References exit(), fatlink, fprintf(), free(), fused_exterior_ndeg_tm_dslash_cuda_gen::i, llfat_compute_gen_staple_field(), llfat_scalar_mult_su3_matrix(), malloc(), 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 84 of file llfat_reference.cpp.

References a, b, c, conj(), fused_exterior_ndeg_tm_dslash_cuda_gen::i, x, and y.

Referenced by llfat_compute_gen_staple_field().

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 52 of file llfat_reference.cpp.

References a, b, c, conj(), fused_exterior_ndeg_tm_dslash_cuda_gen::i, x, and y.

Referenced by llfat_compute_gen_staple_field().

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 68 of file llfat_reference.cpp.

References a, b, c, fused_exterior_ndeg_tm_dslash_cuda_gen::i, x, and y.

Referenced by computeLongLinkCPU(), and llfat_compute_gen_staple_field().

Here is the caller graph for this function:

◆ llfat_reference()

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

Definition at line 382 of file llfat_reference.cpp.

References exit(), fatlink, fprintf(), llfat_cpu(), prec, QUDA_DOUBLE_PRECISION, QUDA_SINGLE_PRECISION, Vs, Vs_t, Vs_x, Vs_y, Vs_z, Vsh, Vsh_t, Vsh_x, Vsh_y, and Vsh_z.

Referenced by llfat_test().

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

◆ 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 41 of file llfat_reference.cpp.

References a, b, c, fused_exterior_ndeg_tm_dslash_cuda_gen::i, and s.

Referenced by llfat_compute_gen_staple_field().

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 28 of file llfat_reference.cpp.

References a, b, fused_exterior_ndeg_tm_dslash_cuda_gen::i, and s.

Referenced by computeLongLinkCPU(), and llfat_cpu().

Here is the caller graph for this function:

Variable Documentation

◆ Vs

int Vs[4]
static

Definition at line 23 of file llfat_reference.cpp.

Referenced by llfat_reference(), and llfat_test().

◆ Vsh

int Vsh[4]
static

Definition at line 24 of file llfat_reference.cpp.

Referenced by llfat_reference().