1
0
mirror of https://github.com/paboyle/Grid.git synced 2024-11-10 07:55:35 +00:00
Commit Graph

6971 Commits

Author SHA1 Message Date
Peter Boyle
74f10c2dc0 Move barrier into Stencil Send 2022-08-04 13:34:11 -04:00
Peter Boyle
a93d5459d4 Better mpi request completion 2022-07-28 12:18:35 -04:00
Peter Boyle
9c21add0c6 High res timer replaces getttimeofday 2022-07-28 12:14:03 -04:00
Peter Boyle
639aab6563 High res timer instead of gettimeofday 2022-07-28 12:13:35 -04:00
Peter Boyle
8137cc7049 Allways concurrent comms 2022-07-28 12:01:51 -04:00
Peter Boyle
60e63dca1d Add memory logging channel 2022-07-28 11:39:15 -04:00
Peter Boyle
486409574e Expanded cach to avoid any allocs in HMC 2022-07-28 11:38:34 -04:00
Peter Boyle
a913b8be12 Dslash self timing. Might want to not have this 2022-07-28 11:37:55 -04:00
Peter Boyle
2239751850 Better logging 2022-07-28 11:37:36 -04:00
Peter Boyle
9b20f1449c Better timing 2022-07-28 11:37:12 -04:00
Peter Boyle
b99453083d Updated timing 2022-07-28 11:37:02 -04:00
Peter Boyle
943fbb914d Merge branch 'feature/dirichlet' of https://github.com/paboyle/Grid into feature/dirichlet 2022-07-11 13:48:42 -04:00
Peter Boyle
ca4603580d Verbose 2022-07-11 13:48:35 -04:00
Peter Boyle
f73db8f1f3 Synch clocks 2022-07-11 13:47:39 -04:00
Peter Boyle
f7217d12d2 World barrier for clock synch 2022-07-11 13:45:31 -04:00
Peter Boyle
fab50c57d9 More loggin 2022-07-11 18:42:27 +01:00
Peter Boyle
3440534fbf MixedPrec support 2022-07-10 21:35:18 +01:00
Peter Boyle
177b1a7ec6 Mixed prec 2022-07-10 21:34:10 +01:00
Peter Boyle
58182fe345 Different approach to default dirichlet params 2022-07-10 21:32:58 +01:00
Peter Boyle
1f907d330d Different default params for dirichlet 2022-07-10 21:31:48 +01:00
Peter Boyle
b0fe664e9d Better force log info 2022-07-10 21:31:25 +01:00
Peter Boyle
c0f8482402 Remove SSC marks 2022-07-07 17:49:36 +01:00
Peter Boyle
3544965f54 Stream doesn't work 2022-07-07 17:49:20 +01:00
Christopher Kelly
33e4a0caee Imported changes from feature/gparity_HMC branch:
Rework of WilsonFlow class
		Fixed logic error in smear method where the step index was initialized to 1 rather than 0, resulting in the logged output value of tau being too large by epsilon
		Previously smear_adaptive would maintain the current value of tau as a class member variable whereas smear would compute it separately; now both methods maintain the current value internally and it is updated by the evolve_step routines. Both evolve methods are now const.
		smear_adaptive now also maintains the current value of epsilon internally, allowing it to be a const method and also allowing the same class instance to be reused without needing to be reset
		Replaced the fixed evaluation of the plaquette energy density and plaquette topological charge during the smearing with a highly flexible general strategy where the user can add arbitrary measurements as functional objects that are evaluated at an arbitrary frequency
	        By default the same plaquette-based measurements are performed, but additional example functions are provided where the smearing is performed with different choices of measurement that are returned as an array for further processing
		Added a method to compute the energy density using the Cloverleaf approach which has smaller discretization errors
	Added a new tensor utility operation, copyLane, which allows for the copying of a single SIMD lane between two instances of the same tensor type but potentially different precisions
	To LocalCoherenceLanczos, added the option to compute the high/low eval of the fine operator on every restart to aid in tuning the Chebyshev
	Added Test_field_array_io which demonstrates and tests a single-file write of an arbitrary array of fields
	Added Test_evec_compression which generates evecs using Lanczos and attempts to compress them using the local coherence technique
	Added Test_compressed_lanczos_gparity which demonstrates the local coherence Lanczos for G-parity BCs
	Added HMC main programs for the 40ID and 48ID G-parity lattices
