12 SysSolverQUDANEFParams::SysSolverQUDANEFParams(XMLReader& xml,
15 XMLReader paramtop(xml, path);
17 read(paramtop,
"MaxIter", MaxIter);
18 read(paramtop,
"RsdTarget", RsdTarget);
19 read(paramtop,
"NEFParams", NEFParams);
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(
"CudaReconstruct") > 0 ) {
55 read(paramtop,
"CudaReconstruct", cudaReconstruct);
61 if( paramtop.count(
"CudaSloppyReconstruct") > 0 ) {
62 read(paramtop,
"CudaSloppyReconstruct", cudaSloppyReconstruct);
68 if( paramtop.count(
"AxialGaugeFix") > 0 ) {
69 read(paramtop,
"AxialGaugeFix", axialGaugeP);
75 if( paramtop.count(
"SilentFail") > 0) {
76 read(paramtop,
"SilentFail", SilentFailP);
82 if( paramtop.count(
"RsdToleranceFactor") > 0 ) {
83 read(paramtop,
"RsdToleranceFactor", RsdToleranceFactor);
86 RsdToleranceFactor = Real(10);
89 if( paramtop.count(
"AutotuneDslash") > 0 ) {
90 read(paramtop,
"AutotuneDslash", tuneDslashP);
95 QDPIO::cout <<
"tuneDslasP = " << tuneDslashP << std::endl;
98 if( paramtop.count(
"GCRInnerParams") > 0 ) {
103 innerParamsP =
false;
106 if ( paramtop.count(
"BackupSolverParam") > 0 ) {
109 backup_inv_param =
readXMLGroup(paramtop,
"./BackupSolverParam",
"invType");
114 backup_inv_param.xml =
"";
117 if ( paramtop.count(
"DumpOnFail") > 0 ) {
118 read(paramtop,
"DumpOnFail", dump_on_failP);
121 dump_on_failP =
false;
124 if ( paramtop.count(
"DoCGNR") > 0 ) {
125 read(paramtop,
"DoCGNR", cgnrP);
131 if( paramtop.count(
"Pipeline") > 0 ) {
132 read(paramtop,
"Pipeline", Pipeline);
149 write(xml,
"MaxIter",
p.MaxIter);
150 write(xml,
"RsdTarget",
p.RsdTarget);
151 write(xml,
"NEFParams",
p.NEFParams);
152 write(xml,
"AntiPeriodicT",
p.AntiPeriodicT);
153 write(xml,
"Delta",
p.Delta);
154 write(xml,
"SolverType",
p.solverType);
155 write(xml,
"Verbose",
p.verboseP);
156 write(xml,
"AsymmetricLinop",
p.asymmetricP);
157 write(xml,
"CudaPrecision",
p.cudaPrecision);
158 write(xml,
"CudaReconstruct",
p.cudaReconstruct);
159 write(xml,
"CudaSloppyPrecision",
p.cudaSloppyPrecision);
160 write(xml,
"CudaSloppyReconstruct",
p.cudaSloppyReconstruct);
161 write(xml,
"AxialGaugeFix",
p.axialGaugeP);
162 write(xml,
"SilentFail",
p.SilentFailP);
163 write(xml,
"RsdToleranceFactor",
p.RsdToleranceFactor);
165 write(xml,
"AutotuneDslash",
p.tuneDslashP);
166 if(
p.innerParamsP ) {
167 write(xml,
"GCRInnerParams", *(
p.innerParams));
170 write(xml,
"DumpOnFail",
p.dump_on_failP);
171 write(xml,
"DoCGNR",
p.cgnrP );
172 write(xml,
"Pipeline",
p.Pipeline);
173 if(
p.backup_invP ) {
176 std::istringstream is(
p.backup_inv_param.xml);
177 XMLReader tmp_reader(is);
179 write(xml,
"BackupSolverParam", tmp_reader);
Primary include file for CHROMA library code.
GroupXML_t readXMLGroup(XMLReader &xml_in, const std::string &path, const std::string &type_name)
Read group and return as a std::string.
Asqtad Staggered-Dirac operator.
void read(XMLReader &xml, const std::string &path, SysSolverQUDANEFParams &p)
void write(XMLWriter &xml, const std::string &path, const SysSolverQUDANEFParams &p)
push(xml_out,"Cooled_Topology")
Read an XML group as a std::string.