quda icon indicating copy to clipboard operation
quda copied to clipboard

Dslash host verification cleanup

Open weinbe2 opened this issue 1 year ago • 2 comments
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_GPU and non-MULTI-GPU codepaths
  • 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 in libquda.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 ctest to avoid a few cases where ill-conditioned operators failed verification by, say, ~1.01e-10 vs ~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.

weinbe2 avatar Oct 16 '24 16:10 weinbe2

Update, do not merge until I've updated the doxygen with [in] etc

weinbe2 avatar Oct 16 '24 17:10 weinbe2

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?

maddyscientist avatar Oct 17 '24 19:10 maddyscientist