QUDA  v1.1.0
A library for QCD on GPUs
Public Attributes | List of all members
QudaEigParam_s Struct Reference

#include <quda.h>

Public Attributes

size_t struct_size
 
QudaInvertParaminvert_param
 
QudaEigType eig_type
 
QudaBoolean use_poly_acc
 
int poly_deg
 
double a_min
 
double a_max
 
QudaBoolean preserve_deflation
 
void * preserve_deflation_space
 
QudaBoolean preserve_evals
 
QudaBoolean use_dagger
 
QudaBoolean use_norm_op
 
QudaBoolean use_eigen_qr
 
QudaBoolean compute_svd
 
QudaBoolean compute_gamma5
 
QudaBoolean require_convergence
 
QudaEigSpectrumType spectrum
 
int n_ev
 
int n_kr
 
int nLockedMax
 
int n_conv
 
int n_ev_deflate
 
double tol
 
double qr_tol
 
int check_interval
 
int max_restarts
 
int batched_rotate
 
int block_size
 
QudaBoolean arpack_check
 
char arpack_logfile [512]
 
char QUDA_logfile [512]
 
int nk
 
int np
 
QudaBoolean import_vectors
 
QudaPrecision cuda_prec_ritz
 
QudaMemoryType mem_type_ritz
 
QudaFieldLocation location
 
QudaBoolean run_verify
 
char vec_infile [256]
 
char vec_outfile [256]
 
QudaPrecision save_prec
 
QudaBoolean io_parity_inflate
 
double gflops
 
double secs
 
QudaExtLibType extlib_type
 

Detailed Description

Definition at line 406 of file quda.h.

Member Data Documentation

◆ a_max

double QudaEigParam_s::a_max

Definition at line 426 of file quda.h.

◆ a_min

double QudaEigParam_s::a_min

Range used in polynomial acceleration

Definition at line 425 of file quda.h.

◆ arpack_check

QudaBoolean QudaEigParam_s::arpack_check

In the test function, cross check the device result against ARPACK

Definition at line 492 of file quda.h.

◆ arpack_logfile

char QudaEigParam_s::arpack_logfile[512]

For Arpack cross check, name of the Arpack logfile

Definition at line 494 of file quda.h.

◆ batched_rotate

int QudaEigParam_s::batched_rotate

For the Ritz rotation, the maximal number of extra vectors the solver may allocate

Definition at line 487 of file quda.h.

◆ block_size

int QudaEigParam_s::block_size

For block method solvers, the block size

Definition at line 489 of file quda.h.

◆ check_interval

int QudaEigParam_s::check_interval

For IRLM/IRAM, check every nth restart

Definition at line 483 of file quda.h.

◆ compute_gamma5

QudaBoolean QudaEigParam_s::compute_gamma5

Performs the \gamma_5 OP solve by Post multipling the eignvectors with \gamma_5 before computing the eigenvalues

Definition at line 460 of file quda.h.

◆ compute_svd

QudaBoolean QudaEigParam_s::compute_svd

Performs an MdagM solve, then constructs the left and right SVD.

Definition at line 456 of file quda.h.

◆ cuda_prec_ritz

QudaPrecision QudaEigParam_s::cuda_prec_ritz

The precision of the Ritz vectors

Definition at line 510 of file quda.h.

◆ eig_type

QudaEigType QudaEigParam_s::eig_type

Type of eigensolver algorithm to employ

Definition at line 416 of file quda.h.

◆ extlib_type

QudaExtLibType QudaEigParam_s::extlib_type

Which external library to use in the deflation operations (MAGMA or Eigen)

Definition at line 542 of file quda.h.

◆ gflops

double QudaEigParam_s::gflops

The Gflops rate of the eigensolver setup The time taken by the eigensolver setup

Definition at line 536 of file quda.h.

◆ import_vectors

QudaBoolean QudaEigParam_s::import_vectors

Whether to load eigenvectors

Definition at line 507 of file quda.h.

◆ invert_param

QudaInvertParam* QudaEigParam_s::invert_param

Used to store information pertinent to the operator

Definition at line 413 of file quda.h.

◆ io_parity_inflate

QudaBoolean QudaEigParam_s::io_parity_inflate

Whether to inflate single-parity eigen-vector I/O to a full field (e.g., enabling this is required for compatability with MILC I/O)

Definition at line 533 of file quda.h.

◆ location

QudaFieldLocation QudaEigParam_s::location

Location where deflation should be done

Definition at line 516 of file quda.h.

◆ max_restarts

int QudaEigParam_s::max_restarts

For IRLM/IRAM, quit after n restarts

Definition at line 485 of file quda.h.

