CHROMA
syssolver_quda_multigrid_clover_params.h
Go to the documentation of this file.
1 #ifndef __SYSSOLVER_QUDA_MULTIGRID_CLOVER_PARAMS_H__
2 #define __SYSSOLVER_QUDA_MULTIGRID_CLOVER_PARAMS_H__
3 
4 #include "chromabase.h"
5 #include "io/xml_group_reader.h"
6 
10 #include <string>
11 #include "handle.h"
12 
13 namespace Chroma
14 {
16  SysSolverQUDAMULTIGRIDCloverParams(XMLReader& xml, const std::string& path);
18  solverType=CG;
23  asymmetricP = false; //< Use asymmetric version of the linear operator
24  axialGaugeP = false; //< Fix Axial Gauge?
25  SilentFailP = false; //< If set to true ignore lack of convergence. Default is 'loud'
26  RsdToleranceFactor = Real(10); //< Tolerate if the solution achived is better (less) than rsdToleranceFactor*RsdTarget
27  tuneDslashP = false ; //< v0.3 autotune feature
28  verboseP = false;
29  MULTIGRIDParamsP = false;
30  backup_invP = false;
31  dump_on_failP = false;
32  Pipeline = 1;
33  SolutionCheckP = true;
34  };
35 
37  CloverParams = p.CloverParams;
38  AntiPeriodicT = p.AntiPeriodicT;
39  MaxIter = p.MaxIter;
40  RsdTarget = p.RsdTarget;
41  Delta = p.Delta;
42  solverType = p.solverType;
43  verboseP = p.verboseP;
44  asymmetricP = p.asymmetricP;
45  cudaPrecision = p.cudaPrecision;
46  cudaReconstruct = p.cudaReconstruct;
47  cudaSloppyPrecision = p.cudaSloppyPrecision;
48  cudaSloppyReconstruct = p.cudaSloppyReconstruct;
49  axialGaugeP = p.axialGaugeP;
50  SilentFailP = p.SilentFailP;
51  RsdToleranceFactor = p.RsdToleranceFactor;
52  tuneDslashP = p.tuneDslashP;
53  MULTIGRIDParamsP = p.MULTIGRIDParamsP;
54  MULTIGRIDParams = p.MULTIGRIDParams;
55  backup_invP = p.backup_invP;
56  backup_inv_param = p.backup_inv_param;
57  dump_on_failP = p.dump_on_failP;
58  SaveSubspaceID = p.SaveSubspaceID;
59  ThresholdCount = p.ThresholdCount;
60  Pipeline = p.Pipeline;
61  SolutionCheckP = p.SolutionCheckP;
62  }
63 
64 
67  int MaxIter;
68  Real RsdTarget;
69  Real Delta;
71  bool verboseP;
82 
83  //New params for MG subspace persistence within NamedObject Storage.
86  int Pipeline;
87 
89 
90  // XML for Backup Solver
95 
96 
97  };
98 
99  void read(XMLReader& xml, const std::string& path, SysSolverQUDAMULTIGRIDCloverParams& p);
100 
101  void write(XMLWriter& xml, const std::string& path,
103 
104 
105 
106 }
107 
108 #endif
109 
110 
Primary include file for CHROMA library code.
Class for counted reference semantics.
Definition: handle.h:33
Parameters for Clover fermion action.
void read(XMLReader &xml, const std::string &path, AsqtadFermActParams &param)
Read parameters.
void write(XMLWriter &xml, const std::string &path, const AsqtadFermActParams &param)
Writer parameters.
QudaSolverType
Quda Solver type.
Definition: enum_quda_io.h:21
QudaReconsType
Quda Gauge Reconstruct type.
Definition: enum_quda_io.h:77
QudaPrecisionType
Quda Precision type.
Definition: enum_quda_io.h:50
Class for counted reference semantics.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
@ RECONS_12
Definition: enum_quda_io.h:80
::std::string string
Definition: gtest.h:1979
Params for clover ferm acts.
Hold group xml and type id.
SysSolverQUDAMULTIGRIDCloverParams(const SysSolverQUDAMULTIGRIDCloverParams &p)
Read an XML group as a std::string.