|
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().
1.8.13