Commit Graph
100 Commits
Author SHA1 Message Date
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
Peter Boyle 9cfc180334 Integer wrap problem fixed. 2015-05-29 14:11:34 +01:00
Peter Boyle 445e38acf6 Weak scale the benchmarks automatically. 2015-05-28 13:47:01 +01:00
Peter Boyle a5c3424cfb Works now with Clang-avx, Clang-sse and ICPC-avx, ICPC-sse 2015-05-28 11:35:43 +01:00
Peter Boyle e8be96bfe7 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 b6a28f1de7 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 6d2e056187 Simd revert to Guido's commit. I edited concurrently and things went bad. 2015-05-26 22:20:09 +01:00
Peter Boyle fb37b57c2d Merge branch 'master' of https://github.com/paboyle/Grid
Conflicts:
	lib/Grid_simd.h
2015-05-26 20:04:08 +01:00
Peter Boyle 5e72e4c0d9 Strip out the dslash kernel implementation 2015-05-26 19:55:18 +01:00
Peter Boyle a32ac287bb 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 3a6ff2d7b8 Makefile update 2015-05-25 14:43:08 +01:00
Peter Boyle 2ae6214104 Schur complement based red-black inversion working 2015-05-25 13:47:12 +01:00
Peter Boyle 1a9841a0f1 Better EO support letting Schur solver work 2015-05-25 13:46:28 +01:00
Peter Boyle 55685b7cf5 Most cosmetic 2015-05-25 13:45:32 +01:00
Peter Boyle 3358a77c7a Better checkerboard tracking. 2015-05-25 13:45:08 +01:00
Peter Boyle bc947477f3 move constants into red black 2015-05-25 13:44:35 +01:00
Peter Boyle 29f72292ba Updates now schur red black solver working 2015-05-25 13:43:58 +01:00
Peter Boyle 9b5633ff4f Herm op 2015-05-25 13:42:36 +01:00
Peter Boyle 17a06af1ff red black fix 2015-05-25 13:42:12 +01:00
Peter Boyle c25016030c Merge branch 'master' of https://github.com/paboyle/Grid 2015-05-23 09:36:08 +01:00
Peter Boyle 2806273340 Added 2015-05-23 09:36:01 +01:00
Peter Boyle 73ee36c48d Extra targets 2015-05-23 09:35:37 +01:00
Peter Boyle b8fdb65fbf More targets 2015-05-23 09:34:50 +01:00
Peter Boyle 65f2e6b269 Improving even odd sector; lot of work and through required cleaning this 2015-05-23 09:34:16 +01:00
Peter Boyle d07a5c084d Rely on default constructors 2015-05-23 09:33:42 +01:00
Peter Boyle a2928321b6 Better pragma use 2015-05-23 09:32:37 +01:00
Peter Boyle 764732944f Cosmetic 2015-05-23 09:31:15 +01:00
Peter Boyle ae58a9ada2 Iterator required 2015-05-23 09:30:28 +01:00
Peter Boyle 96e5c5c6ca Merge pull request #7 from coppolachan/master
Added full support for SSE4
2015-05-22 05:58:59 +01:00
Peter Boyle d8061afe24 Streaming store option ifdef 2015-05-21 06:47:05 +01:00
Peter Boyle 874b2eb32d 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 f1fb92fd01 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 3e1d1aff18 Minor change 2015-05-21 06:37:20 +01:00
Peter Boyle c96af471ee useful to dump assembler 2015-05-21 06:36:47 +01:00
Peter Boyle 57a01e6bbb Didn't like a print statement 2015-05-21 06:36:15 +01:00
Peter Boyle d806581666 better comms benchmarking 2015-05-21 06:35:46 +01:00
Peter Boyle 35055ed5c1 Unroll pragma abstraction 2015-05-21 06:34:33 +01: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 3f57662cd0 Build a simple kernel to compare intel compiler and clang in simple environment 2015-05-19 21:29:40 +01:00
Peter Boyle b562b50196 Reworking to keep intel compiler happy 2015-05-19 21:29:07 +01:00
Peter Boyle 46ab8edf30 Optimisation... 2015-05-19 15:50:47 +01:00
Peter Boyle 5f0530b68a Merge branch 'coppolachan-master' 2015-05-19 15:05:32 +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
Peter Boyle c7314e526e Merge branch 'coppolachan-master' 2015-05-18 16:36:58 +01:00
Peter Boyle f9a8377fe6 lib/algorithms/approx/bigfloat.h 2015-05-18 16:35:48 +01: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 a19deba26c Convience function 2015-05-18 16:28:29 +01:00
Peter Boyle 2843264bd8 Remez tested 2015-05-18 12:09:25 +01: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 8e99e4671f Working towards solvers 2015-05-17 00:19:03 +01:00
Peter Boyle dc6b6bdc96 Updating preparing for solvers etc.. 2015-05-16 23:35:08 +01:00
Peter Boyle 9b0aae665f Better build automation 2015-05-16 07:16:45 +01:00
Peter Boyle 4a0da933f0 Merge branch 'master' of https://github.com/paboyle/Grid 2015-05-16 06:42:03 +01:00
Peter Boyle e2f6745a0e Moved things around 2015-05-16 06:40:10 +01:00
Peter Boyle 39e7ef1243 Typoo xifed 2015-05-16 05:49:32 +01:00
Peter Boyle 9c38a52bad Update Grid_lattice_trace.h 2015-05-16 04:40:28 +01:00
Peter Boyle 1247d7aea8 Pretty syntax 2015-05-16 04:37:26 +01:00
Peter Boyle 9f0e990b40 Optimisation and syntax pretty 2015-05-16 04:36:22 +01:00
Peter Boyle 56667e9d32 more digits 2015-05-16 04:33:40 +01:00
Peter Boyle 49f56a25d1 strong inline 2015-05-16 04:33:10 +01:00
Peter Boyle c2ca396353 Extra compile targs 2015-05-15 14:41:59 +01:00
Peter Boyle 7a63bdbd72 Added su3 matrix benchmark. 2015-05-15 14:41:19 +01:00
Peter Boyle 516aac6518 Log the bug report code into the git repo. 2015-05-15 12:39:53 +01:00
Peter Boyle 675fd1a065 Compile options tweak 2015-05-15 12:33:18 +01:00
Peter Boyle a98f3e0f5e Out of source compile now working 2015-05-15 12:21:40 +01:00
Peter Boyle f92fda0cfd Convenience multi-compiler build with out of source compile 2015-05-15 12:21:10 +01:00
Peter Boyle 100323ab4d 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 6965a136a0 Remove debug masking 2015-05-15 11:51:15 +01:00
Peter Boyle 254dee6ac7 GCC and ICPC complained on more careful typeing 2015-05-15 11:50:44 +01:00
Peter Boyle 264850bc16 Move platform dependent out to Grid_simd.h 2015-05-15 11:50:00 +01:00
Peter Boyle 9a120cf5ec ngo store 2015-05-15 11:49:39 +01:00
Peter Boyle 8d77d758c3 Parallel for replace 2015-05-15 11:48:04 +01:00
Peter Boyle 0e7945fe54 Forces inlining upon icpc 2015-05-15 11:43:49 +01:00
Peter Boyle bd721ce1c8 Force inlining upon icpc 2015-05-15 11:43:20 +01:00
Peter Boyle a852d13f03 More elegant enable_if 2015-05-15 11:42:51 +01:00
Peter Boyle a26fdab719 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 af6e8f7829 Force inlining on ICPC because inline apparently is not enoguh 2015-05-15 11:41:31 +01:00
Peter Boyle cbfa4097b4 strong_inline forces ICPC to do it. 2015-05-15 11:40:59 +01:00
Peter Boyle 8c40dd9c4f Force strong_inline to force ipcc's hand 2015-05-15 11:40:31 +01:00
Peter Boyle b38bf82d48 Switch to strong_inline macro to force icpc's hand 2015-05-15 11:40:00 +01:00
Peter Boyle adc4f86020 Promote to strong inline to force ICPC's hand. Annoying. 2015-05-15 11:39:25 +01:00
Peter Boyle 5b46992a15 Formatting change 2015-05-15 11:38:54 +01:00
Peter Boyle e7d25647e6 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 c28551f40f Silly formatting change 2015-05-15 11:37:07 +01:00
Peter Boyle 6c7eb60d6f gcc doesn't like collapse(2) for some reason I can't figure 2015-05-15 11:36:22 +01:00
Peter Boyle 051b23fe10 ICPC and GCC5 fixes 2015-05-15 11:35:02 +01:00
Peter Boyle 4e462209c7 Using boolean logic inside enable_if is more elegant 2015-05-15 11:32:45 +01:00
Peter Boyle 8d1b26dd4b Key of mm_malloc.h 2015-05-15 11:32:11 +01:00
Peter Boyle cc6218a692 strong inline required to force icpc 2015-05-15 11:31:41 +01:00
Peter Boyle 5166888c0a Linear op added 2015-05-13 11:25:34 +01:00
Peter Boyle 0097b81778 OMP dslash working 2015-05-13 10:59:22 +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 541d52ab97 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 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