JeffersonLab / qphix

QCD for Intel Xeon Phi and Xeon processors
http://jeffersonlab.github.io/qphix/
Other
13 stars 11 forks source link

InvRichardsonMultiPrec: add support for CG as the inner solver #88

Closed kostrzewa closed 6 years ago

kostrzewa commented 7 years ago

Let's try https://github.com/JeffersonLab/qphix/pull/86 again. I've enabled the Richardson test in the Wilson dslash test.

kostrzewa commented 7 years ago

I noticed some odd behaviour in the Dslash test which I can't quite pin down, perhaps you know more. For the random gauge tested here, BiCGstab takes more iterations than CG for what I guess is the same problem since neither the source nor the gauge field change between the runs of different solvers. Now, since this is a weak field random gauge, could it be that the smallest eigenvalue of the operator is larger than one with the given parameters? (which would make the normal operator better conditioned, thus explaining the number of iterations) I just want to make sure that we didn't inadvertenly introduce something silly. In my tests on real gauges I consistently get BiCGstab outperforming CG as expected.

kostrzewa commented 6 years ago

I think this is safe to pull in.

kostrzewa commented 6 years ago

ping

martin-ueding commented 6 years ago

Since the tests seem to work, I don't see why this would break something. So perhaps I can merge that into devel?

kostrzewa commented 6 years ago

Do the tests now include the Richardson solver?

martin-ueding commented 6 years ago

The Richardson solver is used in Wilson, Clover and TM Clover. It is missing in TM Wilson.

So I will try to get that test enabled. But having three operators tested should be sufficient for this merge, right?

kostrzewa commented 6 years ago

Yes, I think we're fine then, I don't think that we broke anything on the interface side either.

martin-ueding commented 6 years ago

The BiCGStab test is now enabled for TM Wilson and works on my machine. It will now build on Travis CI, then we can merge that into devel and have that test running as well.