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

#include <multigrid.h>

Collaboration diagram for quda::multigrid_solver:
Collaboration graph
[legend]

Public Member Functions

 multigrid_solver (QudaMultigridParam &mg_param, TimeProfile &profile)
 
virtual ~multigrid_solver ()
 

Public Attributes

Diracd
 
DiracdSmooth
 
DiracdSmoothSloppy
 
DiracMm
 
DiracMmSmooth
 
DiracMmSmoothSloppy
 
std::vector< ColorSpinorField * > B
 
std::vector< Complexevals
 
MGParammgParam
 
MGmg
 
TimeProfileprofile
 

Detailed Description

This is an object that captures an entire MG preconditioner state. A bit of a hack at the moment, this is used to allow us to store and reuse the mg solver between solves. This is use by the newMultigridQuda and destroyMultigridQuda interface functions.

Definition at line 466 of file multigrid.h.

Constructor & Destructor Documentation

◆ multigrid_solver()

multigrid_solver::multigrid_solver ( QudaMultigridParam mg_param,
TimeProfile profile 
)

Definition at line 2547 of file interface_quda.cpp.

References B, checkGauge(), quda::ColorSpinorParam::create, quda::Dirac::create(), quda::ColorSpinorField::Create(), csParam, cudaGauge, d, dSmooth, dSmoothSloppy, errorQuda, quda::ColorSpinorParam::fieldOrder, getVerbosity(), QudaMultigridParam_s::gflops, quda::DiracParam::halo_precision, QudaMultigridParam_s::invert_param, m, quda::LatticeFieldParam::mem_type, mg, mgParam, mSmooth, mSmoothSloppy, QudaMultigridParam_s::n_level, QudaMultigridParam_s::n_vec, param, QudaMultigridParam_s::precision_null, printfQuda, printQudaMultigridParam(), QUDA_BOOLEAN_TRUE, QUDA_CPU_FIELD_LOCATION, QUDA_CUDA_FIELD_LOCATION, QUDA_DEBUG_VERBOSE, QUDA_DIRECT_PC_SOLVE, QUDA_DIRECT_SOLVE, QUDA_FLOAT2_FIELD_ORDER, QUDA_INVALID_SCHWARZ, QUDA_MATPC_SOLUTION, QUDA_MATPCDAG_MATPC_SOLUTION, QUDA_MAX_MG_LEVEL, QUDA_MEMORY_DEVICE, QUDA_MEMORY_MAPPED, QUDA_NORMOP_PC_SOLVE, QUDA_NULL_FIELD_CREATE, quda::QUDA_PROFILE_INIT, QUDA_SINGLE_PRECISION, QUDA_SPACE_SPIN_COLOR_FIELD_ORDER, QUDA_VERBOSE, quda::saveTuneCache(), QudaMultigridParam_s::secs, quda::setDiracPreParam(), quda::setDiracSloppyParam(), quda::ColorSpinorParam::setPrecision(), QudaMultigridParam_s::setup_location, QudaMultigridParam_s::setup_minimize_memory, QudaMultigridParam_s::smoother_halo_precision, QudaMultigridParam_s::smoother_schwarz_type, QudaMultigridParam_s::smoother_solve_type, QudaInvertParam_s::solution_type, QudaInvertParam_s::solve_type, quda::SolverParam::updateInvertParam(), and quda::LatticeField::X().

Referenced by newMultigridQuda().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~multigrid_solver()

virtual quda::multigrid_solver::~multigrid_solver ( )
inlinevirtual

Definition at line 485 of file multigrid.h.

References quda::SolverParam::m, and quda::QUDA_PROFILE_FREE.

Member Data Documentation

◆ B

std::vector<ColorSpinorField*> quda::multigrid_solver::B

Definition at line 475 of file multigrid.h.

Referenced by multigrid_solver().

◆ d

Dirac* quda::multigrid_solver::d

Definition at line 467 of file multigrid.h.

Referenced by multigrid_solver().

◆ dSmooth

Dirac* quda::multigrid_solver::dSmooth

Definition at line 468 of file multigrid.h.

Referenced by multigrid_solver().

◆ dSmoothSloppy

Dirac* quda::multigrid_solver::dSmoothSloppy

Definition at line 469 of file multigrid.h.

Referenced by multigrid_solver().

◆ evals

std::vector<Complex> quda::multigrid_solver::evals

Definition at line 476 of file multigrid.h.

◆ m

DiracM* quda::multigrid_solver::m

Definition at line 471 of file multigrid.h.

Referenced by multigrid_solver().

◆ mg

MG* quda::multigrid_solver::mg

◆ mgParam

MGParam* quda::multigrid_solver::mgParam

Definition at line 478 of file multigrid.h.

Referenced by multigrid_solver().

◆ mSmooth

DiracM* quda::multigrid_solver::mSmooth

Definition at line 472 of file multigrid.h.

Referenced by multigrid_solver().

◆ mSmoothSloppy

DiracM* quda::multigrid_solver::mSmoothSloppy

Definition at line 473 of file multigrid.h.

Referenced by multigrid_solver().

◆ profile

TimeProfile& quda::multigrid_solver::profile

Definition at line 481 of file multigrid.h.


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