1
0
mirror of https://github.com/paboyle/Grid.git synced 2024-11-14 09:45:36 +00:00
Commit Graph

414 Commits

Author SHA1 Message Date
Peter Boyle
155c164b0c * 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
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
045c85823b Extra test 2015-08-14 13:18:59 +01:00
Peter Boyle
e8462790a9 Extra test 2015-08-14 13:18:59 +01:00
Peter Boyle
cc63078de5 Gparity works now even if simd distributed in a Gparity twist direction.
Tested by doubling lattice in t-direction.
2015-08-14 12:57:42 +01:00
Peter Boyle
4dc7c36aa8 Gparity works now even if simd distributed in a Gparity twist direction.
Tested by doubling lattice in t-direction.
2015-08-14 12:57:42 +01:00
Peter Boyle
e6bed000c3 Gparity valence test now working.
Interface in FermionOperator will change a lot in future
2015-08-14 00:01:04 +01:00
Peter Boyle
7d3512ab21 Gparity valence test now working.
Interface in FermionOperator will change a lot in future
2015-08-14 00:01:04 +01:00
Peter Boyle
6ab73c5512 Gparity test added; partial implementation -- this is Chris K's doubled lattice only
and have to regress this with the 2 flavour implementation.
2015-08-12 09:49:33 +01:00
Peter Boyle
9183380946 Gparity test added; partial implementation -- this is Chris K's doubled lattice only
and have to regress this with the 2 flavour implementation.
2015-08-12 09:49:33 +01:00
Peter Boyle
1b3c93e22a Rework/global edit to enforce type templating of fermion operators.
Allows multi-precision work and paves the way for alternate BC's and such like
allowing for example G-parity which is important for K pipi programme.
In particular, can drive an extra flavour index into the fermion fields
using template types.
2015-08-10 20:47:44 +01:00
Peter Boyle
84a66476ab Rework/global edit to enforce type templating of fermion operators.
Allows multi-precision work and paves the way for alternate BC's and such like
allowing for example G-parity which is important for K pipi programme.
In particular, can drive an extra flavour index into the fermion fields
using template types.
2015-08-10 20:47:44 +01:00
Peter Boyle
2be8df93ad Adding components for even odd decomposed determinant in HMC.
dH not yet conserved, so something wrong in the eo force code still
2015-08-07 08:37:15 +01:00
Peter Boyle
a01aa156b9 Adding components for even odd decomposed determinant in HMC.
dH not yet conserved, so something wrong in the eo force code still
2015-08-07 08:37:15 +01:00
Peter Boyle
b5a483ae60 Continued fraction overlap, partial fraction overlap force terms have a successful
test passing.
2015-08-01 22:48:21 +09:00
Peter Boyle
6ec087d43c Continued fraction overlap, partial fraction overlap force terms have a successful
test passing.
2015-08-01 22:48:21 +09:00
Peter Boyle
bb372a6a8a Merge problem fixed 2015-08-01 22:30:00 +09:00
Peter Boyle
772cd8199d Merge problem fixed 2015-08-01 22:30:00 +09:00
Peter Boyle
5e9bef8a1b 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
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
Peter Boyle
bb7d8535aa Test for DWF force term passes 2015-08-01 22:07:05 +09:00
Peter Boyle
f37552a385 Test for DWF force term passes 2015-08-01 22:07:05 +09:00
Peter Boyle
848104b1a9 Changes making force term test for DWF pass. 2015-08-01 22:06:07 +09:00
Peter Boyle
2157a6919a Changes making force term test for DWF pass. 2015-08-01 22:06:07 +09:00
Peter Boyle
8627e237c8 Jackson smoothed chebyshev and (untested) completion of force terms
for Cayley, Partial and Cont fraction dwf and overlap.
have even odd and unprec forces.
2015-08-01 05:58:35 +09:00
Peter Boyle
1d67d29183 Jackson smoothed chebyshev and (untested) completion of force terms
for Cayley, Partial and Cont fraction dwf and overlap.
have even odd and unprec forces.
2015-08-01 05:58:35 +09:00
neo
702ab15b6a Amending a merge mistake 2015-07-30 17:21:42 +09:00
neo
3dd846c93c Amending a merge mistake 2015-07-30 17:21:42 +09:00
neo
bcdc67b152 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
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
68d9463be5 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
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
0b603225d1 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
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
f4c74e34d8 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
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
36b8f35eed 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
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
5e370db6c5 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
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
Peter Boyle
5b475d5e08 5x speed up now 2015-07-22 00:30:05 +09:00
Peter Boyle
11c99d5e66 5x speed up now 2015-07-22 00:30:05 +09:00
neo
479912a5ed Merge remote-tracking branch 'upstream/master' 2015-07-21 17:17:50 +09:00
neo
5fc6af1c77 Merge remote-tracking branch 'upstream/master' 2015-07-21 17:17:50 +09:00
Peter Boyle
987801c86d Merge 2015-07-21 13:56:22 +09:00
Peter Boyle
4e94ddad46 Merge 2015-07-21 13:56:22 +09:00
Peter Boyle
98dfc9254f This file is being developed and will remain hacky until the new algorithm
is complete
2015-07-21 13:52:23 +09:00
Peter Boyle
487fde8496 This file is being developed and will remain hacky until the new algorithm
is complete
2015-07-21 13:52:23 +09:00
neo
ab916d80fd More NEON functionalities 2015-07-21 11:52:15 +09:00
neo
9adaeb061a More NEON functionalities 2015-07-21 11:52:15 +09:00
neo
1e9317e5cf Simplifying HMC syntax for the final user 2015-07-06 18:32:20 +09:00
neo
0f21c38ff8 Simplifying HMC syntax for the final user 2015-07-06 18:32:20 +09:00
neo
510f55ba30 Rearranging files in hmc 2015-07-06 16:46:43 +09:00
neo
fa42b652e5 Rearranging files in hmc 2015-07-06 16:46:43 +09:00
neo
f95db88d19 Added minimum norm integrator
Little rearrangement of HMC and integrator classes
2015-07-06 16:17:32 +09:00
neo
68fe0769a1 Added minimum norm integrator
Little rearrangement of HMC and integrator classes
2015-07-06 16:17:32 +09:00
neo
12e1682a87 HMC for Wilson Gauge action works
Fixed bug in momenta generation
2015-07-06 12:58:49 +09:00
neo
808f5820fa HMC for Wilson Gauge action works
Fixed bug in momenta generation
2015-07-06 12:58:49 +09:00
neo
6261770f59 Debugged vector version of ProjectOnGroup 2015-07-06 02:24:58 +09:00
neo
0ffcdf6204 Debugged vector version of ProjectOnGroup 2015-07-06 02:24:58 +09:00
neo
7a4ed7a867 HMC ready but untested 2015-07-04 17:47:50 +09:00
neo
e6087e1820 HMC ready but untested 2015-07-04 17:47:50 +09:00
neo
250965c6ca More progress in the HMC construction 2015-07-04 02:43:14 +09:00
neo
59be55c0ab More progress in the HMC construction 2015-07-04 02:43:14 +09:00
neo
55f05a778f Skeleton of HMC/Integrators 2015-07-03 16:51:41 +09:00
neo
ab3ad78ece Skeleton of HMC/Integrators 2015-07-03 16:51:41 +09:00
Peter Boyle
ef0ec1d0b2 Merge branch 'master' of https://github.com/paboyle/Grid 2015-07-01 22:51:04 +01:00
Peter Boyle
31a0c8d783 Merge branch 'master' of https://github.com/paboyle/Grid 2015-07-01 22:51:04 +01:00
Peter Boyle
98b84d230a Change the SIMD command correctly with precision = double vs. single and
connect the "Real" default precisoin to a configure flag.
Have RealF, RealD and Real types, where Real is compile target dependent single/double,
RealF is single and RealD is double etc..
2015-07-01 22:45:15 +01:00
Peter Boyle
638d2cda11 Change the SIMD command correctly with precision = double vs. single and
connect the "Real" default precisoin to a configure flag.
Have RealF, RealD and Real types, where Real is compile target dependent single/double,
RealF is single and RealD is double etc..
2015-07-01 22:45:15 +01:00
paboyle
c4777879e6 Remove dependency on wrong file 2015-07-01 13:04:02 +01:00
paboyle
61c3491b8b Remove dependency on wrong file 2015-07-01 13:04:02 +01:00
Peter Boyle
e164ed6f12 Big commit fixing nocompiles in defective C++11 compilers (gcc, icpc). stared getting to
near the bleeding edge I guess
2015-06-30 15:17:27 +01:00
Peter Boyle
03ca506a3d Big commit fixing nocompiles in defective C++11 compilers (gcc, icpc). stared getting to
near the bleeding edge I guess
2015-06-30 15:17:27 +01:00
Peter Boyle
59cd42c164 big commit fixing nocompiles in defective C++11 compilers (gcc, icpc). stared getting to
near the bleeding edge I guess
2015-06-30 15:01:26 +01:00
Peter Boyle
cd2fb68905 big commit fixing nocompiles in defective C++11 compilers (gcc, icpc). stared getting to
near the bleeding edge I guess
2015-06-30 15:01:26 +01:00
Peter Boyle
5f8f0bc792 Some small steps towards a multigrid 2015-06-22 12:49:44 +01:00
Peter Boyle
a17684ebe2 Some small steps towards a multigrid 2015-06-22 12:49:44 +01:00
Azusa Yamaguchi
a265765319 Variable preconditioned GCR with restarting.
Orthogonalisation depth and restart frequency is controllable via constructor
2015-06-21 10:58:46 +01:00
Azusa Yamaguchi
3b4118f33e Variable preconditioned GCR with restarting.
Orthogonalisation depth and restart frequency is controllable via constructor
2015-06-21 10:58:46 +01:00
Peter Boyle
eace9051e8 Merge
Merge branch 'master' of https://github.com/paboyle/Grid
2015-06-20 22:25:31 +01:00
Peter Boyle
c7d77dfa0f Merge
Merge branch 'master' of https://github.com/paboyle/Grid
2015-06-20 22:25:31 +01:00
Peter Boyle
aba5c8595a Patches for beginnings of an overlap multigrid 2015-06-20 22:22:56 +01:00
Peter Boyle
b4a6dbfa65 Patches for beginnings of an overlap multigrid 2015-06-20 22:22:56 +01:00
Azusa Yamaguchi
cb92390825 Merge branch 'master' of https://github.com/paboyle/Grid 2015-06-20 14:22:29 +01:00
Azusa Yamaguchi
dc7c77e1d5 Merge branch 'master' of https://github.com/paboyle/Grid 2015-06-20 14:22:29 +01:00
Azusa Yamaguchi
9dbb326061 Add the test_quenched files 2015-06-20 14:09:26 +01:00
Azusa Yamaguchi
1e8217d880 Add the test_quenched files 2015-06-20 14:09:26 +01:00
Peter Boyle
2534199ee7 Merge branch 'master' of https://github.com/paboyle/Grid 2015-06-19 17:24:05 +01:00
Peter Boyle
a0d4f832cf Merge branch 'master' of https://github.com/paboyle/Grid 2015-06-19 17:24:05 +01:00
neo
faf8544233 Lattice matrix exponential ok 2015-06-17 20:41:07 +09:00
neo
4eb71d2cd2 Lattice matrix exponential ok 2015-06-17 20:41:07 +09:00
Azusa Yamaguchi
b78ecd6fb2 merge 2015-06-16 20:47:31 +01:00
Azusa Yamaguchi
fd72b64ca3 merge 2015-06-16 20:47:31 +01:00
Azusa Yamaguchi
700614123d add bug-fixed Test_nersc)_io. 2015-06-16 20:23:27 +01:00
Azusa Yamaguchi
2faf7d95db add bug-fixed Test_nersc)_io. 2015-06-16 20:23:27 +01:00
neo
26ff0f3b50 Merge remote-tracking branch 'upstream/master' 2015-06-17 02:02:51 +09:00
neo
e31dfa79d1 Merge remote-tracking branch 'upstream/master' 2015-06-17 02:02:51 +09:00
neo
296edfbd95 Check for SUN projection and Exponential 2015-06-17 02:02:06 +09:00
neo
47159797cb Check for SUN projection and Exponential 2015-06-17 02:02:06 +09:00
neo
a7555b41df Corrected bug in integer multiplications for SSE4 and AVX2
Merge remote-tracking branch 'upstream/master'

