Commit Graph
100 Commits
Author SHA1 Message Date
Peter Boyle be8b4f89d6 Iterator required 2015-05-23 09:30:28 +01:00
Peter Boyle e0cc5ba920 Streaming store option ifdef 2015-05-21 06:47:05 +01:00
Peter Boyle 1b9ecbac3b 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 ac0941be9a 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 fb159e1cff Minor change 2015-05-21 06:37:20 +01:00
Peter Boyle 8bc0033326 useful to dump assembler 2015-05-21 06:36:47 +01:00
Peter Boyle db786fac13 Didn't like a print statement 2015-05-21 06:36:15 +01:00
Peter Boyle 046485a7bb better comms benchmarking 2015-05-21 06:35:46 +01:00
Peter Boyle 9058135da0 Unroll pragma abstraction 2015-05-21 06:34:33 +01: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 91ed085ca4 Build a simple kernel to compare intel compiler and clang in simple environment 2015-05-19 21:29:40 +01:00
Peter Boyle efc0d1e0b9 Reworking to keep intel compiler happy 2015-05-19 21:29:07 +01:00
Peter Boyle 2d8b5a8191 Optimisation... 2015-05-19 15:50:47 +01:00
Peter Boyle b520694b00 Merge branch 'coppolachan-master' 2015-05-19 15:05:32 +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 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 6f387b4916 Merge branch 'coppolachan-master' 2015-05-18 16:36:58 +01:00
Peter Boyle 9bfe0e63f4 lib/algorithms/approx/bigfloat.h 2015-05-18 16:35:48 +01: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 6f038a7f6d Convience function 2015-05-18 16:28:29 +01:00
Peter Boyle 193fd5532f Remez tested 2015-05-18 12:09:25 +01: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 6eb8dfd902 Working towards solvers 2015-05-17 00:19:03 +01:00
Peter Boyle e841395dfd Updating preparing for solvers etc.. 2015-05-16 23:35:08 +01:00
Peter Boyle cf99a1f37d Better build automation 2015-05-16 07:16:45 +01:00
Peter Boyle deac65a92d Merge branch 'master' of https://github.com/paboyle/Grid 2015-05-16 06:42:03 +01:00
Peter Boyle f6e54a7bd4 Moved things around 2015-05-16 06:40:10 +01:00
Peter Boyle 53260e7a39 Typoo xifed 2015-05-16 05:49:32 +01:00
Peter Boyle a900790b44 Update Grid_lattice_trace.h 2015-05-16 04:40:28 +01:00
Peter Boyle b731bf6976 Pretty syntax 2015-05-16 04:37:26 +01:00
Peter Boyle 5f8b82b90c Optimisation and syntax pretty 2015-05-16 04:36:22 +01:00
Peter Boyle 25bfa7e830 more digits 2015-05-16 04:33:40 +01:00
Peter Boyle afda459886 strong inline 2015-05-16 04:33:10 +01:00
Peter Boyle c43869a83a Extra compile targs 2015-05-15 14:41:59 +01:00
Peter Boyle 87bc17831d Added su3 matrix benchmark. 2015-05-15 14:41:19 +01:00
Peter Boyle 76cbcff2f1 Log the bug report code into the git repo. 2015-05-15 12:39:53 +01:00
Peter Boyle f43589369a Compile options tweak 2015-05-15 12:33:18 +01:00
Peter Boyle c99922b591 Out of source compile now working 2015-05-15 12:21:40 +01:00
Peter Boyle de0c199604 Convenience multi-compiler build with out of source compile 2015-05-15 12:21:10 +01:00
Peter Boyle 3ed30169ea 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 bc3889ffa1 Remove debug masking 2015-05-15 11:51:15 +01:00
Peter Boyle 180b06d7e3 GCC and ICPC complained on more careful typeing 2015-05-15 11:50:44 +01:00
Peter Boyle 3bd376853c Move platform dependent out to Grid_simd.h 2015-05-15 11:50:00 +01:00
Peter Boyle 6bba16ccf7 ngo store 2015-05-15 11:49:39 +01:00
Peter Boyle e8efa6320e Parallel for replace 2015-05-15 11:48:04 +01:00
Peter Boyle e3b61bdfce Forces inlining upon icpc 2015-05-15 11:43:49 +01:00
Peter Boyle 86b9d24b62 Force inlining upon icpc 2015-05-15 11:43:20 +01:00
Peter Boyle 3e3a8dc0c0 More elegant enable_if 2015-05-15 11:42:51 +01:00
Peter Boyle 4350c1e0f7 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 8c59605e05 Force inlining on ICPC because inline apparently is not enoguh 2015-05-15 11:41:31 +01:00
Peter Boyle e59b6a805c strong_inline forces ICPC to do it. 2015-05-15 11:40:59 +01:00
Peter Boyle 5d8303e94d Force strong_inline to force ipcc's hand 2015-05-15 11:40:31 +01:00
Peter Boyle 1339a7f8b0 Switch to strong_inline macro to force icpc's hand 2015-05-15 11:40:00 +01:00
Peter Boyle e58cc72fe5 Promote to strong inline to force ICPC's hand. Annoying. 2015-05-15 11:39:25 +01:00
Peter Boyle 074430af0d Formatting change 2015-05-15 11:38:54 +01:00
Peter Boyle 873110d482 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 4cee0e8653 Silly formatting change 2015-05-15 11:37:07 +01:00
Peter Boyle 6b2a786779 gcc doesn't like collapse(2) for some reason I can't figure 2015-05-15 11:36:22 +01:00
Peter Boyle cf27f22dc0 ICPC and GCC5 fixes 2015-05-15 11:35:02 +01:00
Peter Boyle 40192841a4 Using boolean logic inside enable_if is more elegant 2015-05-15 11:32:45 +01:00
Peter Boyle 1771f97551 Key of mm_malloc.h 2015-05-15 11:32:11 +01:00
Peter Boyle 2eaf73e8b3 strong inline required to force icpc 2015-05-15 11:31:41 +01:00
Peter Boyle 43bdbb5080 Linear op added 2015-05-13 11:25:34 +01:00
Peter Boyle 7f3ae64a31 OMP dslash working 2015-05-13 10:59:22 +01:00
Peter Boyle 457cc0d5a3 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 b4a570477c 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 52174da232 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 8b765be2b1 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 ebcb87abe1 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 fa5779537c 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 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 c946e77143 Expression template hack 2015-05-10 15:35:30 +01:00
Peter Boyle 015fbee772 Expression template engin 2015-05-10 15:34:20 +01:00
Peter Boyle 8215893152 Updated TODO list 2015-05-10 15:32:56 +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 e647cf0459 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 133493dc79 Small tweak to enable benchmarking to suppress gauge field bandwidth as a test.
This is a short term hack while I benchmark.
2015-05-10 15:25:23 +01:00
Peter Boyle 58d32a4d0e Assertion should never hit, but did due to a bug 2015-05-10 15:24:37 +01:00
Peter Boyle 6bb17502f9 Moving operator stuff into separate file so that we can switch on/off replacement with
expression templates
2015-05-10 15:23:49 +01:00
Peter Boyle 8299bc39ea Fixing breakage in the Comms non compile 2015-05-10 15:23:09 +01:00
Peter Boyle 7f04b85368 Bringing expression templates for faster vector loops 2015-05-10 15:22:31 +01:00
Peter Boyle a115f3b086 ET ready benchmark with bytes counted assuming loop interchange 2015-05-10 15:18:04 +01:00
Peter Boyle 27c2d13968 Updated todo list 2015-05-10 15:13:50 +01:00
Peter Boyle 5415180676 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 cb4b82b09f streaming store cases 2015-05-05 18:14:09 +01:00
Peter Boyle cd990ba13d Streaming store option 2015-05-05 18:13:06 +01:00
Peter Boyle 249165d1b2 Added streaming stores 2015-05-05 18:09:28 +01:00
Peter Boyle b720222d98 Updated bandwidth test 2015-05-05 18:08:53 +01:00
Peter Boyle 0e8415de1b Added a makefile 2015-05-05 17:56:42 +01:00
Peter Boyle 2b46ad38e2 Back to vector for now; cost of init loop is clear in the a*x + y
loop in memory benchmark and must move to better container class.
2015-05-03 09:48:13 +01:00
Peter Boyle 9d93d1e6d4 Comms and memory benchmarks added 2015-05-03 09:44:47 +01:00
Peter Boyle 253362f978 Added a comms benchmark 2015-05-02 23:51:43 +01:00
Peter Boyle ea52562527 Added a comms benchmark 2015-05-02 23:42:30 +01:00