1
0
mirror of https://github.com/paboyle/Grid.git synced 2024-11-15 18:25:37 +00:00
Commit Graph

901 Commits

Author SHA1 Message Date
paboyle
16c7993434 Merge branch 'master' of github.com:paboyle/Grid
Conflicts:
	lib/simd/Grid_avx512.h
	lib/simd/Grid_imci.h
2015-11-04 03:32:10 -08:00
paboyle
5aafdd7e1a Inline asm for KNL, KNC, Skylake Xeon 2015-11-04 03:21:15 -08:00
Peter Boyle
dfc1de6f60 Merge branch 'master' of github.com:paboyle/Grid 2015-11-04 05:14:26 -06:00
Peter Boyle
f87526a04f Make ICC happy 2015-11-04 05:14:03 -06:00
Peter Boyle
9183920e8b Added an even odd stencil test, shook out a problem with spread out x-direction.
Generalise test to allow different types of "Field" to be used.
2015-11-04 10:03:04 +00:00
Peter Boyle
01f286c9fe Better testing for red black cshift which was sufficient to chase down a spread out x-direction problem. 2015-11-04 10:02:17 +00:00
1b22ce5720 tests Make.inc fix 2015-10-27 10:47:52 +00:00
Peter Boyle
41299da406 files added 2015-10-09 01:01:46 +02:00
Peter Boyle
2d95dac6b6 Lanczos untested/partially tested additions. In middle of shake out but at least compiles 2015-10-09 00:40:25 +02:00
Peter Boyle
44fecd4d8d Lanczos test 2015-10-09 00:39:21 +02:00
paboyle
3a478e5f2a No compile babbage fix 2015-09-30 16:03:05 -07:00
Peter Boyle
9f4f65cb46 Added a decoupled memory system benchmark to remove thread synch overhead 2015-09-26 18:23:57 -07:00
Peter Boyle
5ef42add2d Changes to remove warnings under icc; disambiguate AVX512 from IMCI correctly
and drop swizzles in AVX512. Don't know why these compiled.
2015-09-23 05:23:45 -07:00
Peter Boyle
2f38ebc446 Reintroducing the hand unrolled loops 2015-09-08 17:45:30 +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
dc814f30da Binary IO file for generic Grid array parallel I/O.
Number of IO MPI tasks can be varied by selecting which
dimensions use parallel IO and which dimensions use Serial send to boss
I/O.

Thus can neck down from, say 1024 nodes = 4x4x8x8 to {1,8,32,64,128,256,1024} nodes
doing the I/O.

Interpolates nicely between ALL nodes write their data, a single boss per time-plane
in processor space [old UKQCD fortran code did this], and a single node doing all I/O.

Not sure I have the transfer sizes big enough and am not overly convinced fstream
is guaranteed to not give buffer inconsistencies unless I set streambuf size to zero.

Practically it has worked on 8 tasks, 2x1x2x2 writing /cloning NERSC configurations
on my MacOS + OpenMPI and Clang environment.

It is VERY easy to switch to pwrite at a later date, and also easy to send x-strips around from
each node in order to gather bigger chunks at the syscall level.

That would push us up to the circa 8x 18*4*8 == 4KB size write chunk, and by taking, say, x/y non
parallel we get to 16MB contiguous chunks written in multi 4KB transactions
per IOnode in 64^3 lattices for configuration I/O.

I suspect this is fine for system performance.
2015-08-26 13:40:29 +01:00
Peter Boyle
476da3ee62 Separated IO reader/writers into a proper abstract base,
derived relationship. Have Text/Binary/Xml versions of
Reader & Writer.

Any new Reader/Writer class inheriting the interface can give object serialisation
to any desired format now.

      new file:   lib/serialisation/BaseIO.h
      modified:   lib/serialisation/BinaryIO.h
      modified:   lib/serialisation/Serialisation.h
      modified:   lib/serialisation/TextIO.h
      modified:   lib/serialisation/XmlIO.h

The test uses the Xml, Binary and Text formats as well as cout << Object.
2015-08-21 10:06:33 +01:00
Peter Boyle
35818fdf6c Text and Binary readers 2015-08-20 23:04:38 +01:00
Peter Boyle
ab81a25073 XMLReader implementation and a virtual Reader/Writer template framework.
Test_serialisation has an example of *code* *free* object serialisation
to both ostream and to XML using macro magic.