Conflicts:
	tests/Make.inc
2015-06-16 23:34:45 +09:00
neo
6e5db0b1da Corrected bug in integer multiplications for SSE4 and AVX2
Merge remote-tracking branch 'upstream/master'

Conflicts:
	tests/Make.inc
2015-06-16 23:34:45 +09:00
Azusa Yamaguchi
453b28bd81 Heatbath and config related removed 2015-06-16 14:18:48 +01:00
Azusa Yamaguchi
1c3c795b84 Heatbath and config related removed 2015-06-16 14:18:48 +01:00
neo
0bff862876 Merge remote-tracking branch 'upstream/master'
Conflicts:
	lib/Make.inc
	tests/Make.inc
2015-06-15 16:48:50 +09:00
neo
f7a1cef15b Merge remote-tracking branch 'upstream/master'
Conflicts:
	lib/Make.inc
	tests/Make.inc
2015-06-15 16:48:50 +09:00
Peter Boyle
0f6ed6b633 Merge branch 'master' of https://github.com/paboyle/Grid 2015-06-14 01:27:07 +01:00
Peter Boyle
337bccf27d Merge branch 'master' of https://github.com/paboyle/Grid 2015-06-14 01:27:07 +01:00
Azusa Yamaguchi
d47f2fe1e0 File list 2015-06-14 00:52:39 +01:00
Azusa Yamaguchi
0fa26e7d68 File list 2015-06-14 00:52:39 +01:00
Azusa Yamaguchi
eff0cb3067 Minor 2015-06-14 00:52:26 +01:00
Azusa Yamaguchi
8bac3b57ad Minor 2015-06-14 00:52:26 +01:00
Azusa Yamaguchi
ff8bde53df more accurate comment 2015-06-14 00:51:56 +01:00
Azusa Yamaguchi
171c95d6d8 more accurate comment 2015-06-14 00:51:56 +01:00
Azusa Yamaguchi
58019383f3 Typing 2015-06-14 00:51:37 +01:00
Azusa Yamaguchi
5484607ef2 Typing 2015-06-14 00:51:37 +01:00
Azusa Yamaguchi
21f214d6c9 Apply a heatbath sweep 2015-06-14 00:50:59 +01:00
Azusa Yamaguchi
31ab4c4c35 Apply a heatbath sweep 2015-06-14 00:50:59 +01:00
Azusa Yamaguchi
e57bc34afe Minor change 2015-06-14 00:50:26 +01:00
Azusa Yamaguchi
a0dcbc0d16 Minor change 2015-06-14 00:50:26 +01:00
Azusa Yamaguchi
744879a3f5 be more precise on typing 2015-06-14 00:49:57 +01:00
Azusa Yamaguchi
fa6117f136 be more precise on typing 2015-06-14 00:49:57 +01:00
Azusa Yamaguchi
45c21a9c8b TensorRemove not needed now 2015-06-14 00:49:26 +01:00
Azusa Yamaguchi
2c2112e152 TensorRemove not needed now 2015-06-14 00:49:26 +01:00
Peter Boyle
f0d190024a Updates to ldop tests 2015-06-10 12:26:25 +01:00
Peter Boyle
5cce44edb4 Updates to ldop tests 2015-06-10 12:26:25 +01:00
Peter Boyle
0ad72b38ab file list 2015-06-10 12:25:15 +01:00
Peter Boyle
622261b1ea file list 2015-06-10 12:25:15 +01:00
Azusa Yamaguchi
12d7902ca0 Fix compile 2015-06-10 11:30:27 +01:00
Azusa Yamaguchi
f6667801e1 Fix compile 2015-06-10 11:30:27 +01:00
Azusa Yamaguchi
e3b4dd32c0 commit file list 2015-06-10 11:26:46 +01:00
Azusa Yamaguchi
22752f6ff0 commit file list 2015-06-10 11:26:46 +01:00
Azusa Yamaguchi
562cdc805b Merge branch 'master' of https://github.com/paboyle/Grid 2015-06-10 11:25:57 +01:00
Azusa Yamaguchi
0457923179 Merge branch 'master' of https://github.com/paboyle/Grid 2015-06-10 11:25:57 +01:00
Azusa Yamaguchi
653a94e8ab Successful generation of general SU N generators
This class will move into a utils class and gain exponentiation and ta projection
to support HMC and heatbath
2015-06-10 11:24:14 +01:00
Azusa Yamaguchi
8cf34ebbff Successful generation of general SU N generators
This class will move into a utils class and gain exponentiation and ta projection
to support HMC and heatbath
2015-06-10 11:24:14 +01:00
neo
f3dd829459 Adding several iMatrix utilities 2015-06-10 14:16:33 +09:00
neo
bb4a916767 Adding several iMatrix utilities 2015-06-10 14:16:33 +09:00
Peter Boyle
e79a57b423 Merge branch 'master' of https://github.com/paboyle/Grid
Not sure what changed in master
2015-06-09 22:51:10 +01:00
Peter Boyle
02144fb50b Merge branch 'master' of https://github.com/paboyle/Grid
Not sure what changed in master
2015-06-09 22:51:10 +01:00
Peter Boyle
5a53086e41 Solver converges 2015-06-09 22:51:02 +01:00
Peter Boyle
7d6be625fa Solver converges 2015-06-09 22:51:02 +01:00
Peter Boyle
c4f204f440 Solver converges 2015-06-09 22:50:45 +01:00
Peter Boyle
3f8c7be6f8 Solver converges 2015-06-09 22:50:45 +01:00
Peter Boyle
4357f5acdc Some extra tests 2015-06-09 22:43:10 +01:00
Peter Boyle
516f1a6316 Some extra tests 2015-06-09 22:43:10 +01:00
Peter Boyle
3a52bc4ce1 G5R5 update 2015-06-09 22:41:27 +01:00
Peter Boyle
3546dcac1a G5R5 update 2015-06-09 22:41:27 +01:00
Peter Boyle
61770d4472 Files update 2015-06-09 22:40:12 +01:00
Peter Boyle
c86c15f95f Files update 2015-06-09 22:40:12 +01:00