1
0
mirror of https://github.com/paboyle/Grid.git synced 2024-09-20 09:15:38 +01:00
Commit Graph

98 Commits

Author SHA1 Message Date
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
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
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
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
Peter Boyle
22d384b07d Adding a better controlled threading class, preparing to
force in deterministic reduction.
2015-05-11 18:59:03 +01:00
Peter Boyle
f5dcca7b1b Got command line args working 2015-05-11 14:36:48 +01:00
paboyle
379943abf5 Command line args and a general clean up 2015-05-11 12:43:10 +01:00
Peter Boyle
5555a852be Lots of changes required to compile for MIC under ICPC 2015-05-10 23:29:21 +01:00
Peter Boyle
48b9692845 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
b802abc83f Expression template hack 2015-05-10 15:35:30 +01:00
Peter Boyle
14591c72d6 Expression template engin 2015-05-10 15:34:20 +01:00
Peter Boyle
02ae26d091 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
2ffd941d67 Assertion should never hit, but did due to a bug 2015-05-10 15:24:37 +01:00
Peter Boyle
ca554f661b 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
29be76f958 Fixing breakage in the Comms non compile 2015-05-10 15:23:09 +01:00
Peter Boyle
e3acb36de6 Bringing expression templates for faster vector loops 2015-05-10 15:22:31 +01:00
Peter Boyle
55ccb8ccf4 Wilson perf improvements with Gauge prefetching 2015-05-06 06:37:21 +01:00
Peter Boyle
35d949cc17 Cleaned up for Linux 2015-05-05 22:09:22 +01:00
Peter Boyle
b9d16a7191 streaming store cases 2015-05-05 18:14:09 +01:00
Peter Boyle
07d57b6d55 Streaming store option 2015-05-05 18:13:06 +01:00
Peter Boyle
5ebc7a1756 Added streaming stores 2015-05-05 18:09:28 +01:00
Peter Boyle
aeda7b923d 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
193860dbc8 Comms and memory benchmarks added 2015-05-03 09:44:47 +01:00