QUDA  1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Attributes | List of all members
QudaInvertParam_s Struct Reference

#include <quda.h>

Public Attributes

QudaFieldLocation input_location
 
QudaFieldLocation output_location
 
QudaDslashType dslash_type
 
QudaInverterType inv_type
 
double mass
 
double kappa
 
double m5
 
int Ls
 
double_complex b_5 [QUDA_MAX_DWF_LS]
 
double_complex c_5 [QUDA_MAX_DWF_LS]
 
double mu
 
double epsilon
 
QudaTwistFlavorType twist_flavor
 
int laplace3D
 
double tol
 
double tol_restart
 
double tol_hq
 
int compute_true_res
 
double true_res
 
double true_res_hq
 
int maxiter
 
double reliable_delta
 
double reliable_delta_refinement
 
int use_alternative_reliable
 
int use_sloppy_partial_accumulator
 
int solution_accumulator_pipeline
 
int max_res_increase
 
int max_res_increase_total
 
int max_hq_res_increase
 
int max_hq_res_restart_total
 
int heavy_quark_check
 
int pipeline
 
int num_offset
 
int num_src
 
int overlap
 
double offset [QUDA_MAX_MULTI_SHIFT]
 
double tol_offset [QUDA_MAX_MULTI_SHIFT]
 
double tol_hq_offset [QUDA_MAX_MULTI_SHIFT]
 
double true_res_offset [QUDA_MAX_MULTI_SHIFT]
 
double iter_res_offset [QUDA_MAX_MULTI_SHIFT]
 
double true_res_hq_offset [QUDA_MAX_MULTI_SHIFT]
 
double residue [QUDA_MAX_MULTI_SHIFT]
 
int compute_action
 
double action [2]
 
QudaSolutionType solution_type
 
QudaSolveType solve_type
 
QudaMatPCType matpc_type
 
QudaDagType dagger
 
QudaMassNormalization mass_normalization
 
QudaSolverNormalization solver_normalization
 
QudaPreserveSource preserve_source
 
QudaPrecision cpu_prec
 
QudaPrecision cuda_prec
 
QudaPrecision cuda_prec_sloppy
 
QudaPrecision cuda_prec_refinement_sloppy
 
QudaPrecision cuda_prec_precondition
 
QudaDiracFieldOrder dirac_order
 
QudaGammaBasis gamma_basis
 
QudaFieldLocation clover_location
 
QudaPrecision clover_cpu_prec
 
QudaPrecision clover_cuda_prec
 
QudaPrecision clover_cuda_prec_sloppy
 
QudaPrecision clover_cuda_prec_refinement_sloppy
 
QudaPrecision clover_cuda_prec_precondition
 
QudaCloverFieldOrder clover_order
 
QudaUseInitGuess use_init_guess
 
double clover_coeff
 
double clover_rho
 
int compute_clover_trlog
 
double trlogA [2]
 
int compute_clover
 
int compute_clover_inverse
 
int return_clover
 
int return_clover_inverse
 
QudaVerbosity verbosity
 
int sp_pad
 
int cl_pad
 
int iter
 
double gflops
 
double secs
 
QudaTune tune
 
int Nsteps
 
int gcrNkrylov
 
QudaInverterType inv_type_precondition
 
void * preconditioner
 
void * deflation_op
 
void * eig_param
 
QudaDslashType dslash_type_precondition
 
QudaVerbosity verbosity_precondition
 
double tol_precondition
 
int maxiter_precondition
 
double omega
 
QudaCABasis ca_basis
 
double ca_lambda_min
 
double ca_lambda_max
 
int precondition_cycle
 
QudaSchwarzType schwarz_type
 
QudaResidualType residual_type
 
QudaPrecision cuda_prec_ritz
 
int nev
 
int max_search_dim
 
int rhs_idx
 
int deflation_grid
 
double eigenval_tol
 
int eigcg_max_restarts
 
int max_restart_num
 
double inc_tol
 
int make_resident_solution
 
int use_resident_solution
 
