QUDA  1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Macros | Functions | Variables
invert_test.cpp File Reference
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <math.h>
#include <string.h>
#include <limits>
#include <util_quda.h>
#include <random_quda.h>
#include <test_util.h>
#include <dslash_util.h>
#include <blas_reference.h>
#include <wilson_dslash_reference.h>
#include <domain_wall_dslash_reference.h>
#include "misc.h"
#include <qio_field.h>
#include <quda.h>
Include dependency graph for invert_test.cpp:

Go to the source code of this file.

Macros

#define MAX(a, b)   ((a)>(b)?(a):(b))
 

Functions

void usage (char **)
 
void display_test_info ()
 
int main (int argc, char **argv)
 

Variables

QudaDslashType dslash_type
 
QudaTwistFlavorType twist_flavor
 
int device
 
int xdim
 
int ydim
 
int zdim
 
int tdim
 
int Lsdim
 
int gridsize_from_cmdline []
 
QudaPrecision prec
 
QudaPrecision prec_sloppy
 
QudaPrecision prec_precondition
 
QudaPrecision prec_refinement_sloppy
 
QudaReconstructType link_recon
 
QudaReconstructType link_recon_sloppy
 
QudaReconstructType link_recon_precondition
 
QudaInverterType inv_type
 
double reliable_delta
 
bool alternative_reliable
 
QudaInverterType precon_type
 
int multishift
 
double mass
 
double kappa
 
double mu
 
double epsilon
 
double anisotropy
 
double tol
 
double tol_hq
 
QudaMassNormalization normalization
 
QudaMatPCType matpc_type
 
QudaSolutionType solution_type
 
QudaSolveType solve_type
 
double clover_coeff
 
bool compute_clover
 
QudaVerbosity verbosity
 
QudaVerbosity mg_verbosity [QUDA_MAX_MG_LEVEL]
 
int Nsrc
 
int niter
 
int gcrNkrylov
 
QudaCABasis ca_basis
 
double ca_lambda_min
 
double ca_lambda_max
 
int pipeline
 
int solution_accumulator_pipeline
 
char latfile []
 
bool unit_gauge
 

Macro Definition Documentation

◆ MAX

#define MAX (   a,
 
)    ((a)>(b)?(a):(b))

Definition at line 19 of file invert_test.cpp.

Referenced by main().

Function Documentation

◆ display_test_info()

void display_test_info ( )

Definition at line 83 of file invert_test.cpp.

References dimPartitioned(), dslash_type, get_dslash_str(), get_mass_normalization_str(), get_matpc_str(), get_prec_str(), get_recon_str(), link_recon, link_recon_sloppy, Lsdim, matpc_type, multishift, normalization, prec, prec_sloppy, printfQuda, tdim, xdim, ydim, and zdim.

Referenced by main().

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

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 107 of file invert_test.cpp.

