Commit Graph
100 Commits
Author SHA1 Message Date
Peter Boyle dd1f5dd966 CG Tests work for wilson kernel cont frac zolo and tanh 2015-06-04 06:02:00 +01:00
Peter Boyle a088a65656 Implementing the Hw kernel continued fraction 5d overlap cases 2015-06-04 00:23:16 +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 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 3cfea5a09f Make.inc needed in repo 2015-06-03 12:49:36 +01:00
Peter Boyle a97954230d Convenience script to build the list of headers and .cc files in the library 2015-06-03 12:47:46 +01:00
Peter Boyle 1d0df449e8 Reorganise of file naming 2015-06-03 12:47:05 +01:00
Peter Boyle a3b599ae30 Overlap Wilson Cayley tanh & zolo 2015-06-03 11:26:54 +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 260011670e Scaled Shamir and Scaled Shamir Zolotarev aliases for special cases of Mobius. 2015-06-03 09:51:06 +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 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 3845f267cb Domain wall fermions now invert ; have the basis set up for
Tanh/Zolo * (Cayley/PartFrac/ContFrac) * (Mobius/Shamir/Wilson)
Approx        Representation               Kernel.

All are done with space-time taking part in checkerboarding, Ls uncheckerboarded

Have only so far tested the Domain Wall limit of mobius, and at that only checked
that it
i)  Inverts
ii) 5dim DW == Ls copies of 4dim D2
iii) MeeInv Mee == 1
iv) Meo+Mee+Moe+Moo == M unprec.
v) MpcDagMpc is hermitan
vi) Mdag is the adjoint of M between stochastic vectors.

That said, the RB schur solve, RB MpcDagMpc solve, Unprec solve
all converge and the true residual becomes small; so pretty good tests.
2015-06-02 16:57:12 +01:00
Peter Boyle 46d1bae46a Updated line counter 2015-05-31 15:11:09 +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
Peter Boyle 59db857ad1 Integer wrap problem fixed. 2015-05-29 14:11:34 +01:00
Peter Boyle 67fa5691e5 Weak scale the benchmarks automatically. 2015-05-28 13:47:01 +01:00
Peter Boyle 62a7ca462f Works now with Clang-avx, Clang-sse and ICPC-avx, ICPC-sse 2015-05-28 11:35:43 +01:00
Peter Boyle b72ca15bd2 Improving the reduction to go through our on permute.
Must also do this for avx512
2015-05-27 16:07:17 +01:00
Peter Boyle 74f138c5e8 Auto gen files should never have been committed, but making everyone run
aclocal, automake, autoconf is a pain in the ass.
2015-05-26 22:20:40 +01:00
Peter Boyle ccd47011b9 Simd revert to Guido's commit. I edited concurrently and things went bad. 2015-05-26 22:20:09 +01:00
Peter Boyle 48bb3ab4e7 Merge branch 'master' of https://github.com/paboyle/Grid
Conflicts:
	lib/Grid_simd.h
2015-05-26 20:04:08 +01:00
Peter Boyle bfb1cd36e2 Strip out the dslash kernel implementation 2015-05-26 19:55:18 +01:00
Peter Boyle 840754dd42 Hand unrolled version of dslash in a separate class.
Useful to compare; raises Intel compiler from 9GFlop/s to 17.5 Gflops.
                   on ivybridge core. Raises Clang form 14.5 to 17.5