int chrono_make_resident
 
int chrono_replace_last
 
int chrono_use_resident
 
int chrono_max_dim
 
int chrono_index
 
QudaPrecision chrono_precision
 
QudaExtLibType extlib_type
 

Detailed Description

Parameters relating to the solver and the choice of Dirac operator.

Definition at line 97 of file quda.h.

Member Data Documentation

◆ action

double QudaInvertParam_s::action[2]

Computed value of the bilinear action (complex-valued) invert: ^ A^{-1} multishift: ^ r(x) = ^ (sum_k residue[k] * (A + offset[k])^{-1} )

Definition at line 202 of file quda.h.

Referenced by invertMultiShiftQuda(), and invertQuda().

◆ b_5

double_complex QudaInvertParam_s::b_5[QUDA_MAX_DWF_LS]

Mobius coefficients - only real part used if regular Mobius

Definition at line 111 of file quda.h.

Referenced by dslashRef(), init(), main(), quda::setDiracParam(), and setInvertParam().

◆ c_5

double_complex QudaInvertParam_s::c_5[QUDA_MAX_DWF_LS]

Mobius coefficients - only real part used if regular Mobius

Definition at line 112 of file quda.h.

Referenced by dslashRef(), init(), main(), quda::setDiracParam(), and setInvertParam().

◆ ca_basis

QudaCABasis QudaInvertParam_s::ca_basis

Basis for CA algorithms

Definition at line 298 of file quda.h.

Referenced by main(), printQudaInvertParam(), and setInvertParam().

◆ ca_lambda_max

double QudaInvertParam_s::ca_lambda_max

Maximum eigenvalue for Chebyshev CA basis

Definition at line 304 of file quda.h.

Referenced by main(), setInvertParam(), and quda::SolverParam::updateInvertParam().

◆ ca_lambda_min

double QudaInvertParam_s::ca_lambda_min

Minimum eigenvalue for Chebyshev CA basis

Definition at line 301 of file quda.h.

Referenced by main(), setInvertParam(), and quda::SolverParam::updateInvertParam().

◆ chrono_index

int QudaInvertParam_s::chrono_index

The index to indicate which chrono history we are augmenting

Definition at line 365 of file quda.h.

Referenced by invertQuda(), and main().

◆ chrono_make_resident

int QudaInvertParam_s::chrono_make_resident

Whether to use the solution vector to augment the chronological basis

Definition at line 353 of file quda.h.

Referenced by invertQuda(), and main().

◆ chrono_max_dim

int QudaInvertParam_s::chrono_max_dim

The maximum length of the chronological history to store

Definition at line 362 of file quda.h.

Referenced by invertQuda(), and main().

◆ chrono_precision

QudaPrecision QudaInvertParam_s::chrono_precision

Precision to store the chronological basis in

Definition at line 368 of file quda.h.

Referenced by invertQuda(), main(), and printQudaInvertParam().

◆ chrono_replace_last

int QudaInvertParam_s::chrono_replace_last

Whether the solution should replace the last entry in the chronology

Definition at line 356 of file quda.h.

Referenced by invertQuda().

◆ chrono_use_resident

int QudaInvertParam_s::chrono_use_resident

Whether to use the resident chronological basis

Definition at line 359 of file quda.h.

Referenced by invertQuda(), and main().

◆ cl_pad

int QudaInvertParam_s::cl_pad

The padding to use for the clover fields

Definition at line 247 of file quda.h.

Referenced by init(), loadCloverQuda(), main(), setInvertParam(), and setMultigridParam().

◆ clover_coeff

double QudaInvertParam_s::clover_coeff

Coefficient of the clover term

Definition at line 233 of file quda.h.

Referenced by createCloverQuda(), init(), loadCloverQuda(), main(), setInvertParam(), and setMultigridParam().

◆ clover_cpu_prec

QudaPrecision QudaInvertParam_s::clover_cpu_prec

The precision used for the input clover field

Definition at line 224 of file quda.h.

