Closed mathiaswagner closed 10 years ago
A small update from check in interface_quda.cpp
. After MultiShift everything is fine.
Then
MultiShift CG: Converged after 9143 iterations
...
// Refinement here
...
CG: Convergence at 16 iterations, L2 relative residual: iterated = 5.121317e-16, true = 5.121317e-16
WARNING: Check number of iterations to be reported to Interface after Refinement 18302
Do a little math
9143 * 2 + 16 = 18302
I have not yet found where that happens, but it seems to be in the refinement step.
Seems to related to the combination of
SolverParam solverParam(*param);
...
solverParam.updateInvertParam(*param,i);
solverParam.iter
is initialized to param.iter
, then increase by number of iterations for refinement and then added back to param.iter.
Fixed in 168ee36306ca9fba6f5c9cfed89d4f522aeffc10
Closing this issue.
We noticed that the number of iterations reported back to MILC is wrong:
There are a few iterations done for refinement but that still does not sum up.
I have added the line starting with WARNING to check whether the error comes from passing the number iterations to MILC in the milc interface. The line starting with warning comes from the milc interface and does
I have not yet checked the numbers for
invertParam.iter
at different points ininterface_quda.cpp