Implementing TextReader/TextWriter, YAML, JSON etc.. should be trivial
and we can use configure time options to select the default "Reader" typedef.

Present done with

"using XMLPolicy::Reader"

to pick up the default serialisation strategy.
2015-08-20 16:21:26 +01:00
Peter Boyle
8b070ae54c Gparity now accepting twists through constructor 2015-08-19 11:26:01 +01:00
Peter Boyle
4e085dd0ed Domain wall even-odd 2f HMC with wilson gauge and PV 2f ratio now running and giving small dH.
Azusa is working hard on the rectangle term and we'll hopefully start reproducing plaquettes
from RBC-UKQCD parameters soon !

My new laptop is pretty warm and is starting to groan ;)
2015-08-19 10:26:07 +01:00
Peter Boyle
e8d63c9178 Merge branch 'master' of https://github.com/paboyle/Grid 2015-08-19 05:49:00 +01:00
Peter Boyle
c54c086f17 Even odd preconditioned one flavour ratio
(no support for non-const EE schur block)
2015-08-19 05:46:58 +01:00
Peter Boyle
dd6bb73ee0 Added one flavour rational ratios (unprec) 2015-08-19 04:58:40 +01:00
Peter Boyle
fc160eeccc Added one flavour rational ratios (unprec) 2015-08-19 04:58:40 +01:00
Peter Boyle
48db72259e EvenOdd schur decomposed mpcdagmpc version of rhmc determinant.
dH is also small and plaquette looks right.
2015-08-18 18:37:39 +01:00
Peter Boyle
570150f1d3 EvenOdd schur decomposed mpcdagmpc version of rhmc determinant.
dH is also small and plaquette looks right.
2015-08-18 18:37:39 +01:00
Peter Boyle
9c7840c3a7 rhmc for 1+1 wilson is conserving dH~0.
A good days work  ;)
2015-08-18 16:58:56 +01:00
Peter Boyle
aef98b7226 rhmc for 1+1 wilson is conserving dH~0.
A good days work  ;)
2015-08-18 16:58:56 +01:00
Peter Boyle
bdcbfe9310 Even Odd two flavour ratio added and dH == small 2015-08-18 10:37:08 +01:00
Peter Boyle
9306921ded Even Odd two flavour ratio added and dH == small 2015-08-18 10:37:08 +01:00
Peter Boyle
6212807a77 Small dh obtained in two flavour ratio so looks ok. 2015-08-18 09:21:29 +01:00
Peter Boyle
7622f0c441 Small dh obtained in two flavour ratio so looks ok. 2015-08-18 09:21:29 +01:00
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
Peter Boyle
4d11fc0330 silly change 2015-06-09 22:36:48 +01:00
Peter Boyle
eeeaac7147 silly change 2015-06-09 22:36:48 +01:00
neo
f8eb862073 Merge remote-tracking branch 'upstream/master' 2015-06-09 19:01:07 +09:00
neo
ecf3bae150 Merge remote-tracking branch 'upstream/master' 2015-06-09 19:01:07 +09:00
neo
99ace0a89c Adding support for iMatrix exponentiation 2015-06-09 18:59:45 +09:00
neo
e80012896a Adding support for iMatrix exponentiation 2015-06-09 18:59:45 +09:00
Peter Boyle
1048304f30 Some unary ops and coarse grid support 2015-06-09 10:26:19 +01:00
Peter Boyle
1e5b015ee3 Some unary ops and coarse grid support 2015-06-09 10:26:19 +01:00
neo
744ac33e8b Experimental support for ARM 2015-06-09 15:46:21 +09:00
neo
48bf4878c1 Experimental support for ARM 2015-06-09 15:46:21 +09:00
Peter Boyle
a6ac2abb64 No compile fix after merge 2015-06-08 12:12:13 +01:00
Peter Boyle
4ae47a529e No compile fix after merge 2015-06-08 12:12:13 +01:00
Peter Boyle
98b10f587e Merge branch 'master' of https://github.com/paboyle/Grid
Conflicts:
	lib/Make.inc
	tests/Make.inc
	tests/Test_remez.cc
2015-06-08 12:08:09 +01:00
Peter Boyle
3111f50f2f Merge branch 'master' of https://github.com/paboyle/Grid
Conflicts:
	lib/Make.inc
	tests/Make.inc
	tests/Test_remez.cc
