Commit Graph
100 Commits
Author SHA1 Message Date
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
Peter Boyle 3057b2762a ICPC and GCC5 fixes 2015-05-15 11:35:02 +01:00
Peter Boyle 151a6f4e14 Using boolean logic inside enable_if is more elegant 2015-05-15 11:32:45 +01:00
Peter Boyle a36c974f26 Key of mm_malloc.h 2015-05-15 11:32:11 +01:00
Peter Boyle c0977dcfaa strong inline required to force icpc 2015-05-15 11:31:41 +01:00
Peter Boyle f1255197c2 Linear op added 2015-05-13 11:25:34 +01:00
Peter Boyle e179828662 OMP dslash working 2015-05-13 10:59:22 +01:00
Peter Boyle 680f4e3636 RNG test 2015-05-13 09:24:30 +01:00
Peter Boyle a108d5d3b0 cout IO for all types 2015-05-13 09:24:10 +01:00
Peter Boyle 48f425d31c I have made the Cshift work successfully with open mp threading in
every routine. Collapse(2) is now working under clang-omp++.
2015-05-13 00:31:00 +01:00
Peter Boyle 6cec662ac5 Enhanced SIMD interfacing 2015-05-12 20:41:44 +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 b1d2c60d07 Moving some things around for pretty 2015-05-11 19:09:49 +01:00