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 | |
Macros | |
#define | MAX(a, b) ((a) > (b) ? (a) : (b)) |
Functions | |
void | usage (char **) |
void | quda::setTransferGPU (bool) |
void | display_test_info () |
void | setGaugeParam (QudaGaugeParam &gauge_param) |
void | setInvertParam (QudaInvertParam &inv_param) |
void | setEigParam (QudaEigParam &eig_param) |
int | main (int argc, char **argv) |
#define MAX | ( | a, | |
b | |||
) | ((a) > (b) ? (a) : (b)) |
Definition at line 24 of file eigensolve_test.cpp.
Referenced by setGaugeParam().
void display_test_info | ( | ) |
Definition at line 103 of file eigensolve_test.cpp.
References dimPartitioned(), eig_amax, eig_amin, eig_compute_svd, eig_nConv, eig_nEv, eig_nKr, eig_poly_deg, eig_require_convergence, eig_spectrum, eig_tol, eig_type, eig_use_dagger, eig_use_normop, eig_use_poly_acc, get_eig_spectrum_str(), get_eig_type_str(), get_prec_str(), get_recon_str(), link_recon, link_recon_sloppy, Lsdim, prec, prec_sloppy, printfQuda, tdim, xdim, ydim, and zdim.
Referenced by main().
int main | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 333 of file eigensolve_test.cpp.
References QudaEigParam_s::arpack_check, 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, device, display_test_info(), dslash_type, dw_setDims(), eig_nConv, eigensolveQuda(), endQuda(), errorQuda, finalizeComms(), freeCloverQuda(), freeGaugeQuda(), gauge_param, gaugeSiteSize, gridsize_from_cmdline, gSize, initComms(), initQuda(), initRand(), QudaEigParam_s::invert_param, latfile, link_recon, link_recon_precondition, link_recon_sloppy, loadCloverQuda(), loadGaugeQuda(), QudaInvertParam_s::Ls, QudaEigParam_s::nEv, newQudaEigParam(), newQudaGaugeParam(), newQudaInvertParam(), quda::norm(), prec, 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_LAPLACE_DSLASH, QUDA_MOBIUS_DWF_DSLASH, QUDA_RECONSTRUCT_INVALID, QUDA_TWISTED_CLOVER_DSLASH, read_gauge_field(), QudaInvertParam_s::return_clover, QudaInvertParam_s::return_clover_inverse, setDims(), setEigParam(), setGaugeParam(), setInvertParam(), setSpinorSiteSize(), unit_gauge, usage(), V, and QudaGaugeParam_s::X.
void setEigParam | ( | QudaEigParam & | eig_param | ) |
Definition at line 287 of file eigensolve_test.cpp.
References QudaEigParam_s::a_max, QudaEigParam_s::a_min, QudaEigParam_s::arpack_check, QudaEigParam_s::arpack_logfile, QudaEigParam_s::check_interval, QudaEigParam_s::compute_svd, cuda_prec, QudaEigParam_s::cuda_prec_ritz, eig_amax, eig_amin, eig_arpack_check, eig_arpack_logfile, eig_check_interval, eig_compute_svd, eig_max_restarts, eig_nConv, eig_nEv, eig_nKr, eig_poly_deg, eig_QUDA_logfile, eig_require_convergence, eig_spectrum, eig_tol, eig_type, QudaEigParam_s::eig_type, eig_use_dagger, eig_use_normop, eig_use_poly_acc, eig_vec_infile, eig_vec_outfile, errorQuda, QudaEigParam_s::max_restarts, QudaEigParam_s::nConv, QudaEigParam_s::nEv, QudaEigParam_s::nKr, QudaEigParam_s::poly_deg, QUDA_BOOLEAN_FALSE, QUDA_BOOLEAN_TRUE, QUDA_EIG_IR_LANCZOS, QUDA_EIG_TR_LANCZOS, QudaEigParam_s::QUDA_logfile, QUDA_SPECTRUM_LR_EIG, QUDA_SPECTRUM_SR_EIG, QudaEigParam_s::require_convergence, QudaEigParam_s::spectrum, QudaEigParam_s::tol, QudaEigParam_s::use_dagger, QudaEigParam_s::use_norm_op, QudaEigParam_s::use_poly_acc, QudaEigParam_s::vec_infile, and QudaEigParam_s::vec_outfile.
Referenced by main().
void setGaugeParam | ( | QudaGaugeParam & | gauge_param | ) |
Definition at line 146 of file eigensolve_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_sloppy, cuda_prec_sloppy, QudaGaugeParam_s::ga_pad, QudaGaugeParam_s::gauge_fix, QudaGaugeParam_s::gauge_order, link_recon, link_recon_precondition, link_recon_sloppy, MAX, QUDA_GAUGE_FIXED_NO, QUDA_PERIODIC_T, QUDA_QDP_GAUGE_ORDER, QUDA_WILSON_LINKS, QudaGaugeParam_s::reconstruct, QudaGaugeParam_s::reconstruct_precondition, 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 | ) |
Definition at line 185 of file eigensolve_test.cpp.
References anisotropy, QudaInvertParam_s::b_5, QudaInvertParam_s::c_5, 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_sloppy, QudaInvertParam_s::cuda_prec_sloppy, QudaInvertParam_s::dagger, QudaInvertParam_s::dirac_order, dslash_type, QudaInvertParam_s::dslash_type, QudaInvertParam_s::epsilon, QudaInvertParam_s::gamma_basis, QudaInvertParam_s::gcrNkrylov, QudaInvertParam_s::input_location, QudaInvertParam_s::inv_type, QudaInvertParam_s::inv_type_precondition, kappa, QudaInvertParam_s::kappa, kappa5, laplace3D, QudaInvertParam_s::laplace3D, QudaInvertParam_s::Ls, Lsdim, QudaInvertParam_s::m5, mass, QudaInvertParam_s::mass, QudaInvertParam_s::mass_normalization, matpc_type, QudaInvertParam_s::matpc_type, QudaInvertParam_s::maxiter, QudaInvertParam_s::maxiter_precondition, mu, QudaInvertParam_s::mu, niter, QudaInvertParam_s::num_offset, QudaInvertParam_s::omega, QudaInvertParam_s::output_location, QudaInvertParam_s::pipeline, QudaInvertParam_s::precondition_cycle, QudaInvertParam_s::preserve_source, printfQuda, QUDA_ADDITIVE_SCHWARZ, QUDA_CLOVER_WILSON_DSLASH, QUDA_CPU_FIELD_LOCATION, QUDA_DAG_NO, QUDA_DIRAC_ORDER, QUDA_DIRECT_PC_SOLVE, QUDA_DIRECT_SOLVE, QUDA_DOMAIN_WALL_4D_DSLASH, QUDA_DOMAIN_WALL_DSLASH, QUDA_GCR_INVERTER, QUDA_L2_RELATIVE_RESIDUAL, QUDA_LAPLACE_DSLASH, QUDA_MASS_NORMALIZATION, QUDA_MAT_SOLUTION, QUDA_MG_INVERTER, QUDA_MOBIUS_DWF_DSLASH, QUDA_PACKED_CLOVER_ORDER, QUDA_PRESERVE_SOURCE_NO, QUDA_TWIST_NONDEG_DOUBLET, QUDA_TWISTED_CLOVER_DSLASH, QUDA_TWISTED_MASS_DSLASH, QUDA_UKQCD_GAMMA_BASIS, QudaInvertParam_s::reliable_delta, QudaInvertParam_s::residual_type, QudaInvertParam_s::schwarz_type, solution_type, QudaInvertParam_s::solution_type, QudaInvertParam_s::solve_type, 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, twist_flavor, QudaInvertParam_s::twist_flavor, verbosity, and QudaInvertParam_s::verbosity.
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 setGaugeParam(), and setInvertParam().
double clover_coeff |
Definition at line 1653 of file test_util.cpp.
Referenced by setInvertParam().
bool compute_clover |
Definition at line 1654 of file test_util.cpp.
Referenced by main().
QudaPrecision cpu_prec = QUDA_DOUBLE_PRECISION |
Definition at line 141 of file eigensolve_test.cpp.
Referenced by setGaugeParam(), and setInvertParam().
QudaPrecision& cuda_prec = prec |
Definition at line 142 of file eigensolve_test.cpp.
Referenced by setEigParam(), setGaugeParam(), and setInvertParam().
QudaPrecision& cuda_prec_precondition = prec_precondition |
Definition at line 144 of file eigensolve_test.cpp.
Referenced by setGaugeParam(), and setInvertParam().
QudaPrecision& cuda_prec_sloppy = prec_sloppy |
Definition at line 143 of file eigensolve_test.cpp.
Referenced by setGaugeParam(), 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 main(), and setInvertParam().
double eig_amax |
Definition at line 1733 of file test_util.cpp.
Referenced by display_test_info(), and setEigParam().
double eig_amin |
Definition at line 1732 of file test_util.cpp.
Referenced by display_test_info(), and setEigParam().
bool eig_arpack_check |
Definition at line 1739 of file test_util.cpp.
Referenced by setEigParam().
char eig_arpack_logfile[] |
Definition at line 1740 of file test_util.cpp.
Referenced by setEigParam().
int eig_check_interval |
Definition at line 1727 of file test_util.cpp.
Referenced by setEigParam().
bool eig_compute_svd |
Definition at line 1736 of file test_util.cpp.
Referenced by display_test_info(), and setEigParam().
int eig_max_restarts |
Definition at line 1728 of file test_util.cpp.
Referenced by setEigParam().
int eig_maxiter |
int eig_nConv |
Definition at line 1725 of file test_util.cpp.
Referenced by display_test_info(), main(), and setEigParam().
int eig_nEv |
Definition at line 1723 of file test_util.cpp.
Referenced by display_test_info(), and setEigParam().
int eig_nKr |
Definition at line 1724 of file test_util.cpp.
Referenced by display_test_info(), and setEigParam().
int eig_poly_deg |
Definition at line 1731 of file test_util.cpp.
Referenced by display_test_info(), and setEigParam().
char eig_QUDA_logfile[] |
Definition at line 1741 of file test_util.cpp.
Referenced by setEigParam().
bool eig_require_convergence |
Definition at line 1726 of file test_util.cpp.
Referenced by display_test_info(), and setEigParam().
QudaEigSpectrumType eig_spectrum |
Definition at line 1737 of file test_util.cpp.
Referenced by display_test_info(), and setEigParam().
double eig_tol |
Definition at line 1729 of file test_util.cpp.
Referenced by display_test_info(), and setEigParam().
QudaEigType eig_type |
Definition at line 1738 of file test_util.cpp.
Referenced by display_test_info(), printQudaEigParam(), and setEigParam().
bool eig_use_dagger |
Definition at line 1735 of file test_util.cpp.
Referenced by display_test_info(), and setEigParam().
bool eig_use_normop |
Definition at line 1734 of file test_util.cpp.
Referenced by display_test_info(), and setEigParam().
bool eig_use_poly_acc |
Definition at line 1730 of file test_util.cpp.
Referenced by display_test_info(), and setEigParam().
char eig_vec_infile[] |
Definition at line 1742 of file test_util.cpp.
Referenced by setEigParam().
char eig_vec_outfile[] |
Definition at line 1743 of file test_util.cpp.
Referenced by setEigParam().
int gcrNkrylov |
Definition at line 1630 of file test_util.cpp.
Referenced by printQudaInvertParam().
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 kappa |
Definition at line 1647 of file test_util.cpp.
Referenced by setInvertParam().
double kappa5 |
Definition at line 47 of file eigensolve_test.cpp.
Referenced by setInvertParam().
int laplace3D |
Definition at line 1622 of file test_util.cpp.
Referenced by printQudaInvertParam(), and setInvertParam().
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().
int Lsdim |
Definition at line 1619 of file test_util.cpp.
Referenced by display_test_info(), and setInvertParam().
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 setInvertParam().
double mu |
Definition at line 1648 of file test_util.cpp.
Referenced by setInvertParam().
int niter |
Definition at line 1629 of file test_util.cpp.
Referenced by setInvertParam().
int Nsrc |
Definition at line 1627 of file test_util.cpp.
int pipeline |
Definition at line 1634 of file test_util.cpp.
Referenced by quda::CG3::operator()(), quda::CG3NE::operator()(), quda::BiCGstabL::operator()(), quda::GCR::operator()(), quda::orthoDir(), quda::BiCGstabL::orthoDir(), and printQudaInvertParam().
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.
QudaPrecision prec_sloppy |
Definition at line 1609 of file test_util.cpp.
Referenced by display_test_info(), and main().
QudaSolutionType solution_type |
Definition at line 1664 of file test_util.cpp.
Referenced by quda::PreconditionedSolver::operator()(), printQudaInvertParam(), and setInvertParam().
QudaSolveType solve_type |
Definition at line 1663 of file test_util.cpp.
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 setInvertParam().
double tol_hq |
Definition at line 1657 of file test_util.cpp.
Referenced by setInvertParam().
QudaTwistFlavorType twist_flavor |
Definition at line 1660 of file test_util.cpp.
Referenced by 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().
bool verify_results |
Definition at line 1643 of file test_util.cpp.
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().