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

148 Commits

Author SHA1 Message Date
Azusa Yamaguchi
0c8c44b3e3 Minor change 2015-06-14 00:50:26 +01:00
Azusa Yamaguchi
e4e91d3042 be more precise on typing 2015-06-14 00:49:57 +01:00
Azusa Yamaguchi
9184cc68da TensorRemove not needed now 2015-06-14 00:49:26 +01:00
Peter Boyle
1cc25837b2 Updates to ldop tests 2015-06-10 12:26:25 +01:00
Peter Boyle
50c4f416b6 file list 2015-06-10 12:25:15 +01:00
Azusa Yamaguchi
e5d30fe5e2 Fix compile 2015-06-10 11:30:27 +01:00
Azusa Yamaguchi
89f961faef commit file list 2015-06-10 11:26:46 +01:00
Azusa Yamaguchi
ca109497a1 Merge branch 'master' of https://github.com/paboyle/Grid 2015-06-10 11:25:57 +01:00
Azusa Yamaguchi
2f4a0c5de4 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
965a92ce40 Adding several iMatrix utilities 2015-06-10 14:16:33 +09:00
Peter Boyle
1118c42fcc 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
62cb914488 Solver converges 2015-06-09 22:51:02 +01:00
Peter Boyle
d50cf43e5e Solver converges 2015-06-09 22:50:45 +01:00
Peter Boyle
850054d162 Some extra tests 2015-06-09 22:43:10 +01:00
Peter Boyle
971d224983 G5R5 update 2015-06-09 22:41:27 +01:00
Peter Boyle
930463a226 Files update 2015-06-09 22:40:12 +01:00
Peter Boyle
f0530e9f52 silly change 2015-06-09 22:36:48 +01:00
neo
61b85a0670 Merge remote-tracking branch 'upstream/master' 2015-06-09 19:01:07 +09:00
neo
d60cfe31a7 Adding support for iMatrix exponentiation 2015-06-09 18:59:45 +09:00
Peter Boyle
506dfd1517 Some unary ops and coarse grid support 2015-06-09 10:26:19 +01:00
neo
6b8fe04054 Experimental support for ARM 2015-06-09 15:46:21 +09:00
Peter Boyle
78607950ac No compile fix after merge 2015-06-08 12:12:13 +01:00
Peter Boyle
2f4a4489ce 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
9e7035f5dc Conjugate residual algorithm; some more unary functions 2015-06-08 12:04:59 +01:00
Peter Boyle
690397e7c6 sqrt 2015-06-08 12:03:36 +01:00
Azusa Yamaguchi
54aec05989 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
50e8b2160e Conjugate residual added 2015-06-05 18:16:25 +01:00
Azusa Yamaguchi
ad18df92d0 Compile fix 2015-06-05 10:29:42 +01:00
Peter Boyle
f3e60a9feb 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
a8b86e747b merge to the head 2015-06-05 10:15:31 +01:00
Peter Boyle
b9e9777912 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
7fc54fc904 Added support for Ta to Lattice types 2015-06-04 18:29:55 +09:00
neo
b9edadc53e 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
37aa74dfd2 CG Tests work for wilson kernel cont frac zolo and tanh 2015-06-04 06:02:00 +01:00
Peter Boyle
50bd293527 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
eaa3e6aaf6 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
4bcc319e11 Reorganise of file naming 2015-06-03 12:47:05 +01:00
Peter Boyle
8fe3d4f971 Overlap Wilson Cayley tanh & zolo 2015-06-03 11:26:54 +01:00
Peter Boyle
26e9b04fab 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
343d039b37 Scaled Shamir and Scaled Shamir Zolotarev aliases for special cases of Mobius. 2015-06-03 09:51:06 +01:00
Peter Boyle
5916386242 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
35fdba81dd 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
a75b6f6e78 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
257aa92421 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
ece86f717b 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
2ae6214104 Schur complement based red-black inversion working 2015-05-25 13:47:12 +01:00
Peter Boyle
c25016030c Merge branch 'master' of https://github.com/paboyle/Grid 2015-05-23 09:36:08 +01:00
neo
1c862dc15b 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
9098d7d0a3 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
3a3f54932a 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
dc4014668d Merging in
Merge branch 'master' of https://github.com/paboyle/Grid
2015-05-19 21:30:13 +01:00
Peter Boyle
b562b50196 Reworking to keep intel compiler happy 2015-05-19 21:29:07 +01:00
Peter Boyle
3d66d00313 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
ffc00caea3 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
b29caead32 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
cf9bbee256 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
2843264bd8 Remez tested 2015-05-18 12:09:25 +01:00
neo
17e4e478cd 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
cee363e28c 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
d0e4673a3f 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
a98f3e0f5e Out of source compile now working 2015-05-15 12:21:40 +01:00
Peter Boyle
e6e72d23df RNG test 2015-05-13 09:24:30 +01:00
Peter Boyle
add4495a4a cout IO for all types 2015-05-13 09:24:10 +01:00
Peter Boyle
556befaaaa Enhanced SIMD interfacing 2015-05-12 20:41:44 +01:00
Peter Boyle
c6baa3e657 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
6e6843ac69 Moving some things around for pretty 2015-05-11 19:09:49 +01:00
Peter Boyle
c8dc8ff891 Adding a better controlled threading class, preparing to
force in deterministic reduction.
2015-05-11 18:59:03 +01:00
Peter Boyle
b613ed0bb8 Got command line args working 2015-05-11 14:36:48 +01:00
paboyle
4eb08ac9de CML parse 2015-05-11 12:56:27 +01:00
paboyle
b42453d1fd Command line args and a general clean up 2015-05-11 12:43:10 +01:00
Peter Boyle
2203c6e597 Lots of changes required to compile for MIC under ICPC 2015-05-10 23:29:21 +01:00
Peter Boyle
4da2c2ea00 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
79c51ac51f Hack; must bring norm2 into the unary operator list.
ET's are still incomplete.
2015-05-10 15:30:29 +01:00
Peter Boyle
7119bce9f3 Default to single node. Move to command line args. 2015-05-10 15:27:38 +01:00
Peter Boyle
cd90f55536 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
52403d587c Wilson perf improvements with Gauge prefetching 2015-05-06 06:37:21 +01:00
Peter Boyle
cdd5cdeda2 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
6a39089a43 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
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
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
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
0b7d389258 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
2d8cf9e456 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
71d5927a66 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
e2e3ea5742 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
1851327d19 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
1556c2ba3f 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
1674f899e0 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
3e3df092bb Reorg of build structure 2015-04-18 14:55:00 +01:00