QUDA
1.0.0
|
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <quda.h>
#include "test_util.h"
#include "gauge_field.h"
#include "misc.h"
#include "hisq_force_reference.h"
#include "ks_improved_force.h"
#include "momentum.h"
#include <dslash_quda.h>
#include <sys/time.h>
Go to the source code of this file.
Macros | |
#define | TDIFF(a, b) (b.tv_sec - a.tv_sec + 0.000001*(b.tv_usec - a.tv_usec)) |
Functions | |
void | usage (char **argv) |
static void | setPrecision (QudaPrecision precision) |
void | total_staple_io_flops (QudaPrecision prec, QudaReconstructType recon, double *io, double *flops) |
static void | hisq_force_init () |
static void | hisq_force_end () |
static int | hisq_force_test (void) |
static void | display_test_info () |
int | main (int argc, char **argv) |
#define TDIFF | ( | a, | |
b | |||
) | (b.tv_sec - a.tv_sec + 0.000001*(b.tv_usec - a.tv_usec)) |
Definition at line 15 of file hisq_paths_force_test.cpp.
Referenced by hisq_force_test().
|
static |
Definition at line 411 of file hisq_paths_force_test.cpp.
References gauge_order, get_gauge_order_str(), get_prec_str(), get_recon_str(), link_prec, link_recon, printfQuda, tdim, xdim, ydim, and zdim.
Referenced by main().
|
static |
Definition at line 282 of file hisq_paths_force_test.cpp.
References cpuForce_ex, cpuGauge, cpuGauge_ex, cpuLongLinkOprod, cpuLongLinkOprod_ex, cpuMom, cpuOprod, cpuOprod_ex, cudaForce_ex, cudaGauge, cudaGauge_ex, cudaLongLinkOprod_ex, cudaMom, endQuda(), hw, and refMom.
Referenced by hisq_force_test().
|
static |
Definition at line 172 of file hisq_paths_force_test.cpp.
References QudaGaugeParam_s::anisotropy, comm_dim_partitioned(), computeLinkOrderedOuterProduct(), quda::copyExtendedGauge(), QudaGaugeParam_s::cpu_prec, quda::GaugeFieldParam::create, createHwCPU(), createSiteLinkCPU(), QudaGaugeParam_s::cuda_prec, device, errorQuda, gauge_order, quda::cpuGaugeField::Gauge_p(), quda::LatticeFieldParam::ghostExchange, hw, hw_prec, hwSiteSize, initQuda(), link_prec, link_recon, quda::GaugeFieldParam::link_type, quda::GaugeFieldParam::order, quda::LatticeFieldParam::pad, prec, QUDA_ASQTAD_MOM_LINKS, QUDA_CPU_FIELD_LOCATION, QUDA_FLOAT2_GAUGE_ORDER, QUDA_GENERAL_LINKS, QUDA_GHOST_EXCHANGE_EXTENDED, QUDA_GHOST_EXCHANGE_NO, QUDA_MILC_GAUGE_ORDER, QUDA_NULL_FIELD_CREATE, QUDA_QDP_GAUGE_ORDER, QUDA_RECONSTRUCT_10, QUDA_RECONSTRUCT_NO, QUDA_ZERO_FIELD_CREATE, quda::LatticeFieldParam::r, R, quda::GaugeFieldParam::reconstruct, QudaGaugeParam_s::reconstruct, setDims(), quda::GaugeFieldParam::setPrecision(), QudaGaugeParam_s::site_ga_pad, tdim, quda::LatticeField::Volume(), QudaGaugeParam_s::X, quda::LatticeFieldParam::x, xdim, ydim, and zdim.
Referenced by hisq_force_test().
|
static |
Definition at line 307 of file hisq_paths_force_test.cpp.
References checkCudaError, comm_dim_partitioned(), compare_floats(), QudaGaugeParam_s::cpu_prec, quda::GaugeFieldParam::create, cudaOprod_ex, quda::cudaGaugeField::exchangeExtendedGhost(), quda::cpuGaugeField::exchangeExtendedGhost(), quda::cpuGaugeField::Gauge_p(), hisq_force_end(), hisq_force_init(), quda::fermion_force::hisqCompleteForce(), hisqCompleteForceCPU(), quda::fermion_force::hisqLongLinkForce(), hisqLongLinkForceCPU(), quda::fermion_force::hisqStaplesForce(), hisqStaplesForceCPU(), link_prec, link_recon, quda::GaugeFieldParam::link_type, quda::cudaGaugeField::loadCPUField(), QudaGaugeParam_s::mom_ga_pad, momSiteSize, quda::GaugeFieldParam::order, quda::LatticeFieldParam::pad, printfQuda, QUDA_ASQTAD_MOM_LINKS, QUDA_FLOAT2_GAUGE_ORDER, QUDA_RECONSTRUCT_10, QUDA_VERBOSE, QUDA_ZERO_FIELD_CREATE, quda::LatticeFieldParam::r, R, quda::LatticeField::R(), quda::GaugeFieldParam::reconstruct, quda::cudaGaugeField::saveCPUField(), setVerbosity(), strong_check_mom(), TDIFF, total_staple_io_flops(), quda::updateMomentum(), verify_results, quda::LatticeField::Volume(), and quda::LatticeFieldParam::x.
Referenced by main().
int main | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 425 of file hisq_paths_force_test.cpp.
References display_test_info(), errorQuda, finalizeComms(), gauge_order, gridsize_from_cmdline, hisq_force_test(), initComms(), prec, process_command_line_option(), QUDA_MILC_GAUGE_ORDER, QUDA_QDP_GAUGE_ORDER, setPrecision(), and usage().
|
static |
Definition at line 66 of file hisq_paths_force_test.cpp.
References cpu_hw_prec, hw_prec, link_prec, and mom_prec.
Referenced by main().
void total_staple_io_flops | ( | QudaPrecision | prec, |
QudaReconstructType | recon, | ||
double * | io, | ||
double * | flops | ||
) |
Definition at line 75 of file hisq_paths_force_test.cpp.
References printfQuda, R, and V.
Referenced by hisq_force_test().
void usage | ( | char ** | argv | ) |
Definition at line 1783 of file test_util.cpp.
Referenced by main().
QudaPrecision cpu_hw_prec = QUDA_DOUBLE_PRECISION |
Definition at line 51 of file hisq_paths_force_test.cpp.
Referenced by setPrecision().
cpuGaugeField* cpuForce = NULL |
Definition at line 25 of file hisq_paths_force_test.cpp.
Referenced by computeStaggeredForceQuda().
cpuGaugeField* cpuForce_ex = NULL |
Definition at line 57 of file hisq_paths_force_test.cpp.
Referenced by hisq_force_end().
cpuGaugeField* cpuGauge = NULL |
Definition at line 22 of file hisq_paths_force_test.cpp.
Referenced by computeGaugeFixingFFTQuda(), computeGaugeFixingOVRQuda(), createGaugeFieldQuda(), hisq_force_end(), projectSU3Quda(), saveGaugeFieldQuda(), saveGaugeQuda(), staggeredPhaseQuda(), and updateGaugeFieldQuda().
cpuGaugeField* cpuGauge_ex = NULL |
Definition at line 55 of file hisq_paths_force_test.cpp.
Referenced by hisq_force_end().
cpuGaugeField* cpuLongLinkOprod = NULL |
Definition at line 39 of file hisq_paths_force_test.cpp.
Referenced by hisq_force_end().
cpuGaugeField* cpuLongLinkOprod_ex = NULL |
Definition at line 60 of file hisq_paths_force_test.cpp.
Referenced by hisq_force_end().
cpuGaugeField* cpuMom = NULL |
Definition at line 28 of file hisq_paths_force_test.cpp.
Referenced by computeCloverForceQuda(), computeGaugeForceQuda(), computeHISQForceQuda(), computeStaggeredForceQuda(), hisq_force_end(), momActionQuda(), and updateGaugeFieldQuda().
cpuGaugeField* cpuOprod = NULL |
Definition at line 37 of file hisq_paths_force_test.cpp.
Referenced by hisq_force_end().
cpuGaugeField* cpuOprod_ex = NULL |
Definition at line 58 of file hisq_paths_force_test.cpp.
Referenced by hisq_force_end().
cudaGaugeField* cudaForce = NULL |
Definition at line 24 of file hisq_paths_force_test.cpp.
Referenced by computeCloverForceQuda(), and computeStaggeredForceQuda().
cudaGaugeField* cudaForce_ex = NULL |
Definition at line 56 of file hisq_paths_force_test.cpp.
Referenced by hisq_force_end().
cudaGaugeField* cudaGauge = NULL |
Definition at line 21 of file hisq_paths_force_test.cpp.
Referenced by checkGauge(), computeGaugeForceQuda(), computeHISQForceQuda(), createGaugeFieldQuda(), quda::deflated_solver::deflated_solver(), eigensolveQuda(), hisq_force_end(), invertMultiSrcQuda(), invertQuda(), quda::multigrid_solver::multigrid_solver(), projectSU3Quda(), saveGaugeFieldQuda(), saveGaugeQuda(), and staggeredPhaseQuda().
cudaGaugeField* cudaGauge_ex = NULL |
Definition at line 54 of file hisq_paths_force_test.cpp.
Referenced by hisq_force_end().
cudaGaugeField* cudaLongLinkOprod = NULL |
Definition at line 40 of file hisq_paths_force_test.cpp.
cudaGaugeField* cudaLongLinkOprod_ex = NULL |
Definition at line 61 of file hisq_paths_force_test.cpp.
Referenced by hisq_force_end().
cudaGaugeField* cudaMom = NULL |
Definition at line 27 of file hisq_paths_force_test.cpp.
Referenced by computeCloverForceQuda(), computeGaugeForceQuda(), computeHISQForceQuda(), computeStaggeredForceQuda(), hisq_force_end(), momActionQuda(), and updateGaugeFieldQuda().
cudaGaugeField* cudaOprod = NULL |
Definition at line 38 of file hisq_paths_force_test.cpp.
cudaGaugeField* cudaOprod_ex = NULL |
Definition at line 59 of file hisq_paths_force_test.cpp.
Referenced by hisq_force_test().
int device |
Definition at line 1602 of file test_util.cpp.
Referenced by hisq_force_init().
QudaGaugeFieldOrder gauge_order = QUDA_QDP_GAUGE_ORDER |
Definition at line 35 of file hisq_paths_force_test.cpp.
Referenced by LoadStore< Real >::addData(), display_test_info(), LoadStore< Real >::getData(), hisq_force_init(), and main().
GaugeFieldParam gParam |
Definition at line 64 of file hisq_paths_force_test.cpp.
Referenced by computeGaugeFixingFFTQuda(), computeGaugeFixingOVRQuda(), computeGaugeForceQuda(), computeHISQLinksCPU(), computeKSLinkQuda(), computeStaggeredForceQuda(), createGaugeFieldQuda(), quda::DiracCoarse::createY(), quda::DiracCoarse::createYhat(), quda::fatLongKSLink(), hisq_force_init(), hisq_test(), initFields(), main(), momActionQuda(), performAPEnStep(), performOvrImpSTOUTnStep(), performSTOUTnStep(), performWuppertalnStep(), projectSU3Quda(), saveGaugeFieldQuda(), GaugeAlgTest::SetUp(), staggeredPhaseQuda(), unitarize_link_test(), and updateGaugeFieldQuda().
GaugeFieldParam gParam_ex |
Definition at line 63 of file hisq_paths_force_test.cpp.
int gridsize_from_cmdline[] |
For MPI, the default node mapping is lexicographical with t varying fastest.
Definition at line 49 of file test_util.cpp.
Referenced by main().
|
static |
Definition at line 33 of file hisq_paths_force_test.cpp.
Referenced by computeLinkOrderedOuterProduct(), forward_shifted_outer_prod(), hisq_force_end(), hisq_force_init(), shifted_outer_prod(), and u_shift_hw().
QudaPrecision hw_prec = QUDA_DOUBLE_PRECISION |
Definition at line 50 of file hisq_paths_force_test.cpp.
Referenced by hisq_force_init(), and setPrecision().
QudaPrecision link_prec = QUDA_DOUBLE_PRECISION |
Definition at line 49 of file hisq_paths_force_test.cpp.
Referenced by display_test_info(), hisq_force_init(), hisq_force_test(), and setPrecision().
QudaReconstructType link_recon |
Definition at line 1605 of file test_util.cpp.
Referenced by display_test_info(), hisq_force_init(), and hisq_force_test().
QudaPrecision mom_prec = QUDA_DOUBLE_PRECISION |
Definition at line 52 of file hisq_paths_force_test.cpp.
Referenced by setPrecision().
int ODD_BIT = 1 |
Definition at line 43 of file hisq_paths_force_test.cpp.
QudaPrecision prec |
Definition at line 1608 of file test_util.cpp.
Referenced by hisq_force_init(), and main().
|
static |
Definition at line 31 of file hisq_paths_force_test.cpp.
|
static |
Definition at line 32 of file hisq_paths_force_test.cpp.
|
static |
Definition at line 167 of file hisq_paths_force_test.cpp.
Referenced by hisq_force_init(), hisq_force_test(), and total_staple_io_flops().
cpuGaugeField* refMom = NULL |
Definition at line 29 of file hisq_paths_force_test.cpp.
Referenced by hisq_force_end().
int tdim |
Definition at line 1618 of file test_util.cpp.
Referenced by display_test_info(), and hisq_force_init().
bool verify_results |
Definition at line 1643 of file test_util.cpp.
Referenced by hisq_force_test().
int xdim |
Definition at line 1615 of file test_util.cpp.
Referenced by display_test_info(), and hisq_force_init().
int ydim |
Definition at line 1616 of file test_util.cpp.
Referenced by display_test_info(), and hisq_force_init().
int zdim |
Definition at line 1617 of file test_util.cpp.
Referenced by display_test_info(), and hisq_force_init().