Added optional flops calculation to histStaplesForceCuda,
hisqLongLinkForceCuda, hisqCompleteForceCuda, and completeKSForce.
Still need to propagate this change into the interface.
Propagated the staggered-force flops calculation into QUDA's interface
(but not the MILC interface). The hisq-force flops calculation is not
complete because it doesn't yet include the link unitarization component.
Added flops count for the unitarisation component of the HISQ force.
Added indexFromFaceIndexExtended to the quark-field packing routines
to facilitate the use of overlapping domains for fermion formulations
other than staggered.
Updated extended staggered packing to allow boundary widths of
1, 2, 3 and 4.
Added packFaceExtendedWilsonKernel.
Added outline for unpackFaceExtendedWilsonKernel.
Note this is not working code. In particular, unpackFaceWilsonCore
needs to be properly defined.
Fixed up staggered_invert_test with non-overlapping DD half-precision preconditioning
GCR now works with Steepest Descent preconditioner.
Need to fix up staggered_invert_test.
Added preconditioned CG (pcg) as an inverter option.
Fixed up tests for the preconditioned staggered inverter.
Removed some print statements from the preconditioned CG solver.
Added template for overlapping preconditioner
Added an overlap parameter to QudaGaugeParam and QudaInverterParam.
Updated loadGaugeQuda to create an extended gauge field with overlap
with specified by QudaGaugeParam::overlap.
Updated the Extended Steepest Descent (XSD) solver. In principle,
one should be able to use this to preconditioned the staggered
GCR solver. However, many of the underlying routines aren't properly
tested. Domain overlap width is specified in the client application
through QudaInvertParam::overlap and QudaGaugeParam::overlap.
At present, overlap is required to be even.
Disabled check of QudaGaugeParam::overlap. This is a temporary hack to get the
code running and is not safe.