QUDA
1.0.0
|
#include <multigrid.h>
Public Member Functions | |
multigrid_solver (QudaMultigridParam &mg_param, TimeProfile &profile) | |
virtual | ~multigrid_solver () |
Public Attributes | |
Dirac * | d |
Dirac * | dSmooth |
Dirac * | dSmoothSloppy |
DiracM * | m |
DiracM * | mSmooth |
DiracM * | mSmoothSloppy |
std::vector< ColorSpinorField * > | B |
std::vector< Complex > | evals |
MGParam * | mgParam |
MG * | mg |
TimeProfile & | profile |
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.
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().
|
inlinevirtual |
Definition at line 485 of file multigrid.h.
References quda::SolverParam::m, and quda::QUDA_PROFILE_FREE.
std::vector<ColorSpinorField*> quda::multigrid_solver::B |
Definition at line 475 of file multigrid.h.
Referenced by multigrid_solver().
Dirac* quda::multigrid_solver::d |
Definition at line 467 of file multigrid.h.
Referenced by multigrid_solver().
Dirac* quda::multigrid_solver::dSmooth |
Definition at line 468 of file multigrid.h.
Referenced by multigrid_solver().
Dirac* quda::multigrid_solver::dSmoothSloppy |
Definition at line 469 of file multigrid.h.
Referenced by multigrid_solver().
std::vector<Complex> quda::multigrid_solver::evals |
Definition at line 476 of file multigrid.h.
DiracM* quda::multigrid_solver::m |
Definition at line 471 of file multigrid.h.
Referenced by multigrid_solver().
MG* quda::multigrid_solver::mg |
Definition at line 480 of file multigrid.h.
Referenced by quda::Solver::create(), destroyMultigridQuda(), dumpMultigridQuda(), multigrid_solver(), newMultigridQuda(), and updateMultigridQuda().
MGParam* quda::multigrid_solver::mgParam |
Definition at line 478 of file multigrid.h.
Referenced by multigrid_solver().
DiracM* quda::multigrid_solver::mSmooth |
Definition at line 472 of file multigrid.h.
Referenced by multigrid_solver().
DiracM* quda::multigrid_solver::mSmoothSloppy |
Definition at line 473 of file multigrid.h.
Referenced by multigrid_solver().
TimeProfile& quda::multigrid_solver::profile |
Definition at line 481 of file multigrid.h.