2015-06-08 12:08:09 +01:00
Peter Boyle
b0873e7ed2 Conjugate residual algorithm; some more unary functions 2015-06-08 12:04:59 +01:00
Peter Boyle
d6f1ddf99c Conjugate residual algorithm; some more unary functions 2015-06-08 12:04:59 +01:00
Peter Boyle
769ef7b0f5 sqrt 2015-06-08 12:03:36 +01:00
Peter Boyle
0cf2037ae1 sqrt 2015-06-08 12:03:36 +01:00
Azusa Yamaguchi
a8b9109cc8 multishift conjugate gradient added and a strong test: take a diagonal
but non-identity matrix
l1 0  0  0 ....
0  l2 0  0 ....
0  0  l3 0 ...
.  .   .
.  .   .
.  .   .

And apply the multishift CG to it. Sum the poles and residues.
Insist that this be the same as the exactly taken square root
where l1,l2,l3 >= 0.
2015-06-08 11:52:44 +01:00
Azusa Yamaguchi
8688ff8b3a multishift conjugate gradient added and a strong test: take a diagonal
but non-identity matrix
l1 0  0  0 ....
0  l2 0  0 ....
0  0  l3 0 ...
.  .   .
.  .   .
.  .   .

And apply the multishift CG to it. Sum the poles and residues.
Insist that this be the same as the exactly taken square root
where l1,l2,l3 >= 0.
2015-06-08 11:52:44 +01:00
Peter Boyle
a263e78f8d Conjugate residual added 2015-06-05 18:16:25 +01:00
Peter Boyle
1a05882d7c Conjugate residual added 2015-06-05 18:16:25 +01:00
Azusa Yamaguchi
5f33cc3a95 Compile fix 2015-06-05 10:29:42 +01:00
Azusa Yamaguchi
351c2905f5 Compile fix 2015-06-05 10:29:42 +01:00
Peter Boyle
337b6e83af Rework the linop support to get different forms of red black schur solver
Moo on diag, or MooInv Moe MeeInv Meo
2015-06-05 10:17:10 +01:00
Peter Boyle
7f6304fac3 Rework the linop support to get different forms of red black schur solver
Moo on diag, or MooInv Moe MeeInv Meo
2015-06-05 10:17:10 +01:00
Azusa Yamaguchi
8f9627520b merge to the head 2015-06-05 10:15:31 +01:00
Azusa Yamaguchi
58a4f32298 merge to the head 2015-06-05 10:15:31 +01:00
Peter Boyle
7678fbd30d PartialFraction Hw with Zolo and Tanh approx converged under CG and passed EO breakdown
and hermiticity tests.
2015-06-04 13:28:37 +01:00
Peter Boyle
63a61fcc2a PartialFraction Hw with Zolo and Tanh approx converged under CG and passed EO breakdown
and hermiticity tests.
2015-06-04 13:28:37 +01:00
neo
949b6a7afa Added support for Ta to Lattice types 2015-06-04 18:29:55 +09:00
neo
4b114fce3d Added support for Ta to Lattice types 2015-06-04 18:29:55 +09:00
neo
bb73569fd6 Addedd Ta functionality to the tensor types
Merge remote-tracking branch 'upstream/master'

Conflicts:
	configure
2015-06-04 18:11:32 +09:00
neo
3055d2cf2c Addedd Ta functionality to the tensor types
Merge remote-tracking branch 'upstream/master'

Conflicts:
	configure
2015-06-04 18:11:32 +09:00
Peter Boyle
9c1ab656d4 CG Tests work for wilson kernel cont frac zolo and tanh 2015-06-04 06:02:00 +01:00
Peter Boyle
dd1f5dd966 CG Tests work for wilson kernel cont frac zolo and tanh 2015-06-04 06:02:00 +01:00
Peter Boyle
802e94e9ca First pass at continued fraction; solver and even odd decomposition tests pass.
Have to make ContFrac class virtual and derive end non-abstract actions for the particular
cases.
2015-06-04 00:00:45 +01:00
Peter Boyle
03f4fde468 First pass at continued fraction; solver and even odd decomposition tests pass.
Have to make ContFrac class virtual and derive end non-abstract actions for the particular
cases.
2015-06-04 00:00:45 +01:00
Peter Boyle
e68d087010 Assist for generating file lists contained in Make.inc files for convenience when things are added 2015-06-03 13:07:00 +01:00
Peter Boyle
f07a17ba2c Assist for generating file lists contained in Make.inc files for convenience when things are added 2015-06-03 13:07:00 +01:00
Peter Boyle
f9b070d64d Reorganise of file naming 2015-06-03 12:47:05 +01:00
Peter Boyle
1d0df449e8 Reorganise of file naming 2015-06-03 12:47:05 +01:00
Peter Boyle
6cb38dc5dc Overlap Wilson Cayley tanh & zolo 2015-06-03 11:26:54 +01:00
Peter Boyle
a3b599ae30 Overlap Wilson Cayley tanh & zolo 2015-06-03 11:26:54 +01:00
Peter Boyle
2b083ca987 CG test written and passes i.e. converges with small true residual
in RedBlack MpcDagMpc, Unprec MdagM and Schur red black solver for
each of.