References alternative_reliable, QudaGaugeParam_s::anisotropy, anisotropy, quda::blas::ax(), quda::blas::axpy(), QudaInvertParam_s::b_5, QudaInvertParam_s::c_5, ca_basis, QudaInvertParam_s::ca_basis, ca_lambda_max, QudaInvertParam_s::ca_lambda_max, ca_lambda_min, QudaInvertParam_s::ca_lambda_min, QudaInvertParam_s::cl_pad, clover_coeff, QudaInvertParam_s::clover_coeff, QudaInvertParam_s::clover_cpu_prec, QudaInvertParam_s::clover_cuda_prec, QudaInvertParam_s::clover_cuda_prec_precondition, QudaInvertParam_s::clover_cuda_prec_refinement_sloppy, QudaInvertParam_s::clover_cuda_prec_sloppy, clover_mat(), clover_matpc(), QudaInvertParam_s::clover_order, cloverSiteSize, compute_clover, QudaInvertParam_s::compute_clover, QudaInvertParam_s::compute_clover_inverse, construct_clover_field(), construct_gauge_field(), construct_spinor_source(), QudaGaugeParam_s::cpu_prec, cpu_prec, QudaInvertParam_s::cpu_prec, QudaGaugeParam_s::cuda_prec, cuda_prec, QudaInvertParam_s::cuda_prec, QudaGaugeParam_s::cuda_prec_precondition, cuda_prec_precondition, QudaInvertParam_s::cuda_prec_precondition, QudaGaugeParam_s::cuda_prec_refinement_sloppy, cuda_prec_refinement_sloppy, QudaInvertParam_s::cuda_prec_refinement_sloppy, QudaGaugeParam_s::cuda_prec_sloppy, cuda_prec_sloppy, QudaInvertParam_s::cuda_prec_sloppy, QudaInvertParam_s::dagger, device, QudaInvertParam_s::dirac_order, display_test_info(), dslash_type, QudaInvertParam_s::dslash_type, dw_4d_mat(), dw_4d_matpc(), dw_mat(), dw_matpc(), dw_setDims(), endQuda(), epsilon, QudaInvertParam_s::epsilon, errorQuda, finalizeComms(), freeCloverQuda(), freeGaugeQuda(), QudaGaugeParam_s::ga_pad, QudaInvertParam_s::gamma_basis, QudaGaugeParam_s::gauge_fix, QudaGaugeParam_s::gauge_order, gauge_param, gaugeSiteSize, gcrNkrylov, QudaInvertParam_s::gcrNkrylov, QudaInvertParam_s::gflops, gridsize_from_cmdline, gSize, initComms(), initQuda(), QudaInvertParam_s::input_location, inv_param, inv_type, QudaInvertParam_s::inv_type, QudaInvertParam_s::inv_type_precondition, invertMultiShiftQuda(), invertQuda(), QudaInvertParam_s::iter, kappa, QudaInvertParam_s::kappa, kappa5, latfile, link_recon, link_recon_precondition, link_recon_sloppy, loadCloverQuda(), loadGaugeQuda(), QudaInvertParam_s::Ls, Lsdim, QudaInvertParam_s::m5, mass, QudaInvertParam_s::mass, QudaInvertParam_s::mass_normalization, matpc_type, QudaInvertParam_s::matpc_type, MAX, QudaInvertParam_s::max_res_increase, QudaInvertParam_s::maxiter, QudaInvertParam_s::maxiter_precondition, mdw_mat(), mdw_matpc(), mg_verbosity, mu, QudaInvertParam_s::mu, multishift, quda::blas::mxpy(), newQudaGaugeParam(), newQudaInvertParam(), niter, quda::norm(), norm_2(), normalization, Nsrc, QudaInvertParam_s::Nsteps, QudaInvertParam_s::num_offset, QudaInvertParam_s::offset, QudaInvertParam_s::omega, QudaInvertParam_s::output_location, pipeline, QudaInvertParam_s::pipeline, plaqQuda(), prec, prec_precondition, prec_refinement_sloppy, prec_sloppy, precon_type, QudaInvertParam_s::precondition_cycle, QudaInvertParam_s::preserve_source, printfQuda, process_command_line_option(), QUDA_ADDITIVE_SCHWARZ, QUDA_CLOVER_WILSON_DSLASH, QUDA_CPU_FIELD_LOCATION, QUDA_DAG_NO, QUDA_DEFAULT_NORMALIZATION, QUDA_DEGRAND_ROSSI_GAMMA_BASIS, QUDA_DIRAC_ORDER, QUDA_DOMAIN_WALL_4D_DSLASH, QUDA_DOMAIN_WALL_DSLASH, QUDA_DOUBLE_PRECISION, QUDA_GAUGE_FIXED_NO, QUDA_HEAVY_QUARK_RESIDUAL, QUDA_INVALID_PRECISION, QUDA_L2_RELATIVE_RESIDUAL, QUDA_MASS_NORMALIZATION, QUDA_MAT_SOLUTION, QUDA_MATPC_SOLUTION, QUDA_MATPCDAG_MATPC_SOLUTION, QUDA_MOBIUS_DWF_DSLASH, QUDA_PACKED_CLOVER_ORDER, QUDA_PERIODIC_T, QUDA_PRESERVE_SOURCE_YES, QUDA_QDP_GAUGE_ORDER, QUDA_RECONSTRUCT_INVALID, QUDA_SILENT, QUDA_TWIST_NONDEG_DOUBLET, QUDA_TWIST_SINGLET, QUDA_TWISTED_CLOVER_DSLASH, QUDA_TWISTED_MASS_DSLASH, QUDA_WILSON_DSLASH, QUDA_WILSON_LINKS, read_gauge_field(), QudaGaugeParam_s::reconstruct, QudaGaugeParam_s::reconstruct_precondition, QudaGaugeParam_s::reconstruct_refinement_sloppy, QudaGaugeParam_s::reconstruct_sloppy, reliable_delta, QudaInvertParam_s::reliable_delta, QudaInvertParam_s::residual_type, QudaInvertParam_s::return_clover, QudaInvertParam_s::return_clover_inverse, QudaInvertParam_s::schwarz_type, QudaInvertParam_s::secs, setDims(), setSpinorSiteSize(), solution_accumulator_pipeline, QudaInvertParam_s::solution_accumulator_pipeline, solution_type, QudaInvertParam_s::solution_type, solve_type, QudaInvertParam_s::solve_type, QudaInvertParam_s::solver_normalization, QudaInvertParam_s::sp_pad, spinorOut, spinorSiteSize, spinorTmp, quda::sqrt(), QudaGaugeParam_s::t_boundary, tdim, tm_mat(), tm_matpc(), tm_ndeg_mat(), tm_ndeg_matpc(), tmc_mat(), tmc_matpc(), tmp1, tol, QudaInvertParam_s::tol, tol_hq, QudaInvertParam_s::tol_hq, QudaInvertParam_s::tol_hq_offset, QudaInvertParam_s::tol_offset, QudaInvertParam_s::tol_precondition, QudaInvertParam_s::tol_restart, QudaInvertParam_s::true_res, QudaInvertParam_s::true_res_hq, QudaInvertParam_s::true_res_hq_offset, QudaInvertParam_s::true_res_offset, twist_flavor, QudaInvertParam_s::twist_flavor, QudaGaugeParam_s::type, unit_gauge, usage(), QudaInvertParam_s::use_alternative_reliable, QudaInvertParam_s::use_sloppy_partial_accumulator, V, verbosity, QudaInvertParam_s::verbosity, QudaInvertParam_s::verbosity_precondition, Vh, wil_mat(), wil_matpc(), QudaGaugeParam_s::X, xdim, ydim, and zdim.

