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
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
43e71ff28c
CML parse
2015-05-11 12:56:27 +01:00
paboyle
379943abf5
Command line args and a general clean up
2015-05-11 12:43:10 +01:00
Peter Boyle
55ccb8ccf4
Wilson perf improvements with Gauge prefetching
2015-05-06 06:37:21 +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
bf60764e4b
Updated bandwidth test
2015-05-05 18:08:53 +01:00
Peter Boyle
890b13dd5b
Added a makefile
2015-05-05 17:56:42 +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
Peter Boyle
99a1ff423d
Added a comms benchmark
2015-05-02 23:51:43 +01:00
Peter Boyle
f663be2a6c
Added a comms benchmark
2015-05-02 23:42:30 +01:00
Peter Boyle
4a1d4f1b3c
Starting a benchmarking sub dir
2015-05-02 17:52:36 +01:00
Peter Boyle
31fd146cc0
Improving the byte swap support for portability
2015-05-01 10:57:33 +01:00
Peter Boyle
c770f96be7
Merge branch 'master' of https://github.com/paboyle/Grid
2015-04-30 16:40:13 +01:00
Peter Boyle
a98c01c86a
Integrated Lebesgue code and been playing with alternate implementations of the wilson dop without
...
any particular success in increasing the performance.
2015-04-30 16:39:06 +01:00
Peter Boyle
d5b1bfb4bb
Merge pull request #1 from mspraggs/patch-1
...
Added <map> include to GridNerscIO.h
2015-04-30 09:46:48 +01:00
Peter Boyle
b7090ebba4
Benchmark wilson dhop now; 14.6GF on one core, not as fast as SU(3)xSU(3) [23GF] but still not too shabby.
...
Disassembling output shows ugly sequences in the permute sector. Could comparatively benchmark with and without
the if-else structure to see how much I'm losing.
Drops to 9GF as it falls out of cache. Moving to Lebesgue ordering should help there. Substantive progress.
2015-04-29 06:50:18 +01:00
Peter Boyle
c72db6c6f6
Fixed the stencil sector and Wilson now agrees between stencil based implementation
...
and the cshift based implementation. Managed to reduce the volume of code in this
sector a little, but consolidation would be good, perhaps taking common
logic out into simple helper functions
2015-04-29 06:23:56 +01:00
Peter Boyle
25d523c0f4
Shaken out stencil to the point where I think wilson dslash is correct.
...
Need to audit code carefully, consolidate between stencil and cshift,
and then benchmark and optimise.
2015-04-28 08:11:59 +01:00
Peter Boyle
f159495a9d
Reworking CSHIFT and Stencil. Implementing Wilson and discovered rework is required
2015-04-27 13:45:07 +01:00
Peter Boyle
94f728bee4
Big updates with progress towards wilson matrix
2015-04-26 15:51:09 +01:00
Peter Boyle
51f0da7b93
Starting the implementation of wilson; incomplete and committing non-functional code which
...
is not yet included from elsewhere or linked to the build system.
2015-04-25 14:33:02 +01:00
Peter Boyle
9dacdc947d
Update to TODO list
2015-04-25 13:04:26 +01:00
Peter Boyle
c5fa18eb20
Added two spinor functionality required to support the Wilson hopping term.
2015-04-25 12:54:06 +01:00
Peter Boyle
8b4073d84c
Dirac done ; remove from TODO
2015-04-24 22:56:37 +01:00
Peter Boyle
9ec3529864
Improved the gamma quite a bit.
...
Serial rng's which are set on node zero and broadcaste
2015-04-24 20:21:40 +01:00
Peter Boyle
42eac283e2
static names and enum list
2015-04-24 19:12:14 +01:00
Peter Boyle
38598190c3
Vectors now too and right multiple of matrix with gamma
2015-04-24 19:08:29 +01:00
Peter Boyle
2e275e1e65
Removed summation
2015-04-24 18:42:44 +01:00
Peter Boyle
80463ecaea
Cleared the code out from Grid_summation to lattice/Grid_lattice_transfer.h
2015-04-24 18:41:34 +01:00
Peter Boyle
128ad0999f
Moved code from summation into transfer and reduction
2015-04-24 18:40:44 +01:00
Peter Boyle
d707c4e0a3
First implementation of Dirac matrices as a Gamma class.
2015-04-24 18:20:03 +01:00
Peter Boyle
b9939e3974
Reorganised the TODO. Really getting somewhere
2015-04-23 20:42:30 +01:00
Peter Boyle
3083d2e908
Rename Grid_QCD
2015-04-23 20:42:09 +01:00
Peter Boyle
898f64cdd7
move
2015-04-23 20:41:22 +01:00
Peter Boyle
52a6ba9767
Slice summation working. May move this into lattice/Grid_lattice_reduction however
2015-04-23 15:13:00 +01:00
Peter Boyle
4d2198ea56
Begginings of slice summation and subblocking
2015-04-23 11:04:59 +01:00
Peter Boyle
7007d6a176
Consolidate index to coor in a single routine
2015-04-23 11:04:19 +01:00
Peter Boyle
a37a9789c9
Snippets from Guido to optimise Reduce
2015-04-23 08:31:40 +01:00
Peter Boyle
5c8858f31b
Better description of Intel's many ISA targets
2015-04-23 08:02:51 +01:00
Peter Boyle
47292de769
Fixing endian on linux I hope
2015-04-23 07:51:15 +01:00
Peter Boyle
b32c14b433
Got the NERSC IO working and fixed a bug in cshift.
2015-04-22 22:46:48 +01:00
Peter Boyle
42f167ea37
Rework of RNG to use C++11 random. Should work correctly maintaining parallel RNG across
...
a machine. If a "fixedSeed" is used, randoms should be reproducible across different machine
decomposition since the generators are physically indexed and assigned in lexico ordering.
2015-04-19 14:55:58 +01:00
Peter Boyle
f6ab726cef
Update to task list
2015-04-19 14:55:16 +01:00
Peter Boyle
5483ed641e
Split all OMP directives into lattice subdir for easy maintainance of
...
parallelism and future OMP 4.0 offload.
2015-04-18 22:17:01 +01:00
Peter Boyle
d929f88421
Update
2015-04-18 22:16:31 +01:00
Peter Boyle
6bd11d920a
Finishing the reorg
2015-04-18 21:24:10 +01:00
Peter Boyle
8ddfa7e6b0
Reorganisation
2015-04-18 21:23:32 +01:00
Peter Boyle
e5a25dfcb1
Build reorg with which I am a bit happier
2015-04-18 21:22:50 +01:00
Peter Boyle
c94b7cc43c
Clean up
2015-04-18 20:52:40 +01:00
Peter Boyle
25a8266638
More files, shorter each.
2015-04-18 20:45:00 +01:00