QUDA
1.0.0
|
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <quda_internal.h>
#include <dirac_quda.h>
#include <dslash_quda.h>
#include <invert_quda.h>
#include <util_quda.h>
#include <blas_quda.h>
#include <misc.h>
#include <test_util.h>
#include <dslash_util.h>
#include <staggered_gauge_utils.h>
#include <unitarization_links.h>
#include <llfat_reference.h>
#include <gauge_field.h>
#include <blas_reference.h>
#include <qio_field.h>
#include <quda.h>
Go to the source code of this file.
Macros | |
#define | MAX(a, b) ((a) > (b) ? (a) : (b)) |
#define | mySpinorSiteSize 6 |
Functions | |
void | usage (char **argv) |
void | display_test_info () |
void | usage_extra (char **argv) |
void | setGaugeParam (QudaGaugeParam &gauge_param) |
void | setInvertParam (QudaInvertParam &inv_param) |
void | setEigParam (QudaEigParam &eig_param) |
void | eigensolve_test () |
int | main (int argc, char **argv) |
#define MAX | ( | a, | |
b | |||
) | ((a) > (b) ? (a) : (b)) |
Definition at line 31 of file staggered_eigensolve_test.cpp.
Referenced by eigensolve_test(), setGaugeParam(), and setInvertParam().
#define mySpinorSiteSize 6 |
Definition at line 36 of file staggered_eigensolve_test.cpp.
Referenced by covdevReference(), dslashReference(), dslashReference_4d_sgpu(), eigensolve_test(), Mat(), matdagmat(), spinorNeighbor(), and spinorNeighbor_5d().
void display_test_info | ( | ) |
Definition at line 120 of file staggered_eigensolve_test.cpp.
References dimPartitioned(), get_prec_str(), get_recon_str(), get_staggered_test_type(), link_recon, link_recon_sloppy, prec, prec_sloppy, printfQuda, tdim, test_type, xdim, ydim, and zdim.
Referenced by main().
void eigensolve_test | ( | ) |
Definition at line 324 of file staggered_eigensolve_test.cpp.
References applyGaugeFieldScaling_long(), argc_copy, argv_copy, QudaEigParam_s::arpack_check, compute_fatlong, computeFatLongGPU(), computeStaggeredPlaquetteQDPOrder(), construct_fat_long_gauge_field(), construct_gauge_field(), QudaGaugeParam_s::cpu_prec, QudaInvertParam_s::cpu_prec, cpuFat, cpuLong, QudaGaugeParam_s::cuda_prec_precondition, QudaGaugeParam_s::cuda_prec_sloppy, device, dslash_type, dw_setDims(), eig_nConv, eigensolveQuda(), eps_naik, errorQuda, QudaGaugeParam_s::ga_pad, gauge_param, gaugeSiteSize, quda::GaugeField::Ghost(), ghost_fatlink, ghost_longlink, quda::LatticeFieldParam::ghostExchange, gSize, initQuda(), QudaEigParam_s::invert_param, latfile, link_recon, link_recon_sloppy, loadGaugeQuda(), MAX, memset(), mySpinorSiteSize, n_naiks, QudaEigParam_s::nEv, newQudaEigParam(), newQudaGaugeParam(), newQudaInvertParam(), Nsrc, prec, printfQuda, qdp_fatlink, qdp_inlink, qdp_longlink, QUDA_ASQTAD_DSLASH, QUDA_ASQTAD_FAT_LINKS, QUDA_ASQTAD_LONG_LINKS, QUDA_DOUBLE_PRECISION, QUDA_GHOST_EXCHANGE_PAD, QUDA_LAPLACE_DSLASH, QUDA_RECONSTRUCT_NO, QUDA_STAGGERED_DSLASH, QUDA_STAGGERED_PHASE_NO, QUDA_SU3_LINKS, read_gauge_field(), QudaGaugeParam_s::reconstruct, QudaGaugeParam_s::reconstruct_precondition, QudaGaugeParam_s::reconstruct_sloppy, reorderQDPtoMILC(), setDims(), setEigParam(), setGaugeParam(), setInvertParam(), setSpinorSiteSize(), QudaGaugeParam_s::staggered_phase_type, tdim, test_type, QudaGaugeParam_s::type, V, Vh, QudaGaugeParam_s::X, xdim, ydim, and zdim.
Referenced by main().
int main | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 539 of file staggered_eigensolve_test.cpp.
References argc_copy, argv_copy, compute_fatlong, display_test_info(), dslash_type, eigensolve_test(), endQuda(), eps_naik, errorQuda, finalizeComms(), gridsize_from_cmdline, initComms(), link_recon, link_recon_sloppy, matpc_type, n_naiks, prec, prec_refinement_sloppy, prec_sloppy, printfQuda, process_command_line_option(), QUDA_ASQTAD_DSLASH, QUDA_DIRECT_PC_SOLVE, QUDA_DIRECT_SOLVE, QUDA_INVALID_PRECISION, QUDA_INVALID_SOLVE, QUDA_LAPLACE_DSLASH, QUDA_MAT_SOLUTION, QUDA_MATPC_EVEN_EVEN, QUDA_MATPC_ODD_ODD, QUDA_MATPC_SOLUTION, QUDA_RECONSTRUCT_INVALID, QUDA_STAGGERED_DSLASH, solution_type, solve_type, test_type, usage(), and warningQuda.
void setEigParam | ( | QudaEigParam & | eig_param | ) |
Definition at line 278 of file staggered_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, 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, prec, 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 eigensolve_test().
void setGaugeParam | ( | QudaGaugeParam & | gauge_param | ) |
Definition at line 145 of file staggered_eigensolve_test.cpp.
References QudaGaugeParam_s::anisotropy, cpu_prec, QudaGaugeParam_s::cpu_prec, QudaGaugeParam_s::cuda_prec, QudaGaugeParam_s::cuda_prec_refinement_sloppy, QudaGaugeParam_s::cuda_prec_sloppy, dslash_type, eps_naik, QudaGaugeParam_s::ga_pad, QudaGaugeParam_s::gauge_fix, QudaGaugeParam_s::gauge_order, link_recon, link_recon_sloppy, MAX, prec, prec_refinement_sloppy, prec_sloppy, QUDA_ANTI_PERIODIC_T, QUDA_ASQTAD_DSLASH, QUDA_GAUGE_FIXED_NO, QUDA_LAPLACE_DSLASH, QUDA_MILC_GAUGE_ORDER, QUDA_STAGGERED_DSLASH, QUDA_STAGGERED_PHASE_MILC, QUDA_WILSON_LINKS, QudaGaugeParam_s::reconstruct, QudaGaugeParam_s::reconstruct_sloppy, QudaGaugeParam_s::scale, QudaGaugeParam_s::staggered_phase_type, QudaGaugeParam_s::t_boundary, QudaGaugeParam_s::tadpole_coeff, tdim, QudaGaugeParam_s::type, QudaGaugeParam_s::X, xdim, ydim, and zdim.
Referenced by eigensolve_test().
void setInvertParam | ( | QudaInvertParam & | inv_param | ) |
Definition at line 196 of file staggered_eigensolve_test.cpp.
References alternative_reliable, ca_basis, QudaInvertParam_s::ca_basis, ca_lambda_max, QudaInvertParam_s::ca_lambda_max, ca_lambda_min, QudaInvertParam_s::ca_lambda_min, cpu_prec, QudaInvertParam_s::cpu_prec, QudaInvertParam_s::cuda_prec, QudaInvertParam_s::cuda_prec_precondition, QudaInvertParam_s::cuda_prec_refinement_sloppy, QudaInvertParam_s::cuda_prec_sloppy, QudaInvertParam_s::dagger, QudaInvertParam_s::dirac_order, dslash_type, QudaInvertParam_s::dslash_type, errorQuda, QudaInvertParam_s::gamma_basis, gcrNkrylov, QudaInvertParam_s::gcrNkrylov, QudaInvertParam_s::heavy_quark_check, QudaInvertParam_s::input_location, QudaInvertParam_s::inv_type, QudaInvertParam_s::inv_type_precondition, kappa, QudaInvertParam_s::kappa, laplace3D, QudaInvertParam_s::laplace3D, QudaInvertParam_s::Ls, mass, QudaInvertParam_s::mass, QudaInvertParam_s::mass_normalization, matpc_type, QudaInvertParam_s::matpc_type, MAX, QudaInvertParam_s::maxiter, QudaInvertParam_s::maxiter_precondition, niter, Nsrc, QudaInvertParam_s::Nsteps, QudaInvertParam_s::output_location, pipeline, QudaInvertParam_s::pipeline, prec, prec_refinement_sloppy, prec_sloppy, QudaInvertParam_s::preserve_source, QUDA_BICGSTAB_INVERTER, QUDA_CPU_FIELD_LOCATION, QUDA_DAG_NO, QUDA_DEGRAND_ROSSI_GAMMA_BASIS, QUDA_DIRAC_ORDER, QUDA_HEAVY_QUARK_RESIDUAL, QUDA_L2_RELATIVE_RESIDUAL, QUDA_MASS_NORMALIZATION, QUDA_PRESERVE_SOURCE_YES, QUDA_SD_INVERTER, QUDA_SILENT, QUDA_VERBOSE, reliable_delta, QudaInvertParam_s::reliable_delta, QudaInvertParam_s::residual_type, solution_accumulator_pipeline, QudaInvertParam_s::solution_accumulator_pipeline, solution_type, QudaInvertParam_s::solution_type, solve_type, QudaInvertParam_s::solve_type, QudaInvertParam_s::sp_pad, tol, QudaInvertParam_s::tol, tol_hq, QudaInvertParam_s::tol_hq, QudaInvertParam_s::tol_precondition, QudaInvertParam_s::tol_restart, QudaInvertParam_s::use_alternative_reliable, QudaInvertParam_s::use_sloppy_partial_accumulator, QudaInvertParam_s::verbosity, QudaInvertParam_s::verbosity_precondition, and X.
Referenced by eigensolve_test().
void usage | ( | char ** | argv | ) |
Definition at line 1783 of file test_util.cpp.
Referenced by main().
void usage_extra | ( | char ** | argv | ) |
Definition at line 135 of file staggered_eigensolve_test.cpp.
References printfQuda.
bool alternative_reliable |
Definition at line 1659 of file test_util.cpp.
Referenced by setInvertParam().
int argc_copy |
Definition at line 89 of file staggered_eigensolve_test.cpp.
Referenced by eigensolve_test(), and main().
char** argv_copy |
Definition at line 90 of file staggered_eigensolve_test.cpp.
Referenced by eigensolve_test(), and main().
QudaCABasis ca_basis |
Definition at line 1631 of file test_util.cpp.
Referenced by setInvertParam().
double ca_lambda_max |
Definition at line 1633 of file test_util.cpp.
Referenced by setInvertParam().
double ca_lambda_min |
Definition at line 1632 of file test_util.cpp.
Referenced by setInvertParam().
bool compute_fatlong |
Definition at line 1655 of file test_util.cpp.
Referenced by eigensolve_test(), and main().
QudaPrecision cpu_prec = QUDA_DOUBLE_PRECISION |
Definition at line 44 of file staggered_eigensolve_test.cpp.
Referenced by setGaugeParam(), and setInvertParam().
int device |
Definition at line 1602 of file test_util.cpp.
Referenced by eigensolve_test().
QudaDslashType dslash_type |
Definition at line 1621 of file test_util.cpp.
Referenced by eigensolve_test(), main(), setGaugeParam(), and setInvertParam().
double eig_amax |
Definition at line 1733 of file test_util.cpp.
Referenced by process_command_line_option(), and setEigParam().
double eig_amin |
Definition at line 1732 of file test_util.cpp.
Referenced by process_command_line_option(), and setEigParam().
bool eig_arpack_check |
Definition at line 1739 of file test_util.cpp.
Referenced by process_command_line_option(), and setEigParam().
char eig_arpack_logfile[] |
Definition at line 1740 of file test_util.cpp.
Referenced by process_command_line_option(), and setEigParam().
int eig_check_interval |
Definition at line 1727 of file test_util.cpp.
Referenced by process_command_line_option(), and setEigParam().
bool eig_compute_svd |
Definition at line 1736 of file test_util.cpp.
Referenced by process_command_line_option(), and setEigParam().
int eig_max_restarts |
Definition at line 1728 of file test_util.cpp.
Referenced by process_command_line_option(), and setEigParam().
int eig_maxiter |
int eig_nConv |
Definition at line 1725 of file test_util.cpp.
Referenced by eigensolve_test(), process_command_line_option(), and setEigParam().
int eig_nEv |
Definition at line 1723 of file test_util.cpp.
Referenced by process_command_line_option(), and setEigParam().
int eig_nKr |
Definition at line 1724 of file test_util.cpp.
Referenced by process_command_line_option(), and setEigParam().
int eig_poly_deg |
Definition at line 1731 of file test_util.cpp.
Referenced by process_command_line_option(), and setEigParam().
char eig_QUDA_logfile[] |
Definition at line 1741 of file test_util.cpp.
Referenced by process_command_line_option(), and setEigParam().
bool eig_require_convergence |
Definition at line 1726 of file test_util.cpp.
Referenced by process_command_line_option(), and setEigParam().
QudaEigSpectrumType eig_spectrum |
Definition at line 1737 of file test_util.cpp.
Referenced by process_command_line_option(), and setEigParam().
double eig_tol |
Definition at line 1729 of file test_util.cpp.
Referenced by process_command_line_option(), and setEigParam().
QudaEigType eig_type |
Definition at line 1738 of file test_util.cpp.
Referenced by process_command_line_option(), and setEigParam().
bool eig_use_dagger |
Definition at line 1735 of file test_util.cpp.
Referenced by process_command_line_option(), and setEigParam().
bool eig_use_normop |
Definition at line 1734 of file test_util.cpp.
Referenced by process_command_line_option(), and setEigParam().
bool eig_use_poly_acc |
Definition at line 1730 of file test_util.cpp.
Referenced by process_command_line_option(), and setEigParam().
char eig_vec_infile[] |
Definition at line 1742 of file test_util.cpp.
Referenced by process_command_line_option(), and setEigParam().
char eig_vec_outfile[] |
Definition at line 1743 of file test_util.cpp.
Referenced by process_command_line_option(), and setEigParam().
double eps_naik |
Definition at line 1652 of file test_util.cpp.
Referenced by eigensolve_test(), main(), and setGaugeParam().
int gcrNkrylov |
Definition at line 1630 of file test_util.cpp.
Referenced by setInvertParam().
void** ghost_fatlink |
Definition at line 40 of file staggered_eigensolve_test.cpp.
Referenced by eigensolve_test(), and invert_test().
void ** ghost_longlink |
Definition at line 40 of file staggered_eigensolve_test.cpp.
Referenced by eigensolve_test(), invert_test(), and staggered_dslash().
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().
size_t gSize = sizeof(double) |
Definition at line 45 of file staggered_eigensolve_test.cpp.
Referenced by eigensolve_test().
double kappa |
Definition at line 1647 of file test_util.cpp.
Referenced by setInvertParam().
int laplace3D |
Definition at line 1622 of file test_util.cpp.
Referenced by setInvertParam().
char latfile[] |
Definition at line 1623 of file test_util.cpp.
Referenced by eigensolve_test().
QudaReconstructType link_recon |
Definition at line 1605 of file test_util.cpp.
Referenced by display_test_info(), eigensolve_test(), main(), and setGaugeParam().
QudaReconstructType link_recon_sloppy |
Definition at line 1606 of file test_util.cpp.
Referenced by display_test_info(), eigensolve_test(), main(), and setGaugeParam().
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 main(), and setInvertParam().
|
static |
Definition at line 86 of file staggered_eigensolve_test.cpp.
Referenced by eigensolve_test(), and main().
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.
Referenced by eigensolve_test(), and setInvertParam().
int pipeline |
Definition at line 1634 of file test_util.cpp.
Referenced by setInvertParam().
QudaPrecision prec |
Definition at line 1608 of file test_util.cpp.
Referenced by display_test_info(), eigensolve_test(), main(), setEigParam(), setGaugeParam(), and setInvertParam().
QudaPrecision prec_refinement_sloppy |
Definition at line 1610 of file test_util.cpp.
Referenced by main(), setGaugeParam(), and setInvertParam().
QudaPrecision prec_sloppy |
Definition at line 1609 of file test_util.cpp.
Referenced by display_test_info(), main(), setGaugeParam(), and setInvertParam().
double reliable_delta |
Definition at line 1658 of file test_util.cpp.
Referenced by setInvertParam().
int solution_accumulator_pipeline |
Definition at line 1635 of file test_util.cpp.
Referenced by setInvertParam().
QudaSolutionType solution_type |
Definition at line 1664 of file test_util.cpp.
Referenced by main(), and setInvertParam().
QudaSolveType solve_type |
Definition at line 1663 of file test_util.cpp.
Referenced by main(), and setInvertParam().
int tdim |
Definition at line 1618 of file test_util.cpp.
Referenced by display_test_info(), eigensolve_test(), and setGaugeParam().
int test_type |
Definition at line 1636 of file test_util.cpp.
Referenced by display_test_info(), eigensolve_test(), and main().
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().
bool verify_results |
Definition at line 1643 of file test_util.cpp.
int X[4] |
Definition at line 118 of file staggered_eigensolve_test.cpp.
Referenced by setInvertParam().
int xdim |
Definition at line 1615 of file test_util.cpp.
Referenced by display_test_info(), eigensolve_test(), and setGaugeParam().
int ydim |
Definition at line 1616 of file test_util.cpp.
Referenced by display_test_info(), eigensolve_test(), and setGaugeParam().
int zdim |
Definition at line 1617 of file test_util.cpp.
Referenced by display_test_info(), eigensolve_test(), and setGaugeParam().