DomainWallFermion
MobiusFermion
MobiusZolotarevFermion
ScaledShamirFermion
ScaledShamirZolotarevFermion
2015-06-03 10:54:03 +01:00
Peter Boyle
84b5c7217d CG test written and passes i.e. converges with small true residual
in RedBlack MpcDagMpc, Unprec MdagM and Schur red black solver for
each of.

DomainWallFermion
MobiusFermion
MobiusZolotarevFermion
ScaledShamirFermion
ScaledShamirZolotarevFermion
2015-06-03 10:54:03 +01:00
Peter Boyle
c659c76053 Scaled Shamir and Scaled Shamir Zolotarev aliases for special cases of Mobius. 2015-06-03 09:51:06 +01:00
Peter Boyle
260011670e Scaled Shamir and Scaled Shamir Zolotarev aliases for special cases of Mobius. 2015-06-03 09:51:06 +01:00
Peter Boyle
68e26140ee Mobius Caley form, Mobius Zolotarev operators. Pass Even Odd vs unprec test and hermiticity checks
in tests/Grid_any_evenodd.cc; will work on inversion tests shortly.
2015-06-03 09:36:26 +01:00
Peter Boyle
1fcacef239 Mobius Caley form, Mobius Zolotarev operators. Pass Even Odd vs unprec test and hermiticity checks
in tests/Grid_any_evenodd.cc; will work on inversion tests shortly.
2015-06-03 09:36:26 +01:00
Peter Boyle
494d2b8b61 Reorg; moving prec/unprec/schur CG for Wilson and DWF into tests as these are really tests and not benchmarks
(no performance reports, only convergence test).
2015-06-02 17:25:26 +01:00
Peter Boyle
69f4d58381 Reorg; moving prec/unprec/schur CG for Wilson and DWF into tests as these are really tests and not benchmarks
(no performance reports, only convergence test).
2015-06-02 17:25:26 +01:00
Peter Boyle
66d997e031 Large scale change to support 5d fermion formulations.
Have 5d replicated wilson with 4d gauge working and matrix regressing
to Ls copies of wilson.
2015-05-31 15:09:02 +01:00
Peter Boyle
5644ab1e19 Large scale change to support 5d fermion formulations.
Have 5d replicated wilson with 4d gauge working and matrix regressing
to Ls copies of wilson.
2015-05-31 15:09:02 +01:00
neo
9ad6d0c65f Merge remote-tracking branch 'upstream/master'
Conflicts:
	lib/math/Grid_math_tensors.h
	lib/simd/Grid_vector_types.h
2015-05-26 13:14:06 +09:00
neo
48cc816136 Merge remote-tracking branch 'upstream/master'
Conflicts:
	lib/math/Grid_math_tensors.h
	lib/simd/Grid_vector_types.h
2015-05-26 13:14:06 +09:00
neo
377083e6ae checked performance of new vector libaries.
Added check for c++11 support on the configure.ac
2015-05-26 12:02:54 +09:00
neo
1a24801246 checked performance of new vector libaries.
Added check for c++11 support on the configure.ac
2015-05-26 12:02:54 +09:00
Peter Boyle
d7f5172860 Schur complement based red-black inversion working 2015-05-25 13:47:12 +01:00
Peter Boyle
489b1b9633 Schur complement based red-black inversion working 2015-05-25 13:47:12 +01:00
Peter Boyle
41ba13f951 Merge branch 'master' of https://github.com/paboyle/Grid 2015-05-23 09:36:08 +01:00
Peter Boyle
5cf285bce9 Merge branch 'master' of https://github.com/paboyle/Grid 2015-05-23 09:36:08 +01:00
neo
57feda4328 Completed implementation of new Grid_simd classes
Tested performance for SSE4, Ok.
AVX1/2, AVX512 yet untested
2015-05-22 17:33:15 +09:00
neo
9e29ac6549 Completed implementation of new Grid_simd classes
Tested performance for SSE4, Ok.
AVX1/2, AVX512 yet untested
2015-05-22 17:33:15 +09:00
neo
f8d8958884 Merge remote-tracking branch 'upstream/master'
Conflicts:
	lib/simd/Grid_vector_types.h
	tests/Makefile.am
