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
Peter Boyle
6a39089a43
Starting a benchmarking sub dir
2015-05-02 17:52:36 +01:00
Peter Boyle
bdf18941a2
Improving the byte swap support for portability
2015-05-01 10:57:33 +01:00
Peter Boyle
d904e2b9ac
Merge branch 'master' of https://github.com/paboyle/Grid
2015-04-30 16:40:13 +01:00
Peter Boyle
c0ead94791
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
7ac997bd58
Merge pull request #1 from mspraggs/patch-1
...
Added <map> include to GridNerscIO.h
2015-04-30 09:46:48 +01:00
Peter Boyle
d8ffa09e3b
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
dcc23faa4a
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
b0485894b3
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
0b7d389258
Reworking CSHIFT and Stencil. Implementing Wilson and discovered rework is required
2015-04-27 13:45:07 +01:00
Peter Boyle
35cfef2129
Big updates with progress towards wilson matrix
2015-04-26 15:51:09 +01:00
Peter Boyle
c678f2d255
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
d5fd34b6e8
Update to TODO list
2015-04-25 13:04:26 +01:00
Peter Boyle
2d8cf9e456
Added two spinor functionality required to support the Wilson hopping term.
2015-04-25 12:54:06 +01:00
Peter Boyle
dc970c6442
Dirac done ; remove from TODO
2015-04-24 22:56:37 +01:00
Peter Boyle
fc32450360
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