QUDA  0.9.0
Public Attributes | List of all members
QudaMultigridParam_s Struct Reference

#include <quda.h>

Collaboration diagram for QudaMultigridParam_s:
Collaboration graph
[legend]

Public Attributes

QudaInvertParaminvert_param
 
int n_level
 
int geo_block_size [QUDA_MAX_MG_LEVEL][QUDA_MAX_DIM]
 
int spin_block_size [QUDA_MAX_MG_LEVEL]
 
int n_vec [QUDA_MAX_MG_LEVEL]
 
QudaVerbosity verbosity [QUDA_MAX_MG_LEVEL]
 
QudaInverterType setup_inv_type [QUDA_MAX_MG_LEVEL]
 
double setup_tol [QUDA_MAX_MG_LEVEL]
 
QudaInverterType smoother [QUDA_MAX_MG_LEVEL]
 
QudaSolutionType coarse_grid_solution_type [QUDA_MAX_MG_LEVEL]
 
QudaSolveType smoother_solve_type [QUDA_MAX_MG_LEVEL]
 
QudaMultigridCycleType cycle_type [QUDA_MAX_MG_LEVEL]
 
int nu_pre [QUDA_MAX_MG_LEVEL]
 
int nu_post [QUDA_MAX_MG_LEVEL]
 
double smoother_tol [QUDA_MAX_MG_LEVEL]
 
double omega [QUDA_MAX_MG_LEVEL]
 
QudaBoolean global_reduction [QUDA_MAX_MG_LEVEL]
 
QudaFieldLocation location [QUDA_MAX_MG_LEVEL]
 
QudaComputeNullVector compute_null_vector
 
QudaBoolean generate_all_levels
 
QudaBoolean run_verify
 
char vec_infile [256]
 
char vec_outfile [256]
 
double gflops
 
double secs
 
double mu_factor [QUDA_MAX_MG_LEVEL]
 

Detailed Description

Definition at line 393 of file quda.h.

Member Data Documentation

◆ coarse_grid_solution_type

QudaSolutionType QudaMultigridParam_s::coarse_grid_solution_type[QUDA_MAX_MG_LEVEL]

The type of residual to send to the next coarse grid, and thus the type of solution to receive back from this coarse grid

Definition at line 423 of file quda.h.

Referenced by quda::MG::MG(), and setMultigridParam().

◆ compute_null_vector

QudaComputeNullVector QudaMultigridParam_s::compute_null_vector

Whether to compute the null vectors or reload them

Definition at line 450 of file quda.h.

Referenced by quda::MG::MG(), and setMultigridParam().

◆ cycle_type

QudaMultigridCycleType QudaMultigridParam_s::cycle_type[QUDA_MAX_MG_LEVEL]

The type of multigrid cycle to perform at each level

Definition at line 429 of file quda.h.

Referenced by setMultigridParam().

◆ generate_all_levels

QudaBoolean QudaMultigridParam_s::generate_all_levels

Whether to generate on all levels or just on level 0

Definition at line 453 of file quda.h.

Referenced by quda::MG::MG(), and setMultigridParam().

◆ geo_block_size

int QudaMultigridParam_s::geo_block_size[QUDA_MAX_MG_LEVEL][QUDA_MAX_DIM]

Geometric block sizes to use on each level

Definition at line 401 of file quda.h.

Referenced by quda::MG::MG(), and setMultigridParam().

◆ gflops

double QudaMultigridParam_s::gflops

The Gflops rate of the multigrid solver setup The time taken by the multigrid solver setup

Definition at line 465 of file quda.h.

Referenced by quda::multigrid_solver::multigrid_solver().

◆ global_reduction

QudaBoolean QudaMultigridParam_s::global_reduction[QUDA_MAX_MG_LEVEL]

Whether to use global reductions or not for the smoother / solver at each level

Definition at line 444 of file quda.h.

Referenced by setMultigridParam().

◆ invert_param

QudaInvertParam* QudaMultigridParam_s::invert_param

◆ location

QudaFieldLocation QudaMultigridParam_s::location[QUDA_MAX_MG_LEVEL]

Location where each level should be done

Definition at line 447 of file quda.h.

Referenced by quda::MG::MG(), setMultigridParam(), and quda::MG::verify().

◆ mu_factor

double QudaMultigridParam_s::mu_factor[QUDA_MAX_MG_LEVEL]

Multiplicative factor for the mu parameter