2015-05-20 17:32:46 +09:00
neo
d03c4e5901 Merge remote-tracking branch 'upstream/master'
Conflicts:
	lib/simd/Grid_vector_types.h
	tests/Makefile.am
2015-05-20 17:32:46 +09:00
neo
e529210f43 Implemented all SSE4 functions.
A test code Grid_simd_new.cc has been created to test the new class.
Tests are all OK.
2015-05-20 17:22:40 +09:00
neo
cf7be0e461 Implemented all SSE4 functions.
A test code Grid_simd_new.cc has been created to test the new class.
Tests are all OK.
2015-05-20 17:22:40 +09:00
Peter Boyle
8fdff33b3a Merging in
Merge branch 'master' of https://github.com/paboyle/Grid
2015-05-19 21:30:13 +01:00
Peter Boyle
221902a882 Merging in
Merge branch 'master' of https://github.com/paboyle/Grid
2015-05-19 21:30:13 +01:00
Peter Boyle
efc0d1e0b9 Reworking to keep intel compiler happy 2015-05-19 21:29:07 +01:00
Peter Boyle
a21036e69a Reworking to keep intel compiler happy 2015-05-19 21:29:07 +01:00
Peter Boyle
3fe7275332 Merged
Merge branch 'master' of https://github.com/coppolachan/Grid into coppolachan-master

Conflicts:
	lib/simd/Grid_vector_types.h
2015-05-19 15:05:07 +01:00
Peter Boyle
fde7f8d6b9 Merged
Merge branch 'master' of https://github.com/coppolachan/Grid into coppolachan-master

Conflicts:
	lib/simd/Grid_vector_types.h
2015-05-19 15:05:07 +01:00
Peter Boyle
a6e1ea216d Got unpreconditioned conjugate gradient to run and converge on a random (uniform random,
not even SU(3) for now) gauge field. Convergence history is correctly indepdendent of decomposition
on 1,2,4,8,16 mpi tasks.
Found a couple of simd bugs which required fixed and enhanced the Grid_simd.cc test suite.
Implemented the Mdag, M, MdagM, Meooe Mooee schur type stuff in the wilson dop.
2015-05-19 13:57:35 +01:00
Peter Boyle
4dba8522a1 Got unpreconditioned conjugate gradient to run and converge on a random (uniform random,
not even SU(3) for now) gauge field. Convergence history is correctly indepdendent of decomposition
on 1,2,4,8,16 mpi tasks.
Found a couple of simd bugs which required fixed and enhanced the Grid_simd.cc test suite.
Implemented the Mdag, M, MdagM, Meooe Mooee schur type stuff in the wilson dop.
2015-05-19 13:57:35 +01:00
neo
7fb3221d47 Partial implementation of the vector types SIMD
Implementing SSE4 now
A systematic series of tests must be written.
2015-05-19 17:21:17 +09:00
neo
74e91cd925 Partial implementation of the vector types SIMD
Implementing SSE4 now
A systematic series of tests must be written.
2015-05-19 17:21:17 +09:00
Peter Boyle
30494bd96d Merge branch 'master' of https://github.com/coppolachan/Grid into coppolachan-master
Conflicts:
	lib/algorithms/approx/bigfloat.h
2015-05-18 16:34:21 +01:00
Peter Boyle
05f1419df4 Merge branch 'master' of https://github.com/coppolachan/Grid into coppolachan-master
Conflicts:
	lib/algorithms/approx/bigfloat.h