Referenced by init(), loadCloverQuda(), main(), setInvertParam(), and setMultigridParam().

◆ clover_cuda_prec

QudaPrecision QudaInvertParam_s::clover_cuda_prec

The precision used for the clover field in the QUDA solver

Definition at line 225 of file quda.h.

Referenced by init(), loadCloverQuda(), main(), printQudaCloverParam(), setInvertParam(), and setMultigridParam().

◆ clover_cuda_prec_precondition

QudaPrecision QudaInvertParam_s::clover_cuda_prec_precondition

The precision used for the clover field in the QUDA preconditioner

Definition at line 228 of file quda.h.

Referenced by init(), loadCloverQuda(), main(), printQudaCloverParam(), setInvertParam(), and setMultigridParam().

◆ clover_cuda_prec_refinement_sloppy

QudaPrecision QudaInvertParam_s::clover_cuda_prec_refinement_sloppy

The precision of the sloppy clover field for the refinement step in multishift

Definition at line 227 of file quda.h.

Referenced by init(), loadCloverQuda(), main(), printQudaCloverParam(), setInvertParam(), and setMultigridParam().

◆ clover_cuda_prec_sloppy

QudaPrecision QudaInvertParam_s::clover_cuda_prec_sloppy

The precision used for the clover field in the QUDA sloppy operator

Definition at line 226 of file quda.h.

Referenced by init(), loadCloverQuda(), main(), printQudaCloverParam(), setInvertParam(), and setMultigridParam().

◆ clover_location

QudaFieldLocation QudaInvertParam_s::clover_location

The location of the clover field

Definition at line 223 of file quda.h.

Referenced by loadCloverQuda().

◆ clover_order

QudaCloverFieldOrder QudaInvertParam_s::clover_order

The order of the input clover field

Definition at line 230 of file quda.h.

Referenced by init(), loadCloverQuda(), main(), setInvertParam(), and setMultigridParam().

◆ clover_rho

double QudaInvertParam_s::clover_rho

Real number added to the clover diagonal (not to inverse)

Definition at line 234 of file quda.h.

Referenced by loadCloverQuda().

◆ compute_action

int QudaInvertParam_s::compute_action

Whether we should evaluate the action after the linear solver

Definition at line 197 of file quda.h.

Referenced by invertMultiShiftQuda(), invertQuda(), and printQudaInvertParam().

◆ compute_clover

int QudaInvertParam_s::compute_clover

Whether to compute the clover field

Definition at line 239 of file quda.h.

Referenced by init(), loadCloverQuda(), and main().

◆ compute_clover_inverse

int QudaInvertParam_s::compute_clover_inverse

Whether to compute the clover inverse field

Definition at line 240 of file quda.h.

Referenced by init(), loadCloverQuda(), and main().

◆ compute_clover_trlog

int QudaInvertParam_s::compute_clover_trlog

Whether to compute the trace log of the clover term

Definition at line 236 of file quda.h.

Referenced by loadCloverQuda().

◆ compute_true_res

int QudaInvertParam_s::compute_true_res

Definition at line 125 of file quda.h.

Referenced by invertMultiShiftQuda().

◆ cpu_prec

QudaPrecision QudaInvertParam_s::cpu_prec

The precision used by the input fermion fields

Definition at line 213 of file quda.h.

Referenced by covdevRef(), dslashRef(), eigensolve_test(), init(), invert_multishift_quda_(), invert_test(), main(), set_params(), setInvertParam(), setMultigridParam(), staggeredDslashRef(), and test().

◆ cuda_prec

QudaPrecision QudaInvertParam_s::cuda_prec

◆ cuda_prec_precondition

QudaPrecision QudaInvertParam_s::cuda_prec_precondition

◆ cuda_prec_refinement_sloppy

QudaPrecision QudaInvertParam_s::cuda_prec_refinement_sloppy

The precision of the sloppy gauge field for the refinement step in multishift

Definition at line 216 of file quda.h.