2015-05-26 19:54:03 +01:00
Peter Boyle 37721572e7 Makefile update 2015-05-25 14:43:08 +01:00
Peter Boyle 489b1b9633 Schur complement based red-black inversion working 2015-05-25 13:47:12 +01:00
Peter Boyle ea3240ad55 Better EO support letting Schur solver work 2015-05-25 13:46:28 +01:00
Peter Boyle 956e728b40 Most cosmetic 2015-05-25 13:45:32 +01:00
Peter Boyle 94d679c4e6 Better checkerboard tracking. 2015-05-25 13:45:08 +01:00
Peter Boyle 616f871735 move constants into red black 2015-05-25 13:44:35 +01:00
Peter Boyle 624c0ac3ef Updates now schur red black solver working 2015-05-25 13:43:58 +01:00
Peter Boyle ac99832d21 Herm op 2015-05-25 13:42:36 +01:00
Peter Boyle d30c013721 red black fix 2015-05-25 13:42:12 +01:00
Peter Boyle 5cf285bce9 Merge branch 'master' of https://github.com/paboyle/Grid 2015-05-23 09:36:08 +01:00
Peter Boyle 613a73b1b6 Added 2015-05-23 09:36:01 +01:00
Peter Boyle f681baa9cd Extra targets 2015-05-23 09:35:37 +01:00
Peter Boyle d21411ead9 More targets 2015-05-23 09:34:50 +01:00
Peter Boyle 64fcbd0387 Improving even odd sector; lot of work and through required cleaning this 2015-05-23 09:34:16 +01:00
Peter Boyle bef9bf0d38 Rely on default constructors 2015-05-23 09:33:42 +01:00
Peter Boyle eadfb5be67 Better pragma use 2015-05-23 09:32:37 +01:00
Peter Boyle 33737ef57a Cosmetic 2015-05-23 09:31:15 +01:00
Peter Boyle 32c3f16f95 Iterator required 2015-05-23 09:30:28 +01:00
Peter Boyle 24c68a697b Merge pull request #7 from coppolachan/master
Added full support for SSE4
2015-05-22 05:58:59 +01:00
Peter Boyle 9601890549 Streaming store option ifdef 2015-05-21 06:47:05 +01:00
Peter Boyle 1559dd4adc Compile time select if we do the streaming store copy. Relies on Clang++ eliminating object copies,
and other compliers do not necessarily cope.
2015-05-21 06:39:00 +01:00
Peter Boyle 22bfbd0f8d adding two routines containing only a single operation so I can easily see the assembly dump 2015-05-21 06:37:46 +01:00
Peter Boyle 3a441c3e94 Minor change 2015-05-21 06:37:20 +01:00
Peter Boyle d4ca8647dc useful to dump assembler 2015-05-21 06:36:47 +01:00
Peter Boyle d0d41b8bce Didn't like a print statement 2015-05-21 06:36:15 +01:00
Peter Boyle 341096dce8 better comms benchmarking 2015-05-21 06:35:46 +01:00
Peter Boyle 34960ca50c Unroll pragma abstraction 2015-05-21 06:34:33 +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 d3931111fb Build a simple kernel to compare intel compiler and clang in simple environment 2015-05-19 21:29:40 +01:00
Peter Boyle a21036e69a Reworking to keep intel compiler happy 2015-05-19 21:29:07 +01:00
Peter Boyle 8220794c44 Optimisation... 2015-05-19 15:50:47 +01:00
Peter Boyle 7571a6b021 Merge branch 'coppolachan-master' 2015-05-19 15:05:32 +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 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
Peter Boyle 05d862782f Merge branch 'coppolachan-master' 2015-05-18 16:36:58 +01:00
Peter Boyle 3f17423d36 lib/algorithms/approx/bigfloat.h 2015-05-18 16:35:48 +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 0b3721502e Convience function 2015-05-18 16:28:29 +01:00
Peter Boyle 17835c6f42 Remez tested 2015-05-18 12:09:25 +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 7992346190 Working towards solvers 2015-05-17 00:19:03 +01:00
Peter Boyle bf7ab0da7a Updating preparing for solvers etc.. 2015-05-16 23:35:08 +01:00
Peter Boyle 1f4e7bbdce Better build automation 2015-05-16 07:16:45 +01:00
Peter Boyle 1f765e5b59 Merge branch 'master' of https://github.com/paboyle/Grid 2015-05-16 06:42:03 +01:00
Peter Boyle 462bafdd2c Moved things around 2015-05-16 06:40:10 +01:00
Peter Boyle e9ed288b00 Typoo xifed 2015-05-16 05:49:32 +01:00
Peter Boyle dda3da45fb Update Grid_lattice_trace.h 2015-05-16 04:40:28 +01:00
Peter Boyle 2e4ba02443 Pretty syntax 2015-05-16 04:37:26 +01:00
Peter Boyle a19aa9627d Optimisation and syntax pretty 2015-05-16 04:36:22 +01:00
Peter Boyle aff5254208 more digits 2015-05-16 04:33:40 +01:00
Peter Boyle 9e29fb2c6a strong inline 2015-05-16 04:33:10 +01:00
Peter Boyle bc5ed9acaf Extra compile targs 2015-05-15 14:41:59 +01:00
Peter Boyle b4b70702fd Added su3 matrix benchmark. 2015-05-15 14:41:19 +01:00
Peter Boyle 8e1b5dda4b Log the bug report code into the git repo. 2015-05-15 12:39:53 +01:00
Peter Boyle 9386522543 Compile options tweak 2015-05-15 12:33:18 +01:00
Peter Boyle 331f832c34 Out of source compile now working 2015-05-15 12:21:40 +01:00
Peter Boyle 022c12b8e4 Convenience multi-compiler build with out of source compile 2015-05-15 12:21:10 +01:00
Peter Boyle 0b4d3544b9 clang++ 3.4/5/7 compile happy for AVX and SSE
icpc compiles happy on MacOSX both with -xCOMMON-AV512 and native AVX

