This is the second round of imports from the Gparity HMC branch. In summary it contains my mixed precision multishift algorithm; a few minor algorithm fixes/improvements; the GPU version of the Gparity force insertion; support for periodic/antiperiodic BCs in the time direction for the G-parity operator (GPBC in this direction is no longer supported); as well as tests for the above. The full change list is below.
Best,
Chris
Added storage of final true residual in mixed-prec CG and enhanced log output
Fixed const correctness of multi-shift constructor
Added a mixed precision variant of the multi-shift algorithm that uses a single precision operator and applies periodic reliable update to the residual
Added tests/solver/Test_dwf_multishift_mixedprec to test the above
Fixed local coherence lanczos using the (large!) max approx to the chebyshev eval as the scale from which to judge the quality of convergence, resulting a test that always passes
Added a method to local coherence lanczos class that returns the fine eval/evec pair
Added iterative log output to power method
Added optional disabling of the plaquette check in Nerscio to support loading old G-parity configs which have a factor of 2 error in the plaquette
G-parity Dirac op no longer allows GPBC in the time direction; instead we toggle between periodic and antiperiodic
Replaced thread_for G-parity 5D force insertion implementation with accelerator_for version capable of running on GPUs
Generalized tests/lanczos/Test_dwf_lanczos to support regular DWF as well as Gparity, with the action chosen by a command line option
Modified tests/forces/Test_dwf_gpforce,Test_gpdwf_force,Test_gpwilson_force to use GPBC a spatial direction rather than the t-direction, and antiperiodic BCs for time direction
tests/core/Test_gparity now supports using APBC in time direction using command line toggle
Hi Peter,
This is the second round of imports from the Gparity HMC branch. In summary it contains my mixed precision multishift algorithm; a few minor algorithm fixes/improvements; the GPU version of the Gparity force insertion; support for periodic/antiperiodic BCs in the time direction for the G-parity operator (GPBC in this direction is no longer supported); as well as tests for the above. The full change list is below.
Best, Chris