Referenced by checkClover(), checkGauge(), invertMultiShiftQuda(), main(), printQudaInvertParam(), quda::setDiracRefineParam(), and setInvertParam().

◆ cuda_prec_ritz

QudaPrecision QudaInvertParam_s::cuda_prec_ritz

Parameters for deflated solvers The precision of the Ritz vectors

Definition at line 324 of file quda.h.

Referenced by quda::deflated_solver::deflated_solver(), and setInvertParam().

◆ cuda_prec_sloppy

QudaPrecision QudaInvertParam_s::cuda_prec_sloppy

◆ dagger

QudaDagType QudaInvertParam_s::dagger

Whether we are using the Hermitian conjugate system or not

Definition at line 207 of file quda.h.

Referenced by dslashQuda(), init(), main(), set_params(), quda::setDiracParam(), setInvertParam(), and setMultigridParam().

◆ deflation_grid

int QudaInvertParam_s::deflation_grid

Specifies deflation space volume: total number of eigenvectors is nev*deflation_grid

Definition at line 336 of file quda.h.

Referenced by quda::deflated_solver::deflated_solver(), setDeflationParam(), and setInvertParam().

◆ deflation_op

void* QudaInvertParam_s::deflation_op

Deflation instance

Definition at line 276 of file quda.h.

Referenced by main().

◆ dirac_order

QudaDiracFieldOrder QudaInvertParam_s::dirac_order

◆ dslash_type

QudaDslashType QudaInvertParam_s::dslash_type

◆ dslash_type_precondition

QudaDslashType QudaInvertParam_s::dslash_type_precondition

Dirac Dslash used in preconditioner

Definition at line 284 of file quda.h.

Referenced by quda::setDiracPreParam().

◆ eig_param

void* QudaInvertParam_s::eig_param

defines deflation

Definition at line 279 of file quda.h.

◆ eigcg_max_restarts

int QudaInvertParam_s::eigcg_max_restarts

mixed precision eigCG tuning parameter: minimum search vector space restarts

Definition at line 340 of file quda.h.

Referenced by setInvertParam().

◆ eigenval_tol

double QudaInvertParam_s::eigenval_tol

eigCG: selection criterion for the reduced eigenvector set

Definition at line 338 of file quda.h.

Referenced by setInvertParam().

◆ epsilon

double QudaInvertParam_s::epsilon

Twisted mass parameter

Definition at line 115 of file quda.h.

Referenced by dslashRef(), init(), main(), quda::setDiracParam(), setInvertParam(), and setMultigridParam().

◆ extlib_type

QudaExtLibType QudaInvertParam_s::extlib_type

Which external library to use in the linear solvers (MAGMA or Eigen)

Definition at line 371 of file quda.h.

Referenced by setInvertParam().

◆ gamma_basis

QudaGammaBasis QudaInvertParam_s::gamma_basis

Gamma basis of the input and output host fields

Definition at line 221 of file quda.h.

Referenced by init(), invert_test(), main(), set_params(), setInvertParam(), and setMultigridParam().

◆ gcrNkrylov

int QudaInvertParam_s::gcrNkrylov

Maximum size of Krylov space used by solver

Definition at line 259 of file quda.h.

Referenced by invert_test(), main(), setInvertParam(), and setMultigridParam().

◆ gflops

double QudaInvertParam_s::gflops

The Gflops rate of the solver

Definition at line 250 of file quda.h.

Referenced by eigensolveQuda(), invert_test(), invertMultiShiftQuda(), invertMultiSrcQuda(), invertQuda(), main(), and quda::SolverParam::updateInvertParam().

◆ heavy_quark_check

int QudaInvertParam_s::heavy_quark_check

Definition at line 165 of file quda.h.

Referenced by setInvertParam().

◆ inc_tol

double QudaInvertParam_s::inc_tol

initCG tuning parameter: tolerance for cg refinement corrections in the deflation stage

Definition at line 344 of file quda.h.

Referenced by setInvertParam().

◆ input_location

QudaFieldLocation QudaInvertParam_s::input_location

