QUDA
1.0.0
|
#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>
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] |
#define TUP 3 |
Definition at line 20 of file llfat_reference.cpp.
Referenced by computeLongLinkCPU(), llfat_cpu(), and llfat_reference().
#define XUP 0 |
Definition at line 17 of file llfat_reference.cpp.
Referenced by computeLongLinkCPU(), llfat_cpu(), and llfat_reference().
#define YUP 1 |
Definition at line 18 of file llfat_reference.cpp.
#define ZUP 2 |
Definition at line 19 of file llfat_reference.cpp.
void computeHISQLinksCPU | ( | void ** | fatlink, |
void ** | longlink, | ||
void ** | fatlink_eps, | ||
void ** | longlink_eps, | ||
void ** | sitelink, | ||
void * | qudaGaugeParamPtr, | ||
double ** | act_path_coeffs, | ||
double | eps_naik | ||
) |
Definition at line 912 of file llfat_reference.cpp.
References computeLongLinkCPU(), cpu_axy(), QudaGaugeParam_s::cpu_prec, cpu_xpy(), quda::GaugeFieldParam::create, E1h, E2, E3, exchange_cpu_sitelink(), exchange_cpu_sitelink_ex(), quda::GaugeFieldParam::gauge, quda::cpuGaugeField::Gauge_p(), gaugeSiteSize, quda::LatticeFieldParam::ghostExchange, gParam, gSize, host_free, quda::GaugeFieldParam::link_type, llfat_reference(), llfat_reference_mg(), memset(), mu, n_naiks, quda::GaugeFieldParam::order, quda::LatticeFieldParam::pad, pinned_malloc, prec, QUDA_DOUBLE_PRECISION, QUDA_GENERAL_LINKS, QUDA_GHOST_EXCHANGE_NO, QUDA_MILC_GAUGE_ORDER, QUDA_QDP_GAUGE_ORDER, QUDA_REFERENCE_FIELD_CREATE, QUDA_ZERO_FIELD_CREATE, qudaGaugeParam, R, reorderMILCtoQDP(), reorderQDPtoMILC(), safe_malloc, quda::unitarizeLinksCPU(), V, V_ex, Vh, Vh_ex, Vs, Vs_t, Vs_x, Vs_y, Vs_z, QudaGaugeParam_s::X, quda::LatticeFieldParam::x, X1, X2, X3, X4, and Z.
Referenced by computeFatLongGPUandCPU(), and hisq_test().
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().
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.
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().
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().
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().
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().
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().
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().
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().
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().
void llfat_reference | ( | void ** | fatlink, |
void ** | sitelink, | ||
QudaPrecision | prec, | ||
void * | act_path_coeff | ||
) |
Definition at line 387 of file llfat_reference.cpp.
References exchange_cpu_staple(), fatlink, llfat_add_su3_matrix(), llfat_cpu(), llfat_mult_su3_an(), llfat_mult_su3_na(), llfat_mult_su3_nn(), llfat_reference_mg(), llfat_scalar_mult_add_su3_matrix(), llfat_scalar_mult_su3_matrix(), memset(), mu, neighborIndexFullLattice_mg(), prec, QUDA_DOUBLE_PRECISION, QUDA_SINGLE_PRECISION, TUP, V, Vh, Vs, Vs_t, Vs_x, Vs_y, Vs_z, Vsh, Vsh_t, Vsh_x, Vsh_y, Vsh_z, X1, X2, X3, XUP, and Z.
Referenced by computeHISQLinksCPU(), and llfat_test().
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().
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().
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().
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.
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().
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.
|
static |
Definition at line 28 of file llfat_reference.cpp.
Referenced by computeHISQLinksCPU(), and llfat_reference().
|
static |
Definition at line 29 of file llfat_reference.cpp.
Referenced by llfat_reference().