Christopher Kelly
c3712b8e06
Merge branch 'develop' into feature/gparity_HMC
2021-01-20 11:48:52 -05:00
Christopher Kelly
901ee77b84
Mixed precision multishift test can now be performed with/without G-parity using cmdline check and can load a pregenerated configuration
2021-01-20 11:45:44 -05:00
Christopher Kelly
1b84f59273
Added a mixed precision multishift algorithm for which the matrix multiplies are performed in single precision but the search directions are accumulated in double precision.
...
A reliable update step is performed at a tunable frequency to correct the residual. A final mixed-prec single-shift solve is performed on each pole to perform cleanup if necessary.
A test is provided to demonstrate the algorithm.
2021-01-06 12:24:44 -05:00
Christopher Kelly
1fb41a4300
Added copyLane function to Tensor_extract_merge.h which copies one lane of data from an input tensor object to a different lane of an output tensor object of potentially different precision
...
precisionChange lattice function now uses copyLane to remove need for temporary scalar objects, reducing register footprint and significantly improving performance
2021-01-06 11:50:56 -05:00
Christopher Kelly
287bac946f
ConjugateGradientMixedPrec now stores final true residual and uses the precisionChange workspaces for improved efficiency
2021-01-06 09:50:41 -05:00
Christopher Kelly
80c14be65e
Added core test to check precision change
2021-01-06 09:34:44 -05:00
Christopher Kelly
d7a2a4852d
Reimplemented precisionChange to run on GPUs. A workspace containing the mapping table can be optionally precomputed and reused for improved performance.
2021-01-06 09:30:49 -05:00
Christopher Kelly
d185f2eaa7
OneFlavourEvenOddRatioRationalPseudoFermionAction now derives from GeneralEvenOddRatioRationalPseudoFermionAction, simply performs transcription of parameters
2020-12-23 16:26:10 -05:00
Christopher Kelly
813d4cd900
Added test program that ensures the generic checkerboarded RHMC (with parameters set appropriately) gives the same answer as the existing 1f code
2020-12-23 16:01:42 -05:00
Christopher Kelly
75c6c6b173
General RHMC pseudofermion action now allows for different rational approximations to be used in the MD and action evaluation
2020-12-23 11:19:26 -05:00
Christopher Kelly
220ad5e3ee
Added more verbose log output to GeneralEvenOddRatioRationalPseudoFermionAction
...
In GeneralEvenOddRatioRationalPseudoFermionAction, setting the bounds check frequency to 0 now disables the check
2020-12-22 11:08:22 -05:00
Christopher Kelly
ba5dc670a5
Reimplemented GparityWilsonImpl::InsertForce5D to run efficiently on GPUs
...
Swapped order of templated tensor code and c-number specializations in Tensor_outer.h to fix compile issue with type deduction on Summit
2020-12-22 10:10:07 -05:00
Christopher Kelly
a0ca362690
Added an RHMC pseudofermion action, GeneralEvenOddRatioRationalPseudoFermionAction, that works for an arbitrary fractional power, not just a square root
...
Added a test evolution for the above, Test_rhmc_EOWilsonRatioPowQuarter, demonstrating conservation of Hamiltonian
Fixed HMC ignoring the MetropolisTest parameter of HMCparameters
2020-12-17 16:21:58 -05:00
Christopher Kelly
249b6e61ec
For G-parity BCs the Nd-1 direction is now assumed to be the time direction and setting a twist in this direction will apply antiperiodic BCs
...
Added option to run Test_gparity with antiperiodic time BCs
2020-12-17 14:09:00 -05:00
Christopher Kelly
9e7bacb5a4
Merge branch 'develop' into feature/gparity_twist_GPU
2020-12-07 11:55:39 -05:00
Christopher Kelly
2ef1fa66a8
Improved performance of G-parity kernel for GPUs by simplifying multLink implementation
2020-12-07 11:53:35 -05:00