Guido Cossu
16be6d378c
Now action factory support different Fields (templated)
2017-01-30 14:22:41 +00:00
Guido Cossu
f05d0565aa
Adding ScalarField theory
2017-01-30 10:59:28 +00:00
Guido Cossu
5c779a789b
Moving registrations in an independent file
2017-01-27 11:23:51 +00:00
fad743fbb1
Build system sanity check: corrected several headers not in the <Grid/*> format
2017-01-26 17:00:41 -08:00
Guido Cossu
e863a948e3
Cleaning up files and directories
2017-01-26 15:24:49 +00:00
Guido Cossu
7996f06335
Commented out registrations.
...
Move to an independent file that is linked only for the factory managed HMC
2017-01-25 18:27:45 +00:00
Guido Cossu
7b40a3e3e5
Reorganizing files
2017-01-25 18:09:46 +00:00
Guido Cossu
0baa20d292
Againg fixing compilation on Travis, no LIME lib present
2017-01-25 11:18:44 +00:00
Guido Cossu
4571c918a4
Fixing compilation error when compiling without LIME
2017-01-25 11:14:43 +00:00
Guido Cossu
5251ea4d30
Adding more fermion action modules, generalised DWF
2017-01-25 11:10:44 +00:00
Guido Cossu
244f8fb6dc
Added JSON parser (without NextElement)
2017-01-23 14:57:38 +00:00
Guido Cossu
27dfe816fa
Added TwoFlavorsEO
...
Had to remove a conformability check in the Derivative of SchurDiff,
see the comments in the file
2017-01-20 16:59:31 +00:00
Guido Cossu
f96fac0aee
All functionalities ready.
...
Todo: add all the fermion action modules
2017-01-20 12:56:20 +00:00
Guido Cossu
851f2ad8ef
Adding fermions actions support in the factories
2017-01-19 10:00:02 +00:00
Guido Cossu
23e0561dd6
Added all required functionalities, time for cleaning
...
All actions to be added
2017-01-18 16:31:51 +00:00
Guido Cossu
924130833e
Moved more parameters to serialization
2017-01-17 13:22:18 +00:00
Guido Cossu
0157274762
HMC factories
2017-01-17 10:46:49 +00:00
Guido Cossu
87e8aad5a0
Added support for input file HMC modules (missing the actions yet)
2017-01-16 16:07:12 +00:00
Guido Cossu
c6f59c2933
Adding factories
2017-01-16 10:18:09 +00:00
Guido Cossu
0dfda4bb90
Working on the RNGModule
2017-01-09 11:06:18 +00:00
Guido Cossu
1189ebc8b5
Cleaning up the checkpointers interface
2017-01-05 15:52:52 +00:00
Guido Cossu
1bb8578173
Added module for checkpointers
2017-01-05 13:09:32 +00:00
Guido Cossu
5214846341
Adding a resource manager
2016-12-22 12:41:56 +00:00
Guido Cossu
ce1a115e0b
Removing redundant arguments for integrator functions, step 1
2016-12-20 17:51:30 +00:00
Guido Cossu
143c70e29f
Debugged the threaded version. Cleaning up
2016-12-07 04:40:25 +00:00
Guido Cossu
b812d5e39c
Added single threaded version of the derivative for the Ls vectorised DWF
2016-12-06 16:31:13 +00:00
Guido Cossu
3834feb4b7
Adding action names
2016-11-16 16:46:49 +00:00
Guido Cossu
a783282b8b
Merge branch 'develop' into feature/hmc_generalise
2016-11-10 18:13:07 +00:00
paboyle
33dc1f51b5
Final sign off commits from Cori-1
2016-11-09 04:11:03 -08:00
Guido Cossu
d50055cd96
Making the ILDG support optional
2016-10-26 09:48:01 +01:00
Guido Cossu
47c7159177
ILDG reader/writer works
...
Fill the xml header with the required information, todo.
2016-10-24 21:57:54 +01:00
Guido Cossu
f55c16f984
Adding a barrier in the RNG save
2016-10-24 11:02:14 +01:00
Guido Cossu
392130a537
Working on the 5d
2016-10-21 14:22:25 +01:00
Guido Cossu
74f1ed3bc5
Adding some documentation for HMC
2016-10-19 10:51:13 +01:00
Guido Cossu
e250e6b7bb
Moving parameters outside of the HMCrunner
2016-10-14 17:22:32 +01:00
Guido Cossu
eda4dd622e
Some more edit
2016-10-11 15:45:20 +01:00
Guido Cossu
c68a2b9637
Minor fix
2016-10-10 11:54:58 +01:00
Guido Cossu
293df6cd20
Generalising the HMCRunner and moving parameters to the user level
2016-10-10 11:49:55 +01:00
Guido Cossu
26b9740d53
Some fix for the GenericHMCrunner
2016-10-10 09:43:05 +01:00
Guido Cossu
6eb873dd96
Added scalar action phi^4
...
Check Norm2 output (Complex type assumption)
2016-10-07 17:28:46 +01:00
Guido Cossu
11b4c80b27
Added support for hmc and binary IO for a general field
2016-10-07 13:37:29 +01:00
Guido Cossu
c065e454c3
Adding Binrary IO, untested
2016-10-06 10:12:11 +01:00
Guido Cossu
d9b5fbd374
In the middle of adding a general binary writer
2016-10-04 11:24:08 +01:00
Guido Cossu
cfbc1a26b8
Now the gauge implementation has to take care of the Nexp
2016-10-03 16:20:06 +01:00
Guido Cossu
257f69f931
One more function to generalise the HMC integrator
2016-10-03 15:50:04 +01:00
Guido Cossu
e415260961
First cut on generalised HMC
...
Backward compatibility OK
2016-10-03 15:28:00 +01:00
Guido Cossu
c4ac6e7e8f
Consolidating HMC interface
...
Uniformed interface for standard action in fundamental rep and Hirep
2016-09-23 10:47:42 +01:00
Guido Cossu
b512ccbee6
HMC for Adjoint fermions works
...
Accepts and reproduces known results
Check initial instability of inverters
when starting from hot configurations
2016-08-30 11:31:25 +01:00
Guido Cossu
147e2025b9
Added unit tests on the representation transformations
...
Status: Passing all tests
2016-08-08 16:54:22 +01:00
Guido Cossu
49b5c49851
Checked the hermiticity of the op in derivative, ok
...
Still CG fails to converge
2016-07-31 12:37:33 +01:00
Guido Cossu
089f0ab582
Debugged HMC for Creutz relation
2016-07-28 16:44:41 +01:00
Guido Cossu
b93e18ed50
Modified the Dirac Kernel class to compile with different number of colours
...
Added the general push_back functionality to accomodate for all defined representations
Compiles, not tested
2016-07-18 16:36:28 +01:00
Guido Cossu
9c77bb69a5
Added all elements for Hirep HMC
...
TODO: Test and debug
2016-07-18 12:05:23 +01:00
Guido Cossu
7edf4c6c04
Added HMC utitities for the higher representations
...
TODO: Inherit types for the pseudofermions, Debugging, testing
2016-07-15 13:39:47 +01:00
Guido Cossu
9dc345e8e8
Debugged smearing and adding HMC functions for hirep
2016-07-13 17:51:18 +01:00
Guido Cossu
a9ae30f868
Added representations definitions for the HMC
2016-07-12 13:36:10 +01:00
Guido Cossu
5028969d4b
Added generators for the adjoint representation
2016-07-08 15:40:11 +01:00
Guido Cossu
3e80947c2b
Cleaned up HMC output. Tested smeared HMCs for single precision (OK)
2016-07-05 12:03:54 +01:00
Guido Cossu
fdfbf11c6d
Merge branch 'develop' into temporary-smearing
2016-07-04 18:45:10 +01:00
Guido Cossu
9cb90f714e
Merge remote-tracking branch 'origin/develop' into temporary-smearing
2016-07-04 17:28:40 +01:00
Guido Cossu
0fa66e8f3c
Debugged smearing for EOWilson, accepts
2016-07-04 15:35:37 +01:00
Guido Cossu
092fa0d8da
Debugged set_fj,
...
to be fixed: BUG in imag()
2016-07-01 16:06:20 +01:00
Guido Cossu
565e9329ba
Changed the colouring classes
2016-06-30 16:51:03 +01:00
Guido Cossu
5e02392f9c
Fixed compilation error for benchmark_dwf
...
Some parts were assuming floating point precision
2016-06-20 12:30:51 +01:00
neo
339be37dba
Debugging smeared HMC
2016-04-13 17:00:14 +09:00
neo
a87b744621
HMC runs but does not accept with smearing on
2016-04-07 16:45:11 +09:00
97d0d56bcb
Debugging Smearing routines (set_fj)
2016-04-06 17:58:43 +09:00
4b1cf580e0
Debugging the Smearing routines
2016-04-05 16:19:30 +09:00
paboyle
090e7aa930
Merge remote-tracking branch 'origin/chulwoo-dec12-2015'
...
Merge Chulwoo's Lanczos related improvements.
Merge Nd!=4 fixes for pure gauge HMC from Evan.
2016-03-08 09:55:14 +00:00
Peter Boyle
40f2db9bc0
Disable metropolis step until 10 traj covered. Should move to exposing these
...
in XML input and start having "applications" directory.
2016-02-21 08:01:44 -06:00
neo
771235017d
Adding smearing routines (development)
2016-02-19 15:30:41 +09:00
Jung
5c57d4f403
Merge branch 'master' of https://github.com/paboyle/Grid into scidac1_2
...
Conflicts:
lib/qcd/action/fermion/WilsonKernels.h
2016-01-11 11:36:45 -05:00
Jung
5924e5a562
Merge branch 'master' of https://github.com/paboyle/Grid into scidac1_2
...
Conflicts:
configure
lib/qcd/action/Actions.h
lib/qcd/action/fermion/WilsonKernels.h
2016-01-06 03:44:57 -05:00
paboyle
aae8bf31a7
Global edit adding copyright and license info to every source file.
2016-01-02 14:51:32 +00:00
paboyle
5a80930dd2
Charge conjugation boundary conditions for gauge fields implemented as a policy
...
class, changing the nature of covariant Cshifts used in
plaquettes, rectangles and staples.
As a result same code is used for the plaq and rect action independent of the BC type.
Should probably isolate the BC in a separate class that Gimpl takes as a template param.
Do the same with smearing policies.
This would then allow composition of BC with smearing etc....
2016-01-02 13:37:25 +00:00
Azusa Yamaguchi
e6cad3821c
Logging improvement
2015-12-29 19:51:18 +00:00
Azusa Yamaguchi
78c4e862ef
Plaq, Rectangle, Iwasaki, Symanzik and DBW2 workign and HMC regresses to http://arxiv.org/pdf/hep-lat/0610075.pdf
2015-12-28 16:38:31 +00:00
paboyle
0afcf1cf13
Moved all the HMC tests over to using a single HmcRunner class that manages checkpoint strategies and such like
2015-12-22 11:19:25 +00:00
paboyle
08edbb5cbe
HMC bit repro across checkpoints. Fixed parallel RNG issue with threading.
...
Conclusion: c++11 distributions not thread safe and must us distinct dist as well as distinct engine
per site. Makes sense when you think of box muller. Also added a reset of dist on fill to ensure
repro across checkpoints.
2015-12-22 08:54:40 +00:00
paboyle
0abfbcc8eb
Naming of files improvement.
2015-12-21 15:37:26 +00:00
paboyle
1b94253ba4
Logging improvement
2015-12-21 15:36:28 +00:00
paboyle
31ca609d12
HMC checkpointing .
...
Need a general HMC framework to work in restart.
2015-12-20 02:29:51 +00:00
Peter Boyle
638d6675ee
Tested rms dH is ~ dt^4 numerically, so believe the ForceGradient is correct now.
...
Paranoia makes me want to diddle with the FG step to ensure dt^2 reappears.
2015-08-31 16:33:20 +01:00
Peter Boyle
357c6ab46d
Reunitarise. Complete the HMC and integrator changes.
2015-08-31 16:32:04 +01:00
Peter Boyle
755dca9533
Added ForceGradient integrator. dH dropped so seems to work. Will only
...
believe it is right once I have pulled a dt^4 error scaling plot out.
2015-08-31 06:23:02 +01:00
Peter Boyle
29fd004d54
Unified integrator and integrator algorithm into virtual class used as a policy for the
...
HMC.
2015-08-30 13:39:19 +01:00
Peter Boyle
aa52fdadcc
Global edit on HMC sector -- making GaugeField a template parameter and
...
preparing to pass integrator, smearing, bc's as policy classes to hmc.
Propose to unify "integrator" and integrator algorithm in a base/derived
way to override step. Want to read through ForceGradient to ensure
that abstraction covers the force gradient case.
2015-08-30 12:18:34 +01:00
Peter Boyle
76d752585b
Started a tidy up in the HMC sector. Now comfortable with the two level integrators;
...
to a little figure out what Guido had done & why -- but there is a neat saving of force
evaluations across the nesting time boundary making use of linearity of the leapP in dt.
I cleaned up the printing, reduced the volume of code, in the process sharing printing
between all integrators. Placed an assert that the total integration time for all integrators
must match at end of trajectory.
Have now verified e-dH = 1 for nested integrators in Wilson/Wilson runs with both
Omelyan and with Leapfrog so substantial confidence gained.
2015-08-29 17:18:43 +01:00
Peter Boyle
b8166af92b
Unused apparently
2015-08-16 01:41:05 +01:00
Peter Boyle
55cfc89459
* Finished the template/policy style introduction of gparity, except the gparity force terms.
...
So valence sector looks ok.
FermionOperatorImpl.h provides the policy classes.
Expect HMC will introduce a smearing policy and a fermion representation change policy template
param. Will also probably need multi-precision work.
* HMC is running even-odd and non-checkerboarded (checked 4^4 wilson fermion/wilson gauge).
There appears to be a bug in the multi-level integrator -- <e-dH> passes with single level but
not with multi-level.
In any case there looks to be quite a bit to clean up.
This is the "const det" style implementation that is not appropriate yet for clover since
it assumes that Mee is indept of the gauge fields. Easily fixed in future.
2015-08-15 23:25:49 +01:00
Peter Boyle
35feb93f56
Merge branch 'master' of https://github.com/paboyle/Grid
...
Conflicts:
lib/Make.inc
lib/qcd/hmc/HMC.h
tests/Make.inc
tests/Test_hmc_WilsonFermionGauge.cc
2015-08-01 22:24:54 +09:00
neo
490009745c
Small change in the HMC interface.
...
Example of multiple levels in the WilsonFermion hmc test.
Merge remote-tracking branch 'upstream/master'
Conflicts:
lib/qcd/hmc/HMC.h
lib/qcd/hmc/integrators/Integrator.h
lib/qcd/hmc/integrators/Integrator_algorithm.h
tests/Test_simd.cc
2015-07-30 17:16:57 +09:00
Peter Boyle
9ff0b2987c
Bug in two flav pseudofermion corrected to reimport gauge field upon rejection.
...
exp(-DeltaH) = 1 now, and plaquette is sensible. Will reproduce an old Wilson Gauge
Wilson Fermion SCRI plaquette with precision in mass matching shortly.
2015-07-29 21:02:07 +09:00
Peter Boyle
4fe110bd07
Two flavour HMC for Wilson/Wilson is conserving energy.
...
Still to check plaq and <e(-dH)>, but nevertheless this is
progress
2015-07-29 17:53:39 +09:00
Peter Boyle
4cc2ef84d3
Committing incomplete work for parameter file I/O.
...
MacroMagic.h is central. Guido and I plan to move
over to generating virtual (XML, JSON, YAML, text, binary) encoding
from macro based system.
2015-07-27 18:32:28 +09:00
Peter Boyle
d9d4c5916a
Elemental force term for Wilson dslash added and tests thereof passing.
...
Now need to construct pseudofermion two flavour, ratio, one flavour, ratio
action fragments.
2015-07-26 10:54:38 +09:00
Peter Boyle
d1afebf71e
Sizable improvement in multigrid for unsquared.
...
6000 matmuls CG unprec
2000 matmuls CG prec (4000 eo muls)
1050 matmuls PGCR on 16^3 x 32 x 8 m=.01
Substantial effort on timing and logging infrastructure
2015-07-24 01:31:13 +09:00
neo
5fc6af1c77
Merge remote-tracking branch 'upstream/master'
2015-07-21 17:17:50 +09:00
Peter Boyle
4e94ddad46
Merge
2015-07-21 13:56:22 +09:00
Peter Boyle
df2aac01f4
This was needed to compile on gcc
2015-07-21 13:52:59 +09:00