12 MultiSysSolverQUDACloverParams::MultiSysSolverQUDACloverParams(XMLReader& xml,
15 XMLReader paramtop(xml, path);
17 read(paramtop,
"MaxIter", MaxIter);
18 read(paramtop,
"RsdTarget", RsdTarget);
19 read(paramtop,
"CloverParams", CloverParams);
20 read(paramtop,
"AntiPeriodicT", AntiPeriodicT);
22 read(paramtop,
"Delta", Delta);
25 read(paramtop,
"SolverType", solverType);
27 if ( paramtop.count(
"Verbose") > 0 ) {
28 read(paramtop,
"Verbose", verboseP);
33 if ( paramtop.count(
"AsymmetricLinop") > 0 ) {
34 read(paramtop,
"AsymmetricLinop", asymmetricP);
40 if( paramtop.count(
"CudaPrecision") > 0 ) {
41 read(paramtop,
"CudaPrecision", cudaPrecision);
47 if( paramtop.count(
"CudaSloppyPrecision") > 0 ) {
48 read(paramtop,
"CudaSloppyPrecision", cudaSloppyPrecision);
54 if( paramtop.count(
"CudaRefinementPrecision") > 0 ) {
55 read(paramtop,
"CudaRefinementPrecision", cudaRefinementPrecision);
58 cudaRefinementPrecision =
DEFAULT;
61 if( paramtop.count(
"CudaReconstruct") > 0 ) {
62 read(paramtop,
"CudaReconstruct", cudaReconstruct);
68 if( paramtop.count(
"CudaSloppyReconstruct") > 0 ) {
69 read(paramtop,
"CudaSloppyReconstruct", cudaSloppyReconstruct);
75 if( paramtop.count(
"CudaRefinementReconstruct") > 0 ) {
76 read(paramtop,
"CudaRefinementReconstruct", cudaRefinementReconstruct);
82 if( paramtop.count(
"AxialGaugeFix") > 0 ) {
83 read(paramtop,
"AxialGaugeFix", axialGaugeP);
89 if( paramtop.count(
"SilentFail") > 0) {
90 read(paramtop,
"SilentFail", SilentFailP);
96 if( paramtop.count(
"RsdToleranceFactor") > 0 ) {
97 read(paramtop,
"RsdToleranceFactor", RsdToleranceFactor);
100 RsdToleranceFactor = Real(10);
103 if( paramtop.count(
"AutotuneDslash") > 0 ) {
104 read(paramtop,
"AutotuneDslash", tuneDslashP);
109 QDPIO::cout <<
"tuneDslasP = " << tuneDslashP << std::endl;
112 if( paramtop.count(
"GCRInnerParams") > 0 ) {
117 innerParamsP =
false;
120 if ( paramtop.count(
"CheckShifts") == 1 ) {
121 read(paramtop,
"CheckShifts", checkShiftsP );
124 if( paramtop.count(
"check_shifts") == 1) {
125 read(paramtop,
"check_shifts", checkShiftsP) ;
128 if( paramtop.count(
"Pipeline") == 1 ) {
129 read(paramtop,
"Pipeline", Pipeline);
147 write(xml,
"MaxIter",
p.MaxIter);
148 write(xml,
"RsdTarget",
p.RsdTarget);
149 write(xml,
"CloverParams",
p.CloverParams);
150 write(xml,
"AntiPeriodicT",
p.AntiPeriodicT);
151 write(xml,
"Delta",
p.Delta);
152 write(xml,
"SolverType",
p.solverType);
153 write(xml,
"Verbose",
p.verboseP);
154 write(xml,
"AsymmetricLinop",
p.asymmetricP);
155 write(xml,
"CudaPrecision",
p.cudaPrecision);
156 write(xml,
"CudaReconstruct",
p.cudaReconstruct);
157 write(xml,
"CudaSloppyPrecision",
p.cudaSloppyPrecision);
158 write(xml,
"CudaSloppyReconstruct",
p.cudaSloppyReconstruct);
159 write(xml,
"AxialGaugeFix",
p.axialGaugeP);
160 write(xml,
"SilentFail",
p.SilentFailP);
161 write(xml,
"RsdToleranceFactor",
p.RsdToleranceFactor);
162 write(xml,
"CheckShifts",
p.checkShiftsP);
163 write(xml,
"AutotuneDslash",
p.tuneDslashP);
164 write(xml,
"Pipeline",
p.Pipeline);
166 if(
p.innerParamsP ) {
167 write(xml,
"GCRInnerParams", *(
p.innerParams));
Primary include file for CHROMA library code.
Asqtad Staggered-Dirac operator.
void write(XMLWriter &xml, const std::string &path, const MultiSysSolverQUDACloverParams &p)
void read(XMLReader &xml, const std::string &path, MultiSysSolverQUDACloverParams &p)
push(xml_out,"Cooled_Topology")
Read an XML group as a std::string.