2015-05-18 16:34:21 +01:00
Peter Boyle
193fd5532f Remez tested 2015-05-18 12:09:25 +01:00
Peter Boyle
17835c6f42 Remez tested 2015-05-18 12:09:25 +01:00
neo
fa1dc5e448 Minor modification to the configure.ac
Enables silent rules (use make V=1 to override)
Prints a summary after configure is completed
2015-05-18 17:15:14 +09:00
neo
99aecf1f2e Minor modification to the configure.ac
Enables silent rules (use make V=1 to override)
Prints a summary after configure is completed
2015-05-18 17:15:14 +09:00
neo
6d2accba7b Corrected some compilation errors (zolotarev.h) and SSE4 vsplat and conj to make cshift test pass. 2015-05-18 16:48:14 +09:00
neo
b4cd37276b Corrected some compilation errors (zolotarev.h) and SSE4 vsplat and conj to make cshift test pass. 2015-05-18 16:48:14 +09:00
Peter Boyle
1887c77498 Getting closer to having a wilson solver... introducing a first and untested
cut at Conjugate gradient. Also copied in Remez, Zolotarev, Chebyshev from
Mike Clark, Tony Kennedy and my BFM package respectively since we know we will
need these. I wanted the structure of

algorithms/approx
algorithms/iterative

etc.. to start taking shape.
2015-05-18 07:47:05 +01:00
Peter Boyle
11cb3e9a01 Getting closer to having a wilson solver... introducing a first and untested
cut at Conjugate gradient. Also copied in Remez, Zolotarev, Chebyshev from
Mike Clark, Tony Kennedy and my BFM package respectively since we know we will
need these. I wanted the structure of

algorithms/approx
algorithms/iterative

etc.. to start taking shape.
2015-05-18 07:47:05 +01:00
Peter Boyle
c99922b591 Out of source compile now working 2015-05-15 12:21:40 +01:00
Peter Boyle
331f832c34 Out of source compile now working 2015-05-15 12:21:40 +01:00
Peter Boyle
457cc0d5a3 RNG test 2015-05-13 09:24:30 +01:00
Peter Boyle
680f4e3636 RNG test 2015-05-13 09:24:30 +01:00
Peter Boyle
d388b831b4 cout IO for all types 2015-05-13 09:24:10 +01:00
Peter Boyle
a108d5d3b0 cout IO for all types 2015-05-13 09:24:10 +01:00
Peter Boyle
52174da232 Enhanced SIMD interfacing 2015-05-12 20:41:44 +01:00
Peter Boyle
6cec662ac5 Enhanced SIMD interfacing 2015-05-12 20:41:44 +01:00
Peter Boyle
65c91eae64 Threading support rework.
Placed parallel pragmas as macros; implemented deterministic thread reduction in style of
BFM.
2015-05-12 07:51:41 +01:00
Peter Boyle
6103c29ee3 Threading support rework.
Placed parallel pragmas as macros; implemented deterministic thread reduction in style of
BFM.
2015-05-12 07:51:41 +01:00
Peter Boyle
8b765be2b1 Moving some things around for pretty 2015-05-11 19:09:49 +01:00
Peter Boyle
b1d2c60d07 Moving some things around for pretty 2015-05-11 19:09:49 +01:00
Peter Boyle
a411b48a91 Adding a better controlled threading class, preparing to
force in deterministic reduction.
2015-05-11 18:59:03 +01:00
Peter Boyle
22d384b07d Adding a better controlled threading class, preparing to
force in deterministic reduction.
2015-05-11 18:59:03 +01:00
Peter Boyle
ebcb87abe1 Got command line args working 2015-05-11 14:36:48 +01:00
Peter Boyle
f5dcca7b1b Got command line args working 2015-05-11 14:36:48 +01:00
paboyle
1576b7837a CML parse 2015-05-11 12:56:27 +01:00
paboyle
43e71ff28c CML parse 2015-05-11 12:56:27 +01:00
paboyle
fa5779537c Command line args and a general clean up 2015-05-11 12:43:10 +01:00
paboyle
379943abf5 Command line args and a general clean up 2015-05-11 12:43:10 +01:00
Peter Boyle
242e447bc5 Lots of changes required to compile for MIC under ICPC 2015-05-10 23:29:21 +01:00
Peter Boyle
5555a852be Lots of changes required to compile for MIC under ICPC 2015-05-10 23:29:21 +01:00
Peter Boyle
352bccf6ca Merge branch 'master' of https://github.com/paboyle/Grid
Conflicts:
	lib/qcd/Grid_qcd_wilson_dop.cc
2015-05-10 15:37:47 +01:00
Peter Boyle
48b9692845 Merge branch 'master' of https://github.com/paboyle/Grid
Conflicts:
	lib/qcd/Grid_qcd_wilson_dop.cc