Definition at line 471 of file quda.h.

Referenced by quda::MG::MG(), setMultigridParam(), and quda::MG::verify().

◆ n_level

int QudaMultigridParam_s::n_level

Number of multigrid levels

Definition at line 398 of file quda.h.

Referenced by quda::multigrid_solver::multigrid_solver(), and setMultigridParam().

◆ n_vec

int QudaMultigridParam_s::n_vec[QUDA_MAX_MG_LEVEL]

Number of null-space vectors to use on each level

Definition at line 407 of file quda.h.

Referenced by quda::MG::MG(), quda::multigrid_solver::multigrid_solver(), setMultigridParam(), and quda::MG::~MG().

◆ nu_post

int QudaMultigridParam_s::nu_post[QUDA_MAX_MG_LEVEL]

Number of post-smoother applications on each level

Definition at line 435 of file quda.h.

Referenced by quda::MG::generateNullVectors(), and setMultigridParam().

◆ nu_pre

int QudaMultigridParam_s::nu_pre[QUDA_MAX_MG_LEVEL]

Number of pre-smoother applications on each level

Definition at line 432 of file quda.h.

Referenced by quda::MG::generateNullVectors(), and setMultigridParam().

◆ omega

double QudaMultigridParam_s::omega[QUDA_MAX_MG_LEVEL]

Over/under relaxation factor for the smoother at each level

Definition at line 441 of file quda.h.

Referenced by setMultigridParam().

◆ run_verify

QudaBoolean QudaMultigridParam_s::run_verify

Whether to run the verification checks once set up is complete

Definition at line 456 of file quda.h.

Referenced by quda::MG::MG(), and setMultigridParam().

◆ secs

double QudaMultigridParam_s::secs

Definition at line 468 of file quda.h.

Referenced by quda::multigrid_solver::multigrid_solver().

◆ setup_inv_type

QudaInverterType QudaMultigridParam_s::setup_inv_type[QUDA_MAX_MG_LEVEL]

Inverter to use in the setup phase

Definition at line 413 of file quda.h.

Referenced by quda::MG::generateNullVectors(), and setMultigridParam().

◆ setup_tol

double QudaMultigridParam_s::setup_tol[QUDA_MAX_MG_LEVEL]

Tolerance to use in the setup phase

Definition at line 416 of file quda.h.

Referenced by quda::MG::generateNullVectors(), and setMultigridParam().

◆ smoother

QudaInverterType QudaMultigridParam_s::smoother[QUDA_MAX_MG_LEVEL]

Smoother to use on each level

Definition at line 419 of file quda.h.

Referenced by quda::MG::generateNullVectors(), and setMultigridParam().

◆ smoother_solve_type

QudaSolveType QudaMultigridParam_s::smoother_solve_type[QUDA_MAX_MG_LEVEL]

The type of smoother solve to do on each grid (e/o preconditioning or not)

Definition at line 426 of file quda.h.

Referenced by main(), quda::MG::MG(), quda::multigrid_solver::multigrid_solver(), setMultigridParam(), and updateMultigridQuda().

◆ smoother_tol

double QudaMultigridParam_s::smoother_tol[QUDA_MAX_MG_LEVEL]

Tolerance to use for the smoother / solver on each level

Definition at line 438 of file quda.h.

Referenced by quda::MG::generateNullVectors(), quda::MG::MG(), and setMultigridParam().

◆ spin_block_size

int QudaMultigridParam_s::spin_block_size[QUDA_MAX_MG_LEVEL]

Spin block sizes to use on each level

Definition at line 404 of file quda.h.

Referenced by setMultigridParam().

◆ vec_infile

char QudaMultigridParam_s::vec_infile[256]

Filename prefix where to load the null-space vectors

Definition at line 459 of file quda.h.

Referenced by quda::MG::loadVectors(), quda::MG::MG(), and setMultigridParam().

◆ vec_outfile

char QudaMultigridParam_s::vec_outfile[256]

Filename prefix for where to save the null-space vectors

Definition at line 462 of file quda.h.

Referenced by quda::MG::generateNullVectors(), quda::MG::saveVectors(), and setMultigridParam().

◆ verbosity

QudaVerbosity QudaMultigridParam_s::verbosity[QUDA_MAX_MG_LEVEL]

Verbosity on each level of the multigrid

Definition at line 410 of file quda.h.

Referenced by quda::MG::MG(), and setMultigridParam().


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