◆ inv_type

QudaInverterType QudaInvertParam_s::inv_type

◆ inv_type_precondition

QudaInverterType QudaInvertParam_s::inv_type_precondition

The inner Krylov solver used in the preconditioner. Set to QUDA_INVALID_INVERTER to disable the preconditioner entirely.

Definition at line 270 of file quda.h.

Referenced by invertMultiSrcQuda(), invertQuda(), main(), printQudaInvertParam(), set_params(), and setInvertParam().

◆ iter

int QudaInvertParam_s::iter

The number of iterations performed by the solver

Definition at line 249 of file quda.h.

Referenced by eigensolveQuda(), invert_test(), invertMultiShiftQuda(), invertMultiSrcQuda(), invertQuda(), main(), and quda::SolverParam::updateInvertParam().

◆ iter_res_offset

double QudaInvertParam_s::iter_res_offset[QUDA_MAX_MULTI_SHIFT]

Iterated L2 residual norm achieved in multi shift solver for each offset

Definition at line 188 of file quda.h.

Referenced by invertMultiShiftQuda(), and quda::SolverParam::updateInvertParam().

◆ kappa

double QudaInvertParam_s::kappa

◆ laplace3D

int QudaInvertParam_s::laplace3D

omit this direction from laplace operator: x,y,z,t -> 0,1,2,3 (-1 is full 4D)

Definition at line 119 of file quda.h.

Referenced by quda::setDiracParam(), and setInvertParam().

◆ Ls

int QudaInvertParam_s::Ls

◆ m5

double QudaInvertParam_s::m5

Domain wall height

Definition at line 108 of file quda.h.

Referenced by dslashRef(), init(), main(), quda::massRescale(), quda::setDiracParam(), and setInvertParam().

◆ make_resident_solution

int QudaInvertParam_s::make_resident_solution

Whether to make the solution vector(s) after the solve

Definition at line 347 of file quda.h.

Referenced by invertMultiShiftQuda(), invertMultiSrcQuda(), and invertQuda().

◆ mass

double QudaInvertParam_s::mass

◆ mass_normalization

QudaMassNormalization QudaInvertParam_s::mass_normalization

The mass normalization is being used by the caller

Definition at line 208 of file quda.h.

Referenced by dslashQuda(), init(), main(), quda::massRescale(), MatDagMatQuda(), MatQuda(), set_params(), setInvertParam(), and setMultigridParam().

◆ matpc_type

QudaMatPCType QudaInvertParam_s::matpc_type

◆ max_hq_res_increase

int QudaInvertParam_s::max_hq_res_increase

This parameter determines how many total heavy-quark residual restarts we tolerate before terminating the solver, i.e., how long do we want to keep trying to converge

Definition at line 157 of file quda.h.

◆ max_hq_res_restart_total

int QudaInvertParam_s::max_hq_res_restart_total

After how many iterations shall the heavy quark residual be updated

Definition at line 162 of file quda.h.

◆ max_res_increase

int QudaInvertParam_s::max_res_increase

This parameter determines how many total reliable update residual increases we tolerate before terminating the solver, i.e., how long do we want to keep trying to converge

Definition at line 147 of file quda.h.

Referenced by main().

◆ max_res_increase_total

int QudaInvertParam_s::max_res_increase_total

This parameter determines how many consecutive heavy-quark residual increases we tolerate before terminating the solver, i.e., how long do we want to keep trying to converge

Definition at line 152 of file quda.h.

◆ max_restart_num

int QudaInvertParam_s::max_restart_num

initCG tuning parameter: maximum restarts

Definition at line 342 of file quda.h.

Referenced by setInvertParam().

◆ max_search_dim

int QudaInvertParam_s::max_search_dim

EeigCG : Search space dimension gmresdr : Krylov subspace dimension

Definition at line 332 of file quda.h.

Referenced by setInvertParam().

◆ maxiter

int QudaInvertParam_s::maxiter

Maximum number of iterations in the linear solver

Definition at line 128 of file quda.h.