2015-05-10 15:37:47 +01:00
Peter Boyle
5fcf42cb30 Hack; must bring norm2 into the unary operator list.
ET's are still incomplete.
2015-05-10 15:30:29 +01:00
Peter Boyle
4e596da589 Hack; must bring norm2 into the unary operator list.
ET's are still incomplete.
2015-05-10 15:30:29 +01:00
Peter Boyle
e647cf0459 Default to single node. Move to command line args. 2015-05-10 15:27:38 +01:00
Peter Boyle
41c9785f3b Default to single node. Move to command line args. 2015-05-10 15:27:38 +01:00
Peter Boyle
8919bf9e0a Single node default. Should expose this as command line args, but haven't sorted out
Grid_initialize to handle this. Should put this on the TODO list.
2015-05-10 15:26:06 +01:00
Peter Boyle
443efd875e Single node default. Should expose this as command line args, but haven't sorted out
Grid_initialize to handle this. Should put this on the TODO list.
2015-05-10 15:26:06 +01:00
Peter Boyle
5415180676 Wilson perf improvements with Gauge prefetching 2015-05-06 06:37:21 +01:00
Peter Boyle
55ccb8ccf4 Wilson perf improvements with Gauge prefetching 2015-05-06 06:37:21 +01:00
Peter Boyle
7b0dd6c5d6 Cleaned up for Linux 2015-05-05 22:09:22 +01:00
Peter Boyle
35d949cc17 Cleaned up for Linux 2015-05-05 22:09:22 +01:00
Peter Boyle
9d93d1e6d4 Comms and memory benchmarks added 2015-05-03 09:44:47 +01:00
Peter Boyle
193860dbc8 Comms and memory benchmarks added 2015-05-03 09:44:47 +01:00
Peter Boyle
6a39089a43 Starting a benchmarking sub dir 2015-05-02 17:52:36 +01:00
Peter Boyle
4a1d4f1b3c Starting a benchmarking sub dir 2015-05-02 17:52:36 +01:00
Peter Boyle
c0ead94791 Integrated Lebesgue code and been playing with alternate implementations of the wilson dop without
any particular success in increasing the performance.
2015-04-30 16:39:06 +01:00
Peter Boyle
a98c01c86a Integrated Lebesgue code and been playing with alternate implementations of the wilson dop without
any particular success in increasing the performance.
2015-04-30 16:39:06 +01:00
Peter Boyle
d8ffa09e3b Benchmark wilson dhop now; 14.6GF on one core, not as fast as SU(3)xSU(3) [23GF] but still not too shabby.
Disassembling output shows ugly sequences in the permute sector. Could comparatively benchmark with and without
the if-else structure to see how much I'm losing.

Drops to 9GF as it falls out of cache. Moving to Lebesgue ordering should help there. Substantive progress.
2015-04-29 06:50:18 +01:00
Peter Boyle
b7090ebba4 Benchmark wilson dhop now; 14.6GF on one core, not as fast as SU(3)xSU(3) [23GF] but still not too shabby.
Disassembling output shows ugly sequences in the permute sector. Could comparatively benchmark with and without
the if-else structure to see how much I'm losing.