Here is the call graph for this function:

◆ usage()

void usage ( char **  )

Definition at line 1783 of file test_util.cpp.

Referenced by main().

Here is the caller graph for this function:

Variable Documentation

◆ alternative_reliable

bool alternative_reliable

Definition at line 1659 of file test_util.cpp.

Referenced by main(), and quda::CG::operator()().

◆ anisotropy

double anisotropy

Definition at line 1650 of file test_util.cpp.

Referenced by main().

◆ ca_basis

QudaCABasis ca_basis

Definition at line 1631 of file test_util.cpp.

Referenced by main(), and printQudaInvertParam().

◆ ca_lambda_max

double ca_lambda_max

Definition at line 1633 of file test_util.cpp.

Referenced by main(), and printQudaInvertParam().

◆ ca_lambda_min

double ca_lambda_min

Definition at line 1632 of file test_util.cpp.

Referenced by main(), and printQudaInvertParam().

◆ clover_coeff

double clover_coeff

Definition at line 1653 of file test_util.cpp.

Referenced by main().

◆ compute_clover

bool compute_clover

Definition at line 1654 of file test_util.cpp.

Referenced by main().

◆ device

int device

Definition at line 1602 of file test_util.cpp.

Referenced by main().

◆ dslash_type

QudaDslashType dslash_type

Definition at line 1621 of file test_util.cpp.

Referenced by display_test_info(), and main().

◆ epsilon

double epsilon

Definition at line 1649 of file test_util.cpp.

Referenced by main().

◆ gcrNkrylov

int gcrNkrylov

Definition at line 1630 of file test_util.cpp.

Referenced by main().

◆ gridsize_from_cmdline

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

◆ inv_type

QudaInverterType inv_type

Definition at line 1640 of file test_util.cpp.