2022-07-01 14:12:12 -04:00
Peter Boyle
1f903d9296 Merge branch 'feature/dirichlet' into feature/dirichlet-gparity 2022-07-01 12:12:50 -04:00
Peter Boyle
4df1e0987f Merge branch 'feature/dirichlet-gparity' of https://github.com/paboyle/Grid into feature/dirichlet-gparity 2022-07-01 09:55:43 -04:00
Peter Boyle
588c2f3cb1 Faster axpy_norm and innerProduct 2022-07-01 09:44:58 -04:00
Peter Boyle
bd99fd608c Introduce a non-default stream for compute operatoins 2022-07-01 09:42:53 -04:00
Peter Boyle
57b442d0de Log memory operations 2022-07-01 09:42:17 -04:00
Peter Boyle
751a4562d7 Timing improvement 2022-07-01 09:41:43 -04:00
Peter Boyle
ca66301dee Remove debug 2022-06-30 14:53:12 -04:00
Peter Boyle
808bb59206 Mixed prec DD-RHMC 2022-06-30 13:50:09 -04:00
Peter Boyle
4b7f51d19d Create a new RNG file 2022-06-30 13:49:50 -04:00
Peter Boyle
d03152fac4 New file under debug 2022-06-30 13:49:35 -04:00
Peter Boyle
137f190258 Dirichlet implementation 2022-06-30 13:45:07 -04:00
Peter Boyle
53d01312b3 Rough flop counting, need to add M5D, M5Ddag, MooeeInv flops 2022-06-30 13:44:09 -04:00
Peter Boyle
220050822a Speed up M5D and M5Ddag 2022-06-30 13:43:27 -04:00
Peter Boyle
87ad76d81b Initialise timeval 2022-06-30 13:42:46 -04:00
Peter Boyle
4ac1094856 Updated config commands 2022-06-27 12:16:24 -04:00
Peter Boyle
d44a57b0af Allow frequency=0 to disable 2022-06-27 12:15:55 -04:00
Peter Boyle
dc000d10ee Spelling correction 2022-06-27 12:14:57 -04:00
Peter Boyle
3685f391cf More verbose CG 2022-06-27 12:11:08 -04:00
Peter Boyle
efd7338a00 Allow dirichlet at round the world link 2022-06-27 12:10:27 -04:00
Peter Boyle
e1e7b1e224 RNG fix 2022-06-27 12:09:52 -04:00
Peter Boyle
7319d4e1ad
Merge pull request #407 from giltirn/feature/dirichlet-gparity-stage
Import round 4
2022-06-22 15:23:36 -04:00
Christopher Kelly
fd933420c6 Imported changes from feature/gparity_HMC branch:
Added a bounds-check function for the RHMC with arbitrary power
	Added a pseudofermion action for the rational ratio with an arbitrary power and a mixed-precision variant of the same. The existing one-flavor rational ratio class now uses the general class under the hood
	To support testing of the two-flavor even-odd ratio pseudofermion, separated the functionality of generating the random field and performing the heatbath step, and added a method to obtain the pseudofermion field
	Added a new HMC runner start type: CheckpointStartReseed, which reseeds the RNG from scratch, allowing for the creation of new evolution streams from an existing checkpoint. Added log output of seeds used when the RNG is seeded.
	EOFA changes:
		To support mixed-precision inversion, generalized the class to maintain a separate solver for the L and R operators in the heatbath (separate solvers are already implemented for the other stages)
		To support mixed-precision, the action of setting the operator shift coefficients is now maintained in a virtual function. A derived class for mixed-precision solvers ensures the coefficients are applied to both the double and single-prec operators
		The ||^2 of the random source is now stored by the heatbath and compared to the initial action when it is computed. These should be equal but may differ if the rational bounds are not chosen correctly, hence serving as a useful and free test
		Fixed calculation of M_eofa (previously incomplete and #if'd out)
		Added functionality to compute M_eofa^-1 to complement the calculation of M_eofa (both are equally expensive!)
		To support testing, separated the functionality of generating the random field and performing the heatbath step, and added a method to obtain the pseudofermion field
	Added a test program which computes the G-parity force using the 1 and 2 flavor implementations and compares the result. Test supports DWF, EOFA and DSDR actions, chosen by a command line option.
	The Mobius EOFA force test now also checks the rational approximation used for the heatbath
	Added a test program for the mixed precision EOFA compared to the double-prec implementation,
	G-parity HMC test now applied GPBC in the y direction and not the t direction (GPBC in t are no longer supported) and checkpoints after every configuration
	Added a test program which computes the two-flavor G-parity action (via RHMC) with both the 1 and 2 flavor implementations and checks they agree
	Added a test program to check the implementation of M_eofa^{-1}
2022-06-22 10:27:48 -04:00
Peter Boyle
8208a6214f Merge branch 'feature/dirichlet-gparity' into feature/dirichlet 2022-06-15 19:23:48 -04:00
Peter Boyle
3d8146b596 Merge branch 'feature/dirichlet-gparity' of https://github.com/paboyle/Grid into feature/dirichlet-gparity 2022-06-15 19:20:27 -04:00
Peter Boyle
31efa5c4da Script updates for current summit 2022-06-15 19:19:44 -04:00
Peter Boyle
d10d30dda8 Script update 2022-06-15 19:18:58 -04:00