Drops to 9GF as it falls out of cache. Moving to Lebesgue ordering should help there. Substantive progress.
2015-04-29 06:50:18 +01:00
Peter Boyle
dcc23faa4a Fixed the stencil sector and Wilson now agrees between stencil based implementation
and the cshift based implementation. Managed to reduce the volume of code in this
sector a little, but consolidation would be good, perhaps taking common
logic out into simple helper functions
2015-04-29 06:23:56 +01:00
Peter Boyle
c72db6c6f6 Fixed the stencil sector and Wilson now agrees between stencil based implementation
and the cshift based implementation. Managed to reduce the volume of code in this
sector a little, but consolidation would be good, perhaps taking common
logic out into simple helper functions
2015-04-29 06:23:56 +01:00
Peter Boyle
b0485894b3 Shaken out stencil to the point where I think wilson dslash is correct.
Need to audit code carefully, consolidate between stencil and cshift,
and then benchmark and optimise.
2015-04-28 08:11:59 +01:00
Peter Boyle
25d523c0f4 Shaken out stencil to the point where I think wilson dslash is correct.
Need to audit code carefully, consolidate between stencil and cshift,
and then benchmark and optimise.
2015-04-28 08:11:59 +01:00
Peter Boyle
0b7d389258 Reworking CSHIFT and Stencil. Implementing Wilson and discovered rework is required 2015-04-27 13:45:07 +01:00
Peter Boyle
f159495a9d Reworking CSHIFT and Stencil. Implementing Wilson and discovered rework is required 2015-04-27 13:45:07 +01:00
Peter Boyle
35cfef2129 Big updates with progress towards wilson matrix 2015-04-26 15:51:09 +01:00
Peter Boyle
94f728bee4 Big updates with progress towards wilson matrix 2015-04-26 15:51:09 +01:00
Peter Boyle
2d8cf9e456 Added two spinor functionality required to support the Wilson hopping term. 2015-04-25 12:54:06 +01:00
Peter Boyle
c5fa18eb20 Added two spinor functionality required to support the Wilson hopping term. 2015-04-25 12:54:06 +01:00
Peter Boyle
fc32450360 Improved the gamma quite a bit.
Serial rng's which are set on node zero and broadcaste
2015-04-24 20:21:40 +01:00
Peter Boyle
9ec3529864 Improved the gamma quite a bit.
Serial rng's which are set on node zero and broadcaste
2015-04-24 20:21:40 +01:00
Peter Boyle
71d5927a66 Vectors now too and right multiple of matrix with gamma 2015-04-24 19:08:29 +01:00
Peter Boyle
38598190c3 Vectors now too and right multiple of matrix with gamma 2015-04-24 19:08:29 +01:00
Peter Boyle
b8eef54fa7 First implementation of Dirac matrices as a Gamma class. 2015-04-24 18:20:03 +01:00
Peter Boyle
d707c4e0a3 First implementation of Dirac matrices as a Gamma class. 2015-04-24 18:20:03 +01:00
Peter Boyle
e2e3ea5742 Reorganised the TODO. Really getting somewhere 2015-04-23 20:42:30 +01:00
Peter Boyle
b9939e3974 Reorganised the TODO. Really getting somewhere 2015-04-23 20:42:30 +01:00
Peter Boyle
62e8d2d127 Slice summation working. May move this into lattice/Grid_lattice_reduction however 2015-04-23 15:13:00 +01:00
Peter Boyle
52a6ba9767 Slice summation working. May move this into lattice/Grid_lattice_reduction however 2015-04-23 15:13:00 +01:00
Peter Boyle
1851327d19 Got the NERSC IO working and fixed a bug in cshift. 2015-04-22 22:46:48 +01:00
Peter Boyle
b32c14b433 Got the NERSC IO working and fixed a bug in cshift. 2015-04-22 22:46:48 +01:00
Peter Boyle
a5b0c492d7 Rework of RNG to use C++11 random. Should work correctly maintaining parallel RNG across
a machine. If a "fixedSeed" is used, randoms should be reproducible across different machine
decomposition since the generators are physically indexed and assigned in lexico ordering.
2015-04-19 14:55:58 +01:00
Peter Boyle
42f167ea37 Rework of RNG to use C++11 random. Should work correctly maintaining parallel RNG across
a machine. If a "fixedSeed" is used, randoms should be reproducible across different machine
decomposition since the generators are physically indexed and assigned in lexico ordering.
2015-04-19 14:55:58 +01:00
Peter Boyle
1556c2ba3f Finishing the reorg 2015-04-18 21:24:10 +01:00
Peter Boyle
6bd11d920a Finishing the reorg 2015-04-18 21:24:10 +01:00
Peter Boyle
e6ec92d0e4 More files, shorter each. 2015-04-18 20:45:00 +01:00
Peter Boyle
25a8266638 More files, shorter each. 2015-04-18 20:45:00 +01:00
Peter Boyle
1674f899e0 Cleaing up 2015-04-18 16:42:47 +01:00
Peter Boyle
eb0925d702 Cleaing up 2015-04-18 16:42:47 +01:00
Peter Boyle
f678be5f94 Shaken out the peekIndex support.
Hardwire constants "SpinIndex, ColourIndex" and LorentzIndex in Grid_QCD.h
2015-04-18 16:17:41 +01:00
Peter Boyle
b47d33c4f1 Shaken out the peekIndex support.
Hardwire constants "SpinIndex, ColourIndex" and LorentzIndex in Grid_QCD.h
2015-04-18 16:17:41 +01:00
Peter Boyle
3e3df092bb Reorg of build structure 2015-04-18 14:55:00 +01:00
Peter Boyle
c656164015 Reorg of build structure 2015-04-18 14:55:00 +01:00