Referenced by main().

◆ kappa

double kappa

Definition at line 1647 of file test_util.cpp.

Referenced by main().

◆ latfile

char latfile[]

Definition at line 1623 of file test_util.cpp.

Referenced by main().

◆ link_recon

QudaReconstructType link_recon

Definition at line 1605 of file test_util.cpp.

Referenced by display_test_info(), and main().

◆ link_recon_precondition

QudaReconstructType link_recon_precondition

Definition at line 1607 of file test_util.cpp.

Referenced by main().

◆ link_recon_sloppy

QudaReconstructType link_recon_sloppy

Definition at line 1606 of file test_util.cpp.

Referenced by display_test_info(), and main().

◆ Lsdim

int Lsdim

Definition at line 1619 of file test_util.cpp.

Referenced by display_test_info(), and main().

◆ mass

double mass

Definition at line 1646 of file test_util.cpp.

Referenced by main().

◆ matpc_type

QudaMatPCType matpc_type

Definition at line 1662 of file test_util.cpp.

Referenced by display_test_info(), and main().

◆ mg_verbosity

Definition at line 1675 of file test_util.cpp.

Referenced by main().

◆ mu

double mu

Definition at line 1648 of file test_util.cpp.

Referenced by main().

◆ multishift

int multishift

Definition at line 1642 of file test_util.cpp.

Referenced by display_test_info(), and main().

◆ niter

int niter

Definition at line 1629 of file test_util.cpp.

Referenced by main().

◆ normalization

QudaMassNormalization normalization

Definition at line 1661 of file test_util.cpp.

Referenced by display_test_info(), and main().

◆ Nsrc

int Nsrc

Definition at line 1627 of file test_util.cpp.

Referenced by main().

◆ pipeline

int pipeline

Definition at line 1634 of file test_util.cpp.

Referenced by main().

◆ prec

Definition at line 1608 of file test_util.cpp.

Referenced by display_test_info(), and main().

◆ prec_precondition

QudaPrecision prec_precondition

Definition at line 1611 of file test_util.cpp.

Referenced by main().

◆ prec_refinement_sloppy

QudaPrecision prec_refinement_sloppy

Definition at line 1610 of file test_util.cpp.

Referenced by main().

◆ prec_sloppy

QudaPrecision prec_sloppy

Definition at line 1609 of file test_util.cpp.

Referenced by display_test_info(), and main().

◆ precon_type

QudaInverterType precon_type

Definition at line 1641 of file test_util.cpp.

Referenced by main().

◆ reliable_delta

double reliable_delta

Definition at line 1658 of file test_util.cpp.

Referenced by main(), and printQudaInvertParam().

◆ solution_accumulator_pipeline

int solution_accumulator_pipeline

Definition at line 1635 of file test_util.cpp.

Referenced by main(), and printQudaInvertParam().

◆ solution_type

QudaSolutionType solution_type

Definition at line 1664 of file test_util.cpp.

Referenced by main().

◆ solve_type

QudaSolveType solve_type

Definition at line 1663 of file test_util.cpp.

Referenced by main().

◆ tdim

int tdim

Definition at line 1618 of file test_util.cpp.

Referenced by display_test_info(), and main().

◆ tol

double tol

Definition at line 1656 of file test_util.cpp.

Referenced by main().

◆ tol_hq

double tol_hq

Definition at line 1657 of file test_util.cpp.

Referenced by main().

◆ twist_flavor

QudaTwistFlavorType twist_flavor

Definition at line 1660 of file test_util.cpp.

Referenced by main().

◆ unit_gauge

bool unit_gauge

Definition at line 1624 of file test_util.cpp.

Referenced by main().

◆ verbosity

QudaVerbosity verbosity

Definition at line 1614 of file test_util.cpp.

Referenced by main().

◆ xdim

int xdim

Definition at line 1615 of file test_util.cpp.

Referenced by display_test_info(), and main().

◆ ydim

int ydim

Definition at line 1616 of file test_util.cpp.

Referenced by display_test_info(), and main().

◆ zdim

int zdim

Definition at line 1617 of file test_util.cpp.

Referenced by display_test_info(), and main().