Closed weinbe2 closed 1 year ago
This now passes ctest
. @maddyscientist , assuming this now passes Jenkins, can you give this a look (and I can subsequently clang-format
it)?
This looks fairly inoffensive. Regarding ctest
passing: does this pass on multiple GPUs? Checking, since this PR touches things with Schwarz solvers, just checking that the Schwarz-preconditioned tests are working ok (Mobius PCG and Wilson GCR).....
This looks fairly inoffensive. Regarding
ctest
passing: does this pass on multiple GPUs? Checking, since this PR touches things with Schwarz solvers, just checking that the Schwarz-preconditioned tests are working ok (Mobius PCG and Wilson GCR).....
Yes, my ctest
experiments were all with -DQUDA_MPI=ON
builds running on 8xGPUs, 1x2x2x2 grid partitioning.
This narrow PR cleans up various bits and bops related to how preconditioners are created and handled in QUDA, plus other various helpful utilities:
getInverterType()
function within the baseSolver
class, forcing each derived class to specify itsQudaInverterType
enum.Solver
functionfillInnertParam
/extractInnerParam
to handle copying preconditioner properties in/out, which removed redundant code inGCR
andPCG
std::shared_ptr
to simplify cleanupMG
preconditionersOutstanding bits:
clang-format
ctest