gcc-5 does not compile happy; can work around by renaming lattice peek/poke/transpose/trace templates
relative to tensor ones, but gcc goes into a recursive template instantiation due to
matching error. I think this is a gcc bug and have filed a report https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66153
2015-05-15 11:52:11 +01:00
Peter Boyle ed8e3b676f Remove debug masking 2015-05-15 11:51:15 +01:00
Peter Boyle 882fa27ff5 GCC and ICPC complained on more careful typeing 2015-05-15 11:50:44 +01:00
Peter Boyle 3346b68ccd Move platform dependent out to Grid_simd.h 2015-05-15 11:50:00 +01:00
Peter Boyle 0afb64bf24 ngo store 2015-05-15 11:49:39 +01:00
Peter Boyle 537f47404b Parallel for replace 2015-05-15 11:48:04 +01:00
Peter Boyle a0d041b522 Forces inlining upon icpc 2015-05-15 11:43:49 +01:00
Peter Boyle 8c57bcaece Force inlining upon icpc 2015-05-15 11:43:20 +01:00
Peter Boyle 519eab8ff0 More elegant enable_if 2015-05-15 11:42:51 +01:00
Peter Boyle f986e123d2 More elegant to do boolean logic inside the enable_if construct
Should have done that from the beginning and should move this into
a global edit
2015-05-15 11:42:03 +01:00
Peter Boyle 70638bf1f1 Force inlining on ICPC because inline apparently is not enoguh 2015-05-15 11:41:31 +01:00
Peter Boyle 54d8972753 strong_inline forces ICPC to do it. 2015-05-15 11:40:59 +01:00
Peter Boyle 5159b26261 Force strong_inline to force ipcc's hand 2015-05-15 11:40:31 +01:00
Peter Boyle c33ec96fc8 Switch to strong_inline macro to force icpc's hand 2015-05-15 11:40:00 +01:00
Peter Boyle 577325cb7a Promote to strong inline to force ICPC's hand. Annoying. 2015-05-15 11:39:25 +01:00
Peter Boyle 46c4379592 Formatting change 2015-05-15 11:38:54 +01:00
Peter Boyle f761ab0f50 Filed bug report Bug 66153 on GCC-5.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66153
2015-05-15 11:38:04 +01:00
Peter Boyle 2a28cfb3a3 Silly formatting change 2015-05-15 11:37:07 +01:00
Peter Boyle b00622302b gcc doesn't like collapse(2) for some reason I can't figure 2015-05-15 11:36:22 +01:00