QUDA
1.0.0
|
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <type_traits>
#include "quda.h"
#include "test_util.h"
#include "misc.h"
#include "gauge_force_reference.h"
Go to the source code of this file.
Classes | |
struct | fcomplex |
struct | dcomplex |
struct | fsu3_matrix |
struct | fsu3_vector |
struct | dsu3_matrix |
struct | dsu3_vector |
struct | fanti_hermitmat |
struct | danti_hermitmat |
Macros | |
#define | CADD(a, b, c) |
#define | CMUL(a, b, c) |
#define | CSUM(a, b) { (a).real += (b).real; (a).imag += (b).imag; } |
#define | CMULJ_(a, b, c) |
#define | CMUL_J(a, b, c) |
#define | CONJG(a, b) { (b).real = (a).real; (b).imag = -(a).imag; } |
Functions | |
int | neighborIndexFullLattice (int i, int dx4, int dx3, int dx2, int dx1) |
template<typename su3_matrix > | |
void | su3_adjoint (su3_matrix *a, su3_matrix *b) |
template<typename su3_matrix , typename anti_hermitmat > | |
void | make_anti_hermitian (su3_matrix *m3, anti_hermitmat *ah3) |
template<typename anti_hermitmat , typename su3_matrix > | |
static void | uncompress_anti_hermitian (anti_hermitmat *mat_antihermit, su3_matrix *mat_su3) |
template<typename su3_matrix , typename Float > | |
static void | scalar_mult_sub_su3_matrix (su3_matrix *a, su3_matrix *b, Float s, su3_matrix *c) |
template<typename su3_matrix , typename Float > | |
static void | scalar_mult_add_su3_matrix (su3_matrix *a, su3_matrix *b, Float s, su3_matrix *c) |
template<typename su3_matrix > | |
static void | mult_su3_nn (su3_matrix *a, su3_matrix *b, su3_matrix *c) |
template<typename su3_matrix > | |
static void | mult_su3_an (su3_matrix *a, su3_matrix *b, su3_matrix *c) |
template<typename su3_matrix > | |
static void | mult_su3_na (su3_matrix *a, su3_matrix *b, su3_matrix *c) |
template<typename su3_matrix > | |
void | print_su3_matrix (su3_matrix *a) |
int | gf_neighborIndexFullLattice (int i, int dx4, int dx3, int dx2, int dx1) |
template<typename su3_matrix , typename Float > | |
static void | compute_path_product (su3_matrix *staple, su3_matrix **sitelink, su3_matrix **sitelink_ex_2d, int *path, int len, Float loop_coeff, int dir) |
template<typename su3_matrix , typename anti_hermitmat , typename Float > | |
static void | update_mom (anti_hermitmat *momentum, int dir, su3_matrix **sitelink, su3_matrix *staple, Float eb3) |
void | gauge_force_reference_dir (void *refMom, int dir, double eb3, void **sitelink, void **sitelink_ex_2d, QudaPrecision prec, int **path_dir, int *length, void *loop_coeff, int num_paths) |
void | gauge_force_reference (void *refMom, double eb3, void **sitelink, void **sitelink_ex_2d, QudaPrecision prec, int ***path_dir, int *length, void *loop_coeff, int num_paths) |
Variables | |
int | Z [4] |
int | V |
int | Vh |
int | Vh_ex |
int | E [4] |
#define CADD | ( | a, | |
b, | |||
c | |||
) |
Definition at line 19 of file gauge_force_reference.cpp.
#define CMUL | ( | a, | |
b, | |||
c | |||
) |
Definition at line 21 of file gauge_force_reference.cpp.
Referenced by mult_su3_nn().
#define CMUL_J | ( | a, | |
b, | |||
c | |||
) |
Definition at line 30 of file gauge_force_reference.cpp.
Referenced by mult_su3_na().
#define CMULJ_ | ( | a, | |
b, | |||
c | |||
) |
Definition at line 26 of file gauge_force_reference.cpp.
Referenced by mult_su3_an().
#define CONJG | ( | a, | |
b | |||
) | { (b).real = (a).real; (b).imag = -(a).imag; } |
Definition at line 33 of file gauge_force_reference.cpp.
Referenced by su3_adjoint().
#define CSUM | ( | a, | |
b | |||
) | { (a).real += (b).real; (a).imag += (b).imag; } |
Definition at line 23 of file gauge_force_reference.cpp.
Referenced by mult_su3_an(), mult_su3_na(), and mult_su3_nn().
|
static |
Definition at line 277 of file gauge_force_reference.cpp.
References su3_matrix< real >::e, gf_neighborIndexFullLattice(), GOES_FORWARDS, memset(), mult_su3_na(), mult_su3_nn(), OPP_DIR, scalar_mult_add_su3_matrix(), su3_adjoint(), and V.
Referenced by gauge_force_reference_dir().
void gauge_force_reference | ( | void * | refMom, |
double | eb3, | ||
void ** | sitelink, | ||
void ** | sitelink_ex_2d, | ||
QudaPrecision | prec, | ||
int *** | path_dir, | ||
int * | length, | ||
void * | loop_coeff, | ||
int | num_paths | ||
) |
Definition at line 408 of file gauge_force_reference.cpp.
References gauge_force_reference_dir().
Referenced by gauge_force_test().
void gauge_force_reference_dir | ( | void * | refMom, |
int | dir, | ||
double | eb3, | ||
void ** | sitelink, | ||
void ** | sitelink_ex_2d, | ||
QudaPrecision | prec, | ||
int ** | path_dir, | ||
int * | length, | ||
void * | loop_coeff, | ||
int | num_paths | ||
) |
Definition at line 369 of file gauge_force_reference.cpp.
References compute_path_product(), gaugeSiteSize, gSize, memset(), prec, QUDA_DOUBLE_PRECISION, update_mom(), and V.
Referenced by gauge_force_reference().
int gf_neighborIndexFullLattice | ( | int | i, |
int | dx4, | ||
int | dx3, | ||
int | dx2, | ||
int | dx1 | ||
) |
Definition at line 217 of file gauge_force_reference.cpp.
References E, Vh, Vh_ex, X1, X2, X3, and Z.
Referenced by compute_path_product().
void make_anti_hermitian | ( | su3_matrix * | m3, |
anti_hermitmat * | ah3 | ||
) |
Definition at line 77 of file gauge_force_reference.cpp.
References su3_matrix< real >::e.
Referenced by update_mom().
|
static |
Definition at line 167 of file gauge_force_reference.cpp.
References CMULJ_, CSUM, and su3_matrix< real >::e.
|
static |
Definition at line 185 of file gauge_force_reference.cpp.
References CMUL_J, CSUM, and su3_matrix< real >::e.
Referenced by compute_path_product(), and update_mom().
|
static |
Definition at line 150 of file gauge_force_reference.cpp.
References CMUL, CSUM, and su3_matrix< real >::e.
Referenced by compute_path_product().
int neighborIndexFullLattice | ( | int | i, |
int | dx4, | ||
int | dx3, | ||
int | dx2, | ||
int | dx1 | ||
) |
Definition at line 556 of file test_util.cpp.
Referenced by computeLinkOrderedOuterProduct(), computeLongLinkCPU(), forward_shifted_outer_prod(), llfat_compute_gen_staple_field(), shifted_outer_prod(), u_shift_hw(), and u_shift_mat().
void print_su3_matrix | ( | su3_matrix * | a | ) |
Definition at line 203 of file gauge_force_reference.cpp.
References su3_matrix< real >::e.
|
static |
Definition at line 137 of file gauge_force_reference.cpp.
References su3_matrix< real >::e.
Referenced by compute_path_product().
|
static |
Definition at line 124 of file gauge_force_reference.cpp.
References su3_matrix< real >::e.
Referenced by update_mom().
void su3_adjoint | ( | su3_matrix * | a, |
su3_matrix * | b | ||
) |
Definition at line 66 of file gauge_force_reference.cpp.
References CONJG, and su3_matrix< real >::e.
Referenced by compute_path_product().
|
static |
Definition at line 95 of file gauge_force_reference.cpp.
References su3_matrix< real >::e.
Referenced by update_mom().
|
static |
Definition at line 339 of file gauge_force_reference.cpp.
References make_anti_hermitian(), mult_su3_na(), scalar_mult_sub_su3_matrix(), uncompress_anti_hermitian(), and V.
Referenced by gauge_force_reference_dir().
int E[4] |
Definition at line 35 of file test_util.cpp.
Referenced by computeLongLinkCPU(), quda::computeMomAction(), quda::copySpinorEx(), exchange_cpu_sitelink_ex(), quda::extendedCopyColorSpinor(), and gf_neighborIndexFullLattice().
int V |
Definition at line 27 of file test_util.cpp.
Referenced by compute_path_product(), gauge_force_reference_dir(), and update_mom().
int Vh |
Definition at line 28 of file test_util.cpp.
Referenced by gf_neighborIndexFullLattice().
int Vh_ex |
Definition at line 36 of file test_util.cpp.
Referenced by computeHISQLinksCPU(), exchange_cpu_sitelink_ex(), gauge_force_test(), gf_neighborIndexFullLattice(), and llfat_test().
int Z[4] |
Definition at line 26 of file test_util.cpp.
Referenced by gf_neighborIndexFullLattice().