QUDA
1.0.0
|
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <math.h>
#include <string.h>
#include <algorithm>
#include <util_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>
Go to the source code of this file.
Namespaces | |
quda | |
Functions | |
void | usage (char **) |
void | quda::setTransferGPU (bool) |
void | display_test_info () |
void | setGaugeParam (QudaGaugeParam &gauge_param) |
void | setInvertParam (QudaInvertParam &inv_param) |
void | setDeflationParam (QudaEigParam &df_param) |
int | main (int argc, char **argv) |
void display_test_info | ( | ) |
Definition at line 99 of file deflated_invert_test.cpp.
References dimPartitioned(), dslash_type, get_dslash_str(), get_mass_normalization_str(), get_matpc_str(), get_memory_type_str(), get_prec_str(), get_recon_str(), get_ritz_location_str(), link_recon, link_recon_sloppy, location_ritz, Lsdim, matpc_type, mem_type_ritz, normalization, prec, prec_sloppy, printfQuda, tdim, xdim, ydim, and zdim.
Referenced by main().
int main | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 305 of file deflated_invert_test.cpp.
References quda::ax(), QudaInvertParam_s::b_5, QudaInvertParam_s::c_5, QudaInvertParam_s::clover_cpu_prec, cloverSiteSize, compute_clover, QudaInvertParam_s::compute_clover, QudaInvertParam_s::compute_clover_inverse, construct_clover_field(), construct_gauge_field(), QudaGaugeParam_s::cpu_prec, QudaInvertParam_s::cpu_prec, QudaInvertParam_s::dagger, QudaInvertParam_s::deflation_op, destroyDeflationQuda(), device, display_test_info(), dslash_type, dw_4d_mat(), dw_4d_matpc(), dw_mat(), dw_matpc(), dw_setDims(), endQuda(), epsilon, QudaInvertParam_s::epsilon, finalizeComms(), freeCloverQuda(), freeGaugeQuda(), gauge_param, gaugeSiteSize, QudaInvertParam_s::gflops, gridsize_from_cmdline, gSize, initComms(), initQuda(), initRand(), inv_param, QudaEigParam_s::invert_param, invertQuda(), QudaInvertParam_s::iter, QudaInvertParam_s::kappa, kappa5, latfile, link_recon, link_recon_precondition, link_recon_sloppy, loadCloverQuda(), loadGaugeQuda(), QudaInvertParam_s::Ls, Lsdim, QudaInvertParam_s::m5, QudaInvertParam_s::mass, QudaInvertParam_s::mass_normalization, QudaInvertParam_s::matpc_type, mdw_mat(), mdw_matpc(), memset(), QudaInvertParam_s::mu, quda::blas::mxpy(), newDeflationQuda(), newQudaEigParam(), newQudaGaugeParam(), newQudaInvertParam(), quda::norm(), norm_2(), Nsrc, prec, prec_precondition, prec_refinement_sloppy, prec_ritz, prec_sloppy, printfQuda, process_command_line_option(), QUDA_CLOVER_WILSON_DSLASH, QUDA_DOMAIN_WALL_4D_DSLASH, QUDA_DOMAIN_WALL_DSLASH, QUDA_DOUBLE_PRECISION, QUDA_INVALID_PRECISION, QUDA_MASS_NORMALIZATION, QUDA_MAT_SOLUTION, QUDA_MATPC_SOLUTION, QUDA_MOBIUS_DWF_DSLASH, QUDA_RECONSTRUCT_INVALID, QUDA_SINGLE_PRECISION, QUDA_TWIST_NONDEG_DOUBLET, QUDA_TWIST_SINGLET, QUDA_TWISTED_CLOVER_DSLASH, QUDA_TWISTED_MASS_DSLASH, QUDA_WILSON_DSLASH, read_gauge_field(), QudaInvertParam_s::return_clover, QudaInvertParam_s::return_clover_inverse, QudaInvertParam_s::rhs_idx, QudaInvertParam_s::secs, setDeflationParam(), setDims(), setGaugeParam(), setInvertParam(), setSpinorSiteSize(), QudaInvertParam_s::solution_type, spinorOut, spinorSiteSize, quda::sqrt(), tm_mat(), tm_matpc(), QudaInvertParam_s::tol, QudaInvertParam_s::tol_hq, QudaInvertParam_s::true_res, QudaInvertParam_s::true_res_hq, twist_flavor, QudaInvertParam_s::twist_flavor, unit_gauge, usage(), V, Vh, wil_mat(), wil_matpc(), and QudaGaugeParam_s::X.
void setDeflationParam | ( | QudaEigParam & | df_param | ) |
Definition at line 287 of file deflated_invert_test.cpp.
References QudaEigParam_s::cuda_prec_ritz, deflation_ext_lib, QudaInvertParam_s::deflation_grid, eig_vec_infile, eig_vec_outfile, QudaEigParam_s::extlib_type, QudaEigParam_s::import_vectors, QudaEigParam_s::invert_param, QudaEigParam_s::location, location_ritz, mem_type_ritz, QudaEigParam_s::mem_type_ritz, QudaInvertParam_s::nev, QudaEigParam_s::nk, QudaEigParam_s::np, prec_ritz, QUDA_BOOLEAN_FALSE, QudaEigParam_s::run_verify, QudaEigParam_s::vec_infile, and QudaEigParam_s::vec_outfile.
Referenced by main().
void setGaugeParam | ( | QudaGaugeParam & | gauge_param | ) |
Definition at line 128 of file deflated_invert_test.cpp.
References QudaGaugeParam_s::anisotropy, anisotropy, QudaGaugeParam_s::cpu_prec, cpu_prec, QudaGaugeParam_s::cuda_prec, cuda_prec, QudaGaugeParam_s::cuda_prec_precondition, cuda_prec_precondition, QudaGaugeParam_s::cuda_prec_refinement_sloppy, cuda_prec_refinement_sloppy, QudaGaugeParam_s::cuda_prec_sloppy, cuda_prec_sloppy, QudaGaugeParam_s::ga_pad, QudaGaugeParam_s::gauge_fix, QudaGaugeParam_s::gauge_order, link_recon, link_recon_precondition, link_recon_sloppy, QUDA_GAUGE_FIXED_NO, QUDA_PERIODIC_T, QUDA_QDP_GAUGE_ORDER, QUDA_WILSON_LINKS, QudaGaugeParam_s::reconstruct, QudaGaugeParam_s::reconstruct_precondition, QudaGaugeParam_s::reconstruct_refinement_sloppy, QudaGaugeParam_s::reconstruct_sloppy, QudaGaugeParam_s::t_boundary, tdim, QudaGaugeParam_s::type, QudaGaugeParam_s::X, xdim, ydim, and zdim.
Referenced by main().
void setInvertParam | ( | QudaInvertParam & | inv_param | ) |
For deflated solvers only:
Definition at line 170 of file deflated_invert_test.cpp.
References anisotropy, 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_sloppy, QudaInvertParam_s::clover_order, cpu_prec, QudaInvertParam_s::cpu_prec, cuda_prec, QudaInvertParam_s::cuda_prec, cuda_prec_precondition, QudaInvertParam_s::cuda_prec_precondition, cuda_prec_refinement_sloppy, QudaInvertParam_s::cuda_prec_refinement_sloppy, cuda_prec_ritz, QudaInvertParam_s::cuda_prec_ritz, cuda_prec_sloppy, QudaInvertParam_s::cuda_prec_sloppy, QudaInvertParam_s::dagger, deflation_grid, QudaInvertParam_s::deflation_grid, QudaInvertParam_s::dirac_order, dslash_type, QudaInvertParam_s::dslash_type, eigcg_max_restarts, QudaInvertParam_s::eigcg_max_restarts, eigenval_tol, QudaInvertParam_s::eigenval_tol, errorQuda, QudaInvertParam_s::extlib_type, QudaInvertParam_s::gamma_basis, QudaInvertParam_s::gcrNkrylov, inc_tol, QudaInvertParam_s::inc_tol, QudaInvertParam_s::input_location, inv_type, QudaInvertParam_s::inv_type, QudaInvertParam_s::inv_type_precondition, kappa, QudaInvertParam_s::kappa, QudaInvertParam_s::Ls, mass, QudaInvertParam_s::mass, QudaInvertParam_s::mass_normalization, matpc_type, QudaInvertParam_s::matpc_type, max_restart_num, QudaInvertParam_s::max_restart_num, max_search_dim, QudaInvertParam_s::max_search_dim, QudaInvertParam_s::maxiter, QudaInvertParam_s::maxiter_precondition, mu, QudaInvertParam_s::mu, nev, QudaInvertParam_s::nev, niter, normalization, QudaInvertParam_s::num_offset, QudaInvertParam_s::omega, QudaInvertParam_s::output_location, precon_type, QudaInvertParam_s::precondition_cycle, QudaInvertParam_s::preserve_source, printfQuda, QUDA_ADDITIVE_SCHWARZ, QUDA_CLOVER_WILSON_DSLASH, QUDA_CPU_FIELD_LOCATION, QUDA_DAG_NO, QUDA_DEGRAND_ROSSI_GAMMA_BASIS, QUDA_DIRAC_ORDER, QUDA_DIRECT_PC_SOLVE, QUDA_EIGCG_INVERTER, QUDA_GMRESDR_INVERTER, QUDA_INC_EIGCG_INVERTER, QUDA_L2_RELATIVE_RESIDUAL, QUDA_MAT_SOLUTION, QUDA_NORMOP_PC_SOLVE, QUDA_PACKED_CLOVER_ORDER, QUDA_PRESERVE_SOURCE_NO, QUDA_TWIST_NONDEG_DOUBLET, QUDA_TWISTED_CLOVER_DSLASH, QUDA_TWISTED_MASS_DSLASH, QudaInvertParam_s::reliable_delta, QudaInvertParam_s::residual_type, QudaInvertParam_s::rhs_idx, QudaInvertParam_s::schwarz_type, QudaInvertParam_s::solution_type, solve_type, QudaInvertParam_s::solve_type, solver_ext_lib, QudaInvertParam_s::sp_pad, tol, QudaInvertParam_s::tol, tol_hq, QudaInvertParam_s::tol_hq, QudaInvertParam_s::tol_hq_offset, QudaInvertParam_s::tol_offset, QudaInvertParam_s::tol_precondition, tol_restart, QudaInvertParam_s::tol_restart, twist_flavor, QudaInvertParam_s::twist_flavor, verbosity, QudaInvertParam_s::verbosity, and QudaInvertParam_s::verbosity_precondition.
Referenced by main().
void usage | ( | char ** | ) |
Definition at line 1783 of file test_util.cpp.
Referenced by main().
double anisotropy |
Definition at line 1650 of file test_util.cpp.
Referenced by printQudaGaugeParam(), setGaugeParam(), setInvertParam(), quda::gauge::Reconstruct< 12, Float, ghostExchange_ >::Unpack(), and quda::gauge::Reconstruct< 8, Float, ghostExchange_ >::Unpack().
double clover_coeff |
Definition at line 1653 of file test_util.cpp.
Referenced by printQudaCloverParam(), and setInvertParam().
bool compute_clover |
Definition at line 1654 of file test_util.cpp.
Referenced by main(), and printQudaCloverParam().
QudaPrecision& cpu_prec = prec |
Definition at line 121 of file deflated_invert_test.cpp.
Referenced by setGaugeParam(), and setInvertParam().
QudaPrecision& cuda_prec = prec |
Definition at line 122 of file deflated_invert_test.cpp.
Referenced by setGaugeParam(), and setInvertParam().
QudaPrecision& cuda_prec_precondition = prec_precondition |
Definition at line 124 of file deflated_invert_test.cpp.
Referenced by setGaugeParam(), and setInvertParam().
QudaPrecision& cuda_prec_refinement_sloppy = prec_refinement_sloppy |
Definition at line 125 of file deflated_invert_test.cpp.
Referenced by main(), printQudaGaugeParam(), printQudaInvertParam(), setGaugeParam(), and setInvertParam().
QudaPrecision& cuda_prec_ritz = prec_ritz |
Definition at line 126 of file deflated_invert_test.cpp.
Referenced by printQudaInvertParam(), and setInvertParam().
QudaPrecision& cuda_prec_sloppy = prec_sloppy |
Definition at line 123 of file deflated_invert_test.cpp.
Referenced by setGaugeParam(), and setInvertParam().
QudaExtLibType deflation_ext_lib |
Definition at line 1718 of file test_util.cpp.
Referenced by process_command_line_option(), and setDeflationParam().
int deflation_grid |
Definition at line 1709 of file test_util.cpp.
Referenced by printQudaInvertParam(), process_command_line_option(), and setInvertParam().
int device |
Definition at line 1602 of file test_util.cpp.
Referenced by main().
QudaDslashType dslash_type |
Definition at line 1621 of file test_util.cpp.
Referenced by display_test_info(), main(), and setInvertParam().
char eig_vec_infile[] |
Definition at line 1742 of file test_util.cpp.
Referenced by setDeflationParam().
char eig_vec_outfile[] |
Definition at line 1743 of file test_util.cpp.
Referenced by setDeflationParam().
int eigcg_max_restarts |
Definition at line 1712 of file test_util.cpp.
Referenced by printQudaInvertParam(), process_command_line_option(), and setInvertParam().
double eigenval_tol |
Definition at line 1715 of file test_util.cpp.
Referenced by printQudaInvertParam(), process_command_line_option(), and setInvertParam().
double epsilon |
Definition at line 1649 of file test_util.cpp.
Referenced by quda::ApplyTwistClover(), quda::ApplyTwistGamma(), quda::GammaArg< Float, nColor >::GammaArg(), main(), ndegTwistGamma5(), quda::TRLM::operator()(), quda::CG::operator()(), quda::MultiShiftCG::operator()(), quda::OvrImpSTOUTStep(), quda::setUnitarizeLinksConstants(), and SU3test().
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().
double inc_tol |
Definition at line 1714 of file test_util.cpp.
Referenced by printQudaInvertParam(), process_command_line_option(), and setInvertParam().
QudaInverterType inv_type |
Definition at line 1640 of file test_util.cpp.
Referenced by setInvertParam().
double kappa |
Definition at line 1647 of file test_util.cpp.
Referenced by quda::ApplyLaplace(), quda::ApplyTwistClover(), quda::ApplyTwistGamma(), clover_matpc(), dw_4d_matpc(), dw_matpc(), quda::GammaArg< Float, nColor >::GammaArg(), quda::massRescale(), MatDagMatQuda(), MatQuda(), quda::DslashCoarseLaunch::operator()(), printQudaInvertParam(), quda::setDiracParam(), setInvertParam(), tm_matpc(), tm_ndeg_matpc(), tmc_matpc(), quda::MG::verify(), and wil_matpc().
char latfile[] |
Definition at line 1623 of file test_util.cpp.
Referenced by main().
QudaReconstructType link_recon |
Definition at line 1605 of file test_util.cpp.
Referenced by display_test_info(), main(), and setGaugeParam().
QudaReconstructType link_recon_precondition |
Definition at line 1607 of file test_util.cpp.
Referenced by main(), and setGaugeParam().
QudaReconstructType link_recon_sloppy |
Definition at line 1606 of file test_util.cpp.
Referenced by display_test_info(), main(), and setGaugeParam().
QudaFieldLocation location_ritz |
Definition at line 1719 of file test_util.cpp.
Referenced by display_test_info(), process_command_line_option(), and setDeflationParam().
int Lsdim |
Definition at line 1619 of file test_util.cpp.
Referenced by display_test_info(), and main().
double mass |
Definition at line 1646 of file test_util.cpp.
Referenced by setInvertParam().
QudaMatPCType matpc_type |
Definition at line 1662 of file test_util.cpp.
Referenced by quda::MG::createCoarseDirac(), display_test_info(), quda::MG::operator()(), printQudaInvertParam(), and setInvertParam().
int max_restart_num |
Definition at line 1713 of file test_util.cpp.
Referenced by printQudaInvertParam(), process_command_line_option(), and setInvertParam().
int max_search_dim |
Definition at line 1708 of file test_util.cpp.
Referenced by printQudaInvertParam(), process_command_line_option(), and setInvertParam().
QudaMemoryType mem_type_ritz |
Definition at line 1720 of file test_util.cpp.
Referenced by display_test_info(), printQudaEigParam(), process_command_line_option(), and setDeflationParam().
double mu |
Definition at line 1648 of file test_util.cpp.
Referenced by quda::ApplyCovDev(), quda::ApplyTwistClover(), quda::ApplyTwistGamma(), quda::CloverArg< Float, nSpin, nColor, dynamic_clover_ >::CloverArg(), quda::cloverDerivativeKernel(), computeAllLinkField(), quda::computeColorContraction(), quda::computeDegrandRossiContraction(), quda::computeFmunuCore(), quda::computeFmunuCPU(), quda::computeForce(), quda::computeGenGauss(), computeHISQLinksCPU(), quda::MPCG::computeMatrixPowers(), computeMiddleLinkField(), quda::computePlaq(), computeSideLinkField(), quda::computeStaple(), quda::computeStapleRectangle(), covdevRef(), do_color_matrix_hisq_force_reference(), do_halfwilson_hisq_force_reference(), doHisqStaplesForceCPU(), exchange_sitelink_diag(), quda::forceRecord(), quda::GammaArg< Float, nColor >::GammaArg(), quda::GaugeSTOUTArg< Float, GaugeOr, GaugeDs >::GaugeSTOUTArg(), quda::isUnitary(), quda::linkIndexDn(), quda::linkIndexM1(), quda::linkIndexM3(), quda::linkIndexP1(), quda::linkIndexP3(), quda::linkNormalIndexP1(), llfat_compute_gen_staple_field(), llfat_reference(), llfat_test(), main(), matdagmat(), ndegTwistGamma5(), quda::plaquette(), printQudaInvertParam(), quda::ProjectSU3kernel(), setInvertParam(), and quda::sigmaOprod().
int nev |
Definition at line 1707 of file test_util.cpp.
Referenced by quda::Deflation::increment(), printQudaInvertParam(), process_command_line_option(), and setInvertParam().
int niter |
Definition at line 1629 of file test_util.cpp.
Referenced by setInvertParam().
QudaMassNormalization normalization |
Definition at line 1661 of file test_util.cpp.
Referenced by display_test_info(), and setInvertParam().
int Nsrc |
Definition at line 1627 of file test_util.cpp.
Referenced by main().
int nvec[] |
Definition at line 1637 of file test_util.cpp.
QudaPrecision prec |
Definition at line 1608 of file test_util.cpp.
Referenced by display_test_info(), and main().
QudaPrecision prec_precondition |
Definition at line 1611 of file test_util.cpp.
Referenced by main().
QudaPrecision prec_refinement_sloppy |
Definition at line 1610 of file test_util.cpp.
Referenced by main().
QudaPrecision prec_ritz |
Definition at line 1613 of file test_util.cpp.
Referenced by main(), process_command_line_option(), and setDeflationParam().
QudaPrecision prec_sloppy |
Definition at line 1609 of file test_util.cpp.
Referenced by display_test_info(), and main().
QudaInverterType precon_type |
Definition at line 1641 of file test_util.cpp.
Referenced by setInvertParam().
QudaSolveType solve_type |
Definition at line 1663 of file test_util.cpp.
Referenced by setInvertParam().
QudaExtLibType solver_ext_lib |
Definition at line 1717 of file test_util.cpp.
Referenced by process_command_line_option(), and setInvertParam().
int tdim |
Definition at line 1618 of file test_util.cpp.
Referenced by display_test_info(), and setGaugeParam().
double tol |
Definition at line 1656 of file test_util.cpp.
Referenced by quda::checkUnitary(), quda::compareSpinor(), contraction_reference(), quda::genericCompare(), printQudaEigParam(), printQudaInvertParam(), quda::projectSU3(), setInvertParam(), quda::Solver::stopping(), TEST(), TEST_P(), and quda::MG::verify().
double tol_hq |
Definition at line 1657 of file test_util.cpp.
Referenced by invertMultiShiftQuda(), printQudaInvertParam(), and setInvertParam().
double tol_restart |
Definition at line 1710 of file test_util.cpp.
Referenced by printQudaInvertParam(), process_command_line_option(), and setInvertParam().
QudaTwistFlavorType twist_flavor |
Definition at line 1660 of file test_util.cpp.
Referenced by main(), printQudaInvertParam(), and setInvertParam().
bool unit_gauge |
Definition at line 1624 of file test_util.cpp.
Referenced by main().
QudaVerbosity verbosity |
Definition at line 1614 of file test_util.cpp.
Referenced by setInvertParam().
int xdim |
Definition at line 1615 of file test_util.cpp.
Referenced by display_test_info(), and setGaugeParam().
int ydim |
Definition at line 1616 of file test_util.cpp.
Referenced by display_test_info(), and setGaugeParam().
int zdim |
Definition at line 1617 of file test_util.cpp.
Referenced by display_test_info(), and setGaugeParam().