◆ mem_type_ritz

QudaMemoryType QudaEigParam_s::mem_type_ritz

The memory type used to keep the Ritz vectors

Definition at line 513 of file quda.h.

◆ n_conv

int QudaEigParam_s::n_conv

Number of requested converged eigenvectors

Definition at line 475 of file quda.h.

◆ n_ev

int QudaEigParam_s::n_ev

Size of the eigenvector search space

Definition at line 469 of file quda.h.

◆ n_ev_deflate

int QudaEigParam_s::n_ev_deflate

Number of requested converged eigenvectors to use in deflation

Definition at line 477 of file quda.h.

◆ n_kr

int QudaEigParam_s::n_kr

Total size of Krylov space

Definition at line 471 of file quda.h.

◆ nk

int QudaEigParam_s::nk

Definition at line 503 of file quda.h.

◆ nLockedMax

int QudaEigParam_s::nLockedMax

Max number of locked eigenpairs (deduced at runtime)

Definition at line 473 of file quda.h.

◆ np

int QudaEigParam_s::np

Definition at line 504 of file quda.h.

◆ poly_deg

int QudaEigParam_s::poly_deg

Degree of the Chebysev polynomial

Definition at line 422 of file quda.h.

◆ preserve_deflation

QudaBoolean QudaEigParam_s::preserve_deflation

Whether to preserve the deflation space between solves. If true, the space will be stored in an instance of the deflation_space struct, pointed to by preserve_deflation_space

Definition at line 431 of file quda.h.

◆ preserve_deflation_space

void* QudaEigParam_s::preserve_deflation_space

This is where we store the deflation space. This will point to an instance of deflation_space. When a deflated solver is enabled, the deflation space will be obtained from this.

Definition at line 435 of file quda.h.

◆ preserve_evals

QudaBoolean QudaEigParam_s::preserve_evals

If we restore the deflation space, this boolean indicates whether we are also preserving the evalues or recomputing them. For example if a different mass shift is being used than the one used to generate the space, then this should be false, but preserve_deflation would be true

Definition at line 442 of file quda.h.

◆ qr_tol

double QudaEigParam_s::qr_tol

Tolerance on the QR iteration

Definition at line 481 of file quda.h.

◆ QUDA_logfile

char QudaEigParam_s::QUDA_logfile[512]

Name of the QUDA logfile (residua, upper Hessenberg/tridiag matrix updates)

Definition at line 497 of file quda.h.

◆ require_convergence

QudaBoolean QudaEigParam_s::require_convergence

If true, the solver will error out if the convergence criteria are not met

Definition at line 463 of file quda.h.

◆ run_verify

QudaBoolean QudaEigParam_s::run_verify

Whether to run the verification checks once set up is complete

Definition at line 519 of file quda.h.

◆ save_prec

QudaPrecision QudaEigParam_s::save_prec

The precision with which to save the vectors

Definition at line 528 of file quda.h.

◆ secs

double QudaEigParam_s::secs

Definition at line 539 of file quda.h.

◆ spectrum

QudaEigSpectrumType QudaEigParam_s::spectrum

Which part of the spectrum to solve

Definition at line 466 of file quda.h.

◆ struct_size

size_t QudaEigParam_s::struct_size

Size of this struct in bytes. Used to ensure that the host application and QUDA see the same struct size

Definition at line 408 of file quda.h.

◆ tol

double QudaEigParam_s::tol

Tolerance on the least well known eigenvalue's residual

Definition at line 479 of file quda.h.

◆ use_dagger

QudaBoolean QudaEigParam_s::use_dagger

What type of Dirac operator we are using If !(use_norm_op) && !(use_dagger) use M. If use_dagger, use Mdag If use_norm_op, use MdagM If use_norm_op && use_dagger use MMdag.

Definition at line 449 of file quda.h.

◆ use_eigen_qr

QudaBoolean QudaEigParam_s::use_eigen_qr

Use Eigen routines to eigensolve the upper Hessenberg via QR

Definition at line 453 of file quda.h.

◆ use_norm_op

QudaBoolean QudaEigParam_s::use_norm_op

Definition at line 450 of file quda.h.

◆ use_poly_acc

QudaBoolean QudaEigParam_s::use_poly_acc

Use Polynomial Acceleration

Definition at line 419 of file quda.h.

◆ vec_infile

char QudaEigParam_s::vec_infile[256]

Filename prefix where to load the null-space vectors

Definition at line 522 of file quda.h.

◆ vec_outfile

char QudaEigParam_s::vec_outfile[256]

Filename prefix for where to save the null-space vectors

Definition at line 525 of file quda.h.


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