1
0
mirror of https://github.com/paboyle/Grid.git synced 2025-04-21 03:05:56 +01:00

6843 Commits

Author SHA1 Message Date
Michael Marshall
2b1fcd78c3 Fixes post review with Peter: a) Correct bug in isRegularShape - detect 3d matrix where 1st slice is 2x2 and second slice is 2x1; b) Synchronisation of EigenResizeCounter done by checking we're the OMP primary thread; c) Move definition of EigenResizeCounter to new file, BaseIO.cc 2021-05-31 22:24:54 +01:00
Michael Marshall
0a4e0b49a0 BaseIO: Added "EigenResizeCounter" to keep track of any allocations/deallocations to Eigen tensors during readback. On read, if the tensor is resized, EigenResizeCounter += delta memory (in bytes) 2021-05-31 12:49:56 +01:00
Michael Marshall
76af169f05 Add global namespace to Writer<T> and Reader<T> inside GRID_SERIALIZABLE_CLASS_MEMBERS (so that "using Grid" not necessary).
Fix issue with output of Grid::iMatrix so that M<3>{{148,149,150,} {151,152,153,} {154155156}} becomes M<3>{{148,149,150} {151,152,153} {154,155,156}}
2021-05-31 08:43:02 +01:00
Michael Marshall
7b89232251 Extended HDF5 serialisation of std::vector<T> where T now also includes Grid scalar/vector/matrix
Changed VectorUtils element traits to is_flattenable, because: a) contract changed on what it does; and b) no other Grid dependencies on element. Needs review.
Initial tests work ... needs proper regression testing.
2021-05-30 20:27:53 +01:00
Peter Boyle
b5aeae526f Make Cshift fields static to avoid repeated reallocaate overhead 2021-05-28 16:33:08 +02:00
Quadro
e4ff4c902a 2f Mixed precision DDHMC running and conserving hamiltonian 2021-05-27 17:10:04 -04:00
Quadro
2e4d4625b6 correct multinode 2021-05-25 21:08:50 -04:00
Quadro
10f2c2530b Temporary debug / display force structure 2021-05-25 21:08:09 -04:00
Quadro
375e0698dc 2 deep cleaner coding 2021-05-25 19:51:52 -04:00
Quadro
64b3b37476 Force test - try degenerate ratio and check for zero force 2021-05-25 18:27:46 -04:00
Quadro
59e1a9be4e Locally periodic option 2021-05-25 18:25:51 -04:00
Quadro
aac1736617 Double or single 2021-05-25 18:21:48 -04:00
Quadro
60f814733d Could maybe simplify and require theh params always containn locally_periodic 2021-05-25 18:18:15 -04:00
Quadro
612e9a178a Should maybe require the params always contain locally_periodic 2021-05-25 18:17:31 -04:00
Quadro
21af9cf83c GetDoubledGaugeField 2021-05-25 18:16:37 -04:00
Quadro
3b8cb929d6 Doubled GaugeField option 2021-05-25 18:15:47 -04:00
Quadro
5d3046eae8 Locally periodic override option 2021-05-25 18:15:17 -04:00
Quadro
d73063682e GetDoubledGaugeField 2021-05-25 18:14:55 -04:00
Quadro
59584b6605 GetDoubledGaugeField 2021-05-25 18:14:34 -04:00
Quadro
f6d7188615 GetDoubledGaugeField useful for mixed precision or generally retrieving the double stored gauge field 2021-05-25 18:13:37 -04:00
Quadro
b810b6f6bd Dirichlet working multinode now 2021-05-25 18:13:01 -04:00
Quadro
e0a92dff32 update action params 2021-05-25 18:12:11 -04:00
Michael Marshall
ef0ddd5d04 std::vector serialisation in hdf5 uses a different format if the vector is ragged. When reading back std::vector we need to check which format we're reading (since we don't know a priori) and this involves looking for attributes that may not exist. The c++ API: a) throws; and b) prints voluminous logging. Switched to non-throwing, non-logging, C version of the API after code review. 2021-05-24 18:43:55 +01:00
Michael Marshall
9b73dacf50 First row might still be ragged if multi dimensional. attrExists() doesn't throw, but easier to wrap in try ... catch than to explain in comment. 2021-05-22 04:34:32 +01:00
Michael Marshall
244b4aa07f Serialise std::vector of numeric types as multidimensional object if size is regular ... or individually if ragged 2021-05-21 20:08:56 +01:00
Quadro
e125f0f738 Running with small dH aand Luscher's gauge link freezing scheme 2021-05-18 16:38:07 -04:00
Quadro
5f081d87b0 MacOS file system capitals got me. Will rename filter to Filter later 2021-05-18 16:36:58 -04:00
Quadro
84e246a963 Allow dimensions to be periodic 2021-05-18 16:36:29 -04:00
Quadro
c18025c0b8 Luscher's filter - will tune this later 2021-05-18 16:35:39 -04:00
Quadro
a918955020 Typo in assert 2021-05-18 16:35:01 -04:00
Peter Boyle
e3c18ce872 Adding boundary det 2021-05-15 09:06:58 -04:00
Peter Boyle
07a61e8826 renamed 2021-05-15 09:06:22 -04:00
Peter Boyle
58cb7c0732 passes force test and conserves in HMC plaquette looks odd 2021-05-15 09:05:34 -04:00
Peter Boyle
10339fd775 Rename 2021-05-15 08:53:39 -04:00
Peter Boyle
9400c207f7 Force test passing for boundary det 2021-05-15 08:38:26 -04:00
Peter Boyle
1fa89a2e7d Numerator pseudofermion 2021-05-15 08:37:47 -04:00
Peter Boyle
09b233b82e RdagR inverse 2021-05-14 22:21:23 -04:00
Peter Boyle
34ca4dd53a Nexp=20 default. Need a test for this. 2021-05-14 22:20:41 -04:00
Peter Boyle
c19cf46169 Cayley causes problems if the argument is exactly ZERO 2021-05-14 22:19:22 -04:00
Peter Boyle
c8db9ddb33 Massively improved test 2021-05-14 21:56:24 -04:00
Peter Boyle
104986b53d Prep for storing refresh actoin 2021-05-14 12:02:15 -04:00
Peter Boyle
91fd44419b Prep for storing action from the pseudofermion refresh 2021-05-14 11:52:11 -04:00
Peter Boyle
d1daa0e3f7 Allow DD only in subset of dimensions 2021-05-14 11:47:27 -04:00
Peter Boyle
05e1aed326 commenting 2021-05-14 11:45:06 -04:00
Peter Boyle
d3fd23117a Better block dimension checking and if Block >= Global dims implement non-Dirichlet 2021-05-14 11:28:24 -04:00
Peter Boyle
def51267e9 Starting the DDHMC filter. This will be seriously subject to tuning as force in
Omega and force in Omega bar appears to have different structure
2021-05-14 11:26:47 -04:00
Peter Boyle
5b52f29b2f Prepare to store the action in refresh 2021-05-14 11:18:49 -04:00
Peter Boyle
25bd03f201 Add LorentzVector 2021-05-14 10:48:45 -04:00
Peter Boyle
d5edd100a5 Useful debug fingerprints 2021-05-14 10:48:14 -04:00
Peter Boyle
e39e326b79 sRNG compile fix 2021-05-12 11:00:43 -04:00