Closed maddyscientist closed 2 years ago
There are still a couple of saveTuneCache in the interface. I guess they can all be deleted?
There are still a couple of saveTuneCache in the interface. I guess they can all be deleted?
I left those intentionally, but happy to discuss their removal. Those were left to ensure that when the solver finishes, the tunecache is dumped which I naively thought was desirable. Given it would be dumped anyway when endQuda
is called, I'm happy to delete for code cleanup.
Thoughts?
Merging this now. I've verified manually:
I've updated the description with a few late additions to this PR that were added during review.
This PR is focussed on framework evolution to get us ready for multi-RHS workflows
vector_ref
class which replaces the prior use ofstd::vector<ColorSpinorField_ref>
Dirac
andDiracMatrix
classesstd::vector<ColorSpinorField>
instead ofstd::vector<ColorSpinorField*>
FieldTmp
which provides a cache for temporary objects. Deployed in theDirac
operators to negate the need to allocate and maintain explicit temporary vectorsmax
andmax_deviation
reduce kernels, useful for correctness testingio_test
, for testing both gauge and color-spinor storage when QIO is enabledconst
correct, and doxygen is now added for all functions.Update
Some additional fixes added during review:
max_res_increase
default parameter to ensure more reliable convergence in ctestQUDA_INVERFACE_NVTX=ON