Referenced by main(), set_params(), setInvertParam(), and setMultigridParam().

◆ maxiter_precondition

int QudaInvertParam_s::maxiter_precondition

Maximum number of iterations allowed in the inner solver

Definition at line 292 of file quda.h.

Referenced by main(), set_params(), and setInvertParam().

◆ mu

double QudaInvertParam_s::mu

Twisted mass parameter

Definition at line 114 of file quda.h.

Referenced by dslashRef(), init(), loadCloverQuda(), main(), quda::setDiracParam(), setInvertParam(), and setMultigridParam().

◆ nev

int QudaInvertParam_s::nev

How many vectors to compute after one solve for eigCG recommended values 8 or 16

Definition at line 328 of file quda.h.

Referenced by quda::deflated_solver::deflated_solver(), setDeflationParam(), and setInvertParam().

◆ Nsteps

int QudaInvertParam_s::Nsteps

Number of steps in s-step algorithms

Definition at line 256 of file quda.h.

Referenced by main(), set_params(), and setInvertParam().

◆ num_offset

int QudaInvertParam_s::num_offset

Number of offsets in the multi-shift solver

Definition at line 169 of file quda.h.

Referenced by computeStaggeredForceQuda(), invert_multishift_quda_(), invert_test(), invertMultiShiftQuda(), main(), quda::massRescale(), printQudaInvertParam(), and setInvertParam().

◆ num_src

int QudaInvertParam_s::num_src

Number of sources in the multiple source solver

Definition at line 171 of file quda.h.

Referenced by invert_test(), invertMultiSrcQuda(), and main().

◆ offset

double QudaInvertParam_s::offset[QUDA_MAX_MULTI_SHIFT]

Offsets for multi-shift solver

Definition at line 176 of file quda.h.

Referenced by invert_test(), invertMultiShiftQuda(), main(), quda::massRescale(), and quda::SolverParam::SolverParam().

◆ omega

double QudaInvertParam_s::omega

Relaxation parameter used in GCR-DD (default = 1.0)

Definition at line 295 of file quda.h.

Referenced by main(), and setInvertParam().

◆ output_location

QudaFieldLocation QudaInvertParam_s::output_location

◆ overlap

int QudaInvertParam_s::overlap

Width of domain overlaps

Definition at line 173 of file quda.h.

Referenced by checkGauge(), and quda::setDiracPreParam().

◆ pipeline

int QudaInvertParam_s::pipeline

Whether to use a pipelined solver with less global sums

Definition at line 167 of file quda.h.

Referenced by main(), set_params(), and setInvertParam().

◆ precondition_cycle

int QudaInvertParam_s::precondition_cycle

Number of preconditioner cycles to perform per iteration

Definition at line 307 of file quda.h.

Referenced by main(), and setInvertParam().

◆ preconditioner

void* QudaInvertParam_s::preconditioner

Preconditioner instance, e.g., multigrid

Definition at line 273 of file quda.h.

Referenced by main().

◆ preserve_source

QudaPreserveSource QudaInvertParam_s::preserve_source

Preserve the source or not in the linear solver (deprecated)

Definition at line 211 of file quda.h.

Referenced by main(), set_params(), setInvertParam(), and setMultigridParam().

◆ reliable_delta

double QudaInvertParam_s::reliable_delta

Reliable update tolerance

Definition at line 129 of file quda.h.

Referenced by main(), printQudaInvertParam(), set_params(), setInvertParam(), and setMultigridParam().

◆ reliable_delta_refinement

double QudaInvertParam_s::reliable_delta_refinement

Reliable update tolerance used in post multi-shift solver refinement

Definition at line 130 of file quda.h.

Referenced by invertMultiShiftQuda(), and printQudaInvertParam().

◆ residual_type

QudaResidualType QudaInvertParam_s::residual_type

Whether to use the L2 relative residual, Fermilab heavy-quark residual, or both to determine convergence. To require that both stopping conditions are satisfied, use a bitwise OR as follows:

p.residual_type = (QudaResidualType) (QUDA_L2_RELATIVE_RESIDUAL | QUDA_HEAVY_QUARK_RESIDUAL);

Definition at line 320 of file quda.h.

Referenced by invertMultiShiftQuda(), main(), printQudaInvertParam(), set_params(), and setInvertParam().

◆ residue

double QudaInvertParam_s::residue[QUDA_MAX_MULTI_SHIFT]

Residuals in the partial faction expansion

Definition at line 194 of file quda.h.

Referenced by computeStaggeredForceQuda(), and invertMultiShiftQuda().

◆ return_clover

int QudaInvertParam_s::return_clover

Whether to copy back the clover matrix field

Definition at line 241 of file quda.h.

Referenced by init(), loadCloverQuda(), and main().

◆ return_clover_inverse

int QudaInvertParam_s::return_clover_inverse

Whether to copy back the inverted clover matrix field

Definition at line 242 of file quda.h.

Referenced by init(), loadCloverQuda(), and main().

◆ rhs_idx

int QudaInvertParam_s::rhs_idx

For systems with many RHS: current RHS index

Definition at line 334 of file quda.h.

Referenced by main(), setInvertParam(), quda::SolverParam::SolverParam(), quda::SolverParam::updateInvertParam(), and quda::SolverParam::updateRhsIndex().

◆ schwarz_type

QudaSchwarzType QudaInvertParam_s::schwarz_type

Whether to use additive or multiplicative Schwarz preconditioning

Definition at line 310 of file quda.h.

Referenced by main(), and setInvertParam().

◆ secs

double QudaInvertParam_s::secs

The time taken by the solver

Definition at line 251 of file quda.h.

Referenced by eigensolveQuda(), invert_test(), invertMultiShiftQuda(), invertMultiSrcQuda(), invertQuda(), main(), and quda::SolverParam::updateInvertParam().

◆ solution_accumulator_pipeline

int QudaInvertParam_s::solution_accumulator_pipeline

This parameter determines how many consecutive reliable update residual increases we tolerate before terminating the solver, i.e., how long do we want to keep trying to converge

Definition at line 142 of file quda.h.

Referenced by main(), and setInvertParam().

◆ solution_type

QudaSolutionType QudaInvertParam_s::solution_type

◆ solve_type

QudaSolveType QudaInvertParam_s::solve_type

◆ solver_normalization

QudaSolverNormalization QudaInvertParam_s::solver_normalization

The normalization desired in the solver

Definition at line 209 of file quda.h.

Referenced by invertMultiShiftQuda(), invertMultiSrcQuda(), invertQuda(), and main().

◆ sp_pad

int QudaInvertParam_s::sp_pad

The padding to use for the fermion fields

Definition at line 246 of file quda.h.

Referenced by init(), main(), set_params(), setInvertParam(), and setMultigridParam().

◆ tol

double QudaInvertParam_s::tol

Solver tolerance in the L2 residual norm

Definition at line 121 of file quda.h.

Referenced by invert_test(), main(), set_params(), setInvertParam(), and setMultigridParam().

◆ tol_hq

double QudaInvertParam_s::tol_hq

Solver tolerance in the heavy quark residual norm

Definition at line 123 of file quda.h.

Referenced by invert_test(), main(), set_params(), and setInvertParam().

◆ tol_hq_offset

double QudaInvertParam_s::tol_hq_offset[QUDA_MAX_MULTI_SHIFT]

Solver tolerance for each shift when refinement is applied using the heavy-quark residual

Definition at line 182 of file quda.h.

Referenced by invert_test(), invertMultiShiftQuda(), main(), setInvertParam(), and quda::SolverParam::SolverParam().

◆ tol_offset

double QudaInvertParam_s::tol_offset[QUDA_MAX_MULTI_SHIFT]

Solver tolerance for each offset

Definition at line 179 of file quda.h.

Referenced by invert_test(), invertMultiShiftQuda(), main(), setInvertParam(), and quda::SolverParam::SolverParam().

