quda
quda copied to clipboard
Dslash host verification cleanup
trafficstars
This PR is a collection of cleanups to the host verification code relevant for the various dslashes. This includes:
- Adding doxygen to the Wilson and DWF routines
- Removing redundant routines across the Wilson and DWF verification code
- Improving consistency of variable names across the different functions
- Eliminated the separate
MULTI_GPUand non-MULTI-GPUcodepaths - Added OpenMP
#pragmas to the DWF verification code, similar to the Wilson and staggered parallelism - Homogenized practices for
#include <...>vs#include "..."---<...>for "external" headers (standard C, C++, as well as things inlibquda.so);"..."for headers uniquely within the QUDA test code
There are also a few bugfixes/sanity improvements
- Fixed the convergence criteria for the MR solver
- Loosened Arnoldi convergence requirements for
ctestto avoid a few cases where ill-conditioned operators failed verification by, say, ~1.01e-10vs ~1e-10.
To do on my part:
- [ ] Add
[in],[out],[in,out]as appropriate
Outstanding asks:
- [x] @hummingtree can you review my doxygen for the dwf routines, especially the EOFA code? I put in some best-faith documentation based on my understanding of the code, but any corrections/additions are welcome.
Update, do not merge until I've updated the doxygen with [in] etc
Thanks for dealing with the in, out hell @weinbe2. One final question: have you run multi-gpu ctest with OMP enabled for fully enabled build of QUDA?