◆ tol_precondition

double QudaInvertParam_s::tol_precondition

Tolerance in the inner solver

Definition at line 289 of file quda.h.

Referenced by main(), set_params(), and setInvertParam().

◆ tol_restart

double QudaInvertParam_s::tol_restart

Solver tolerance in the L2 residual norm (used to restart InitCG)

Definition at line 122 of file quda.h.

Referenced by main(), set_params(), and setInvertParam().

◆ trlogA

double QudaInvertParam_s::trlogA[2]

The trace log of the clover term (even/odd computed separately)

Definition at line 237 of file quda.h.

Referenced by loadCloverQuda().

◆ true_res

double QudaInvertParam_s::true_res

Whether to compute the true residual post solve Actual L2 residual norm achieved in solver

Definition at line 126 of file quda.h.

Referenced by invert_test(), main(), and quda::SolverParam::updateInvertParam().

◆ true_res_hq

double QudaInvertParam_s::true_res_hq

Actual heavy quark residual norm achieved in solver

Definition at line 127 of file quda.h.

Referenced by invert_test(), main(), and quda::SolverParam::updateInvertParam().

◆ true_res_hq_offset

double QudaInvertParam_s::true_res_hq_offset[QUDA_MAX_MULTI_SHIFT]

Actual heavy quark residual norm achieved in solver for each offset

Definition at line 191 of file quda.h.

Referenced by invert_test(), invertMultiShiftQuda(), main(), and quda::SolverParam::updateInvertParam().

◆ true_res_offset

double QudaInvertParam_s::true_res_offset[QUDA_MAX_MULTI_SHIFT]

Actual L2 residual norm achieved in solver for each offset

Definition at line 185 of file quda.h.

Referenced by invert_test(), invertMultiShiftQuda(), main(), and quda::SolverParam::updateInvertParam().

◆ tune

QudaTune QudaInvertParam_s::tune

Enable auto-tuning? (default = QUDA_TUNE_YES)

Definition at line 253 of file quda.h.

◆ twist_flavor

QudaTwistFlavorType QudaInvertParam_s::twist_flavor

Twisted mass flavor

Definition at line 117 of file quda.h.

Referenced by dslashRef(), init(), main(), quda::setDiracParam(), setInvertParam(), and setMultigridParam().

◆ use_alternative_reliable

int QudaInvertParam_s::use_alternative_reliable

Whether to use alternative reliable updates

Definition at line 131 of file quda.h.

Referenced by main(), and setInvertParam().

◆ use_init_guess

QudaUseInitGuess QudaInvertParam_s::use_init_guess

Whether to use an initial guess in the solver or not

Definition at line 231 of file quda.h.

Referenced by invertMultiSrcQuda(), invertQuda(), main(), and set_params().

◆ use_resident_solution

int QudaInvertParam_s::use_resident_solution

Whether to use the resident solution vector(s)

Definition at line 350 of file quda.h.

Referenced by computeCloverForceQuda(), computeStaggeredForceQuda(), and invertQuda().

◆ use_sloppy_partial_accumulator

int QudaInvertParam_s::use_sloppy_partial_accumulator

Whether to keep the partial solution accumuator in sloppy precision This parameter determines how often we accumulate into the solution vector from the direction vectors in the solver. E.g., running with solution_accumulator_pipeline = 4, means we will update the solution vector every four iterations using the direction vectors from the prior four iterations. This increases performance of mixed-precision solvers since it means less high-precision vector round-trip memory travel, but requires more low-precision memory allocation.

Definition at line 132 of file quda.h.

Referenced by main(), set_params(), and setInvertParam().

◆ verbosity

QudaVerbosity QudaInvertParam_s::verbosity

◆ verbosity_precondition

QudaVerbosity QudaInvertParam_s::verbosity_precondition

Verbosity of the inner Krylov solver

Definition at line 286 of file quda.h.

Referenced by main(), set_params(), setInvertParam(), and setMultigridParam().


The documentation